hi! is it possible to declare a variable in the arduinoCode and recieve it through flash? i have tried the FlashConversation.fla, working fine but the code is to complex for me to clean up. could someone offer me the most simple piece of code that can recieve a number from arduino to flash, please!


I always use the 'Serial Server' created by Dan O'Sullivan.

Read the instructions, after installing, start the server with: java -jar ss6.jar SerialPort:COM1 Baud:9600 SocketPort:9001 Sub0ForChar:10 SerialDriver:Sun (maybe you have to change your serialport):

You can use the 'debug' checkbox to check if the 'serial server' receives any value. If it works you can start Flash and use this code:

function createSocket() {
      serialServer = new XMLSocket();
      trace("new xmsocket");
      serialServer.connect("", 9001);
      serialServer.onConnect = function(success) {
            trace("connected " + success);
      // when you close the serial port
      serialServer.onClose = function() {
      //receive some data from the arduino
      serialServer.onData = function(data) {
            trace("incoming = " + data);

// send data to the arduino
this.onMouseDown = function() {
      trace("Mouse Down");


does it work with , Serial Proxy? and what code do you fill your arduino with, simpeMessageSysyem?

regards xh|in

You can use this code to send data from Arduino to flash:

void setup() {

void loop() {
  Serial.println("Hello Flash, this is Arduino");


I tried to connect Arduino (0005) and Flash 8. But there are two strange things happening:

  • 1 -

When I read the Serial monitor in Arduino, there are only "0"s (zeros) when I press a pushbutton (connected to I/O Pin 5), but when I release this pushbutton, there are both, "0"s and "1"s (00011100000011111000111 and so on). Actually, there should be only "1"s, right?! Why does this happen?

Here's my Arduino-Code:

int ledPin = 13; // LED connected to digital pin 13 int inPin = 5; // pushbutton connected to digital pin 5 int val = 0; // variable to store the read value

void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(inPin, INPUT); // sets the digital pin 7 as input Serial.begin(9600); // opens serial port, sets data rate to 9600 bps }

void loop() { val = digitalRead(inPin); // read the input pin digitalWrite(ledPin, val); // sets the LED to the button's value

// Serial.print(val, DEC); // send the buttons's value to serial port

// say what you got: //Serial.print("I received: "); Serial.println(val, DEC);


  • 2 -

Another problem occurs in Flash. I'm using a proxy by D.Mellis, that works fine so far. Flash can hear Arduino and trace the received values. But, when I use an "if"-loop, it seems to be ignored. Here's my Actionscript-Code:


function createSocket() { serialServer = new XMLSocket(); trace("new xmlsocket");

serialServer.connect("", 5337);

serialServer.onConnect = function(success) { trace("connected " + success); };

// when you close the serial port serialServer.onClose = function() { trace("closed"); };

//receive some data from the arduino serialServer.onData = function(data) { trace("incoming = " + data);

// begin if-loop if (data == "0") { meinRechteck.start(); trace("VERTICAL"); } else { meinRechteck.stop(); trace("HORIZONTAL"); } } };


And this is, what is traced:

incoming = 0

HORIZONTAL incoming = 1


So, there is always "HORIZONTAL" traced, but i want "VERTICAL" if data == "0" !

Maybe someone can help me?! Any ideas? Thanks a lot!


1) Did you use a resistor as you can see in this tutorial?

2) I don't really know, but you could try this to find out and locate the problem:

trace("type = " + typeof(data)); trace("string length = " + data.length);

So the datatype should be a 'string' and the length should be '1' I

Hej ya!

So, I set up the whole thing like in the tutorial and now the serial output is ok! :) Thanks a lot, Eric!


I traced the lenght and type of 'data' in Flash 8:

data is a string (ok) and the length is 2 (not 1)!

Does anyone know how to solve this problem?

Thanx a lot for your support...


I think you only want the first character,
the second is probably a ‘space’.

The actionscript code for this is:


It will only show the first character.