mtXControl - a Rainbowduino Editor By Tobi

Hi Tobi,

Thanks for taking the time to answer my questions. Please feel free to use my text on your site. Hopefully someone will find it useful.

I may try to do a proper screencast this weekend.

Thanks again for the app and the guides.

P.S. You going to show off all your Rainbowduinos that you won any time soon?

cool, thanks, i just updated the documentation…

hehe, sure :wink: - but they havn’t arrived yet - they are still one the way…

From what I gather, download the “firmware” zip… Drop raindbowduino into the libraries folder…

Create a directory in your Arduino sketches directory (windows it’s documents\arduino) Something like RainbowduinoMXControl. Rename firmware.pde to RainbowduinoMXControl.pde… Then fire up Arduino 17… Sketches > RainbowduinoMXControl … Upload that

He’s hardcoded the serial port (?!) so you need to download the mxcontrol software to your desktop. Throw all the files in a directory called “mtXcontrol”. Download and unzip processing somewhere and upload up mtXcontrol.pde within processing.

Click on the tab named Arduino and look for the lines

Arduino(PApplet app) {
try {
port = new Serial(app, Serial.list()[0], BAUD_RATE);
}
catch(Exception e) {
port = null;
}
standalone = true;
}

Change serial.list()[0] to what ever com port your using… on my machine it was “COM7” (in quotes). On 'nix it may be something like /dev/usb0

At the author of this project.

is there any chance you could write a simple Arduino to Raindbowduino demo on how your “protocol” works. I’m trying to decipher your code but there’s no comments and I’m not sure how your client and server code mesh up.

Cheers, I’d appreciate it :slight_smile:

Hey Miles

I’ve just updated the SOURCE (not the binaries yet) to have an autodetection for the Rainbowduino port (only tested on Mac OS X yet) and Bitmap save and loading support. I cleaned up the code a bit and prepared quite a lot for more color support in futur. So check it out and stay tuned!

A screen cast is comming as well, hoepfully soon…

Cheers Tobi

Happy new Year to all of you!
Good news right from the beginning: I’ve just pushed a new version of mtXcontrol!

On big thing is support for Novation Launchpad, but maybe way more interesting bit for you is, I’ve move the complete rainbwoduino communication into a separate library which can include into your Processing programs easily. Check:
http://rngtng.github.com/rainbowduino
It now follows a proper API (likely to change) with extended functionality, including handshake and ok/error response Codes. Now, you updating the Buffer, loading/saving from EEPROM, setting the brightness or pinging the device works like charm!

As of that mtXcontrol is now way more stable, autodetects your Rainbowduino, im/exports BMP files, improved color chooser and many more. Download the latets version here:

http://github.com/rngtng/mtXcontrol/downloads

Pls. updated your Rainbowduion firmware (included with the binaries) as well!
Looking forward to your feedback and suggestion, enjoy 2010!

Cheers Tobi

Ok long time no hear as I was quite busy lately. But I managed to drive my rainbowduino and mtXcontrol development forward supporting multiple devices. Not yet fully finished, but good for beta test. Get a (quite nerdy) sneak preview here:

vimeo.com/10377543

I focused to get quick and easy. Some features:

  • one for all -> master & all slave run on same firmware
  • no configuration -> auto detection of master & slave + I2C address selection
  • nice protocol for easy communications with devices. I’ll release a processing (java) library, which should be easy to port to other languages
  • Master/slave communication is kept generic, so you can use this for other project with multiple Arduinos as well

Wanna beta test? Grap the sources here and start with examples:
github.com/rngtng/rainbowduino/tree/master_slave

Stay tuned! Tobi

I have a question…

g. Close the Arduino IDE. Load the latest Processing IDE (although similar in appearance, they are not the same). Remember to leave everything connected as displayed in the blog photo.
h. Load the mtXControl application and compile and run it. The display should go blank.

What exactly do I have to load and run on Processing ?

h. Load the mtXControl application and compile and run it. <- Is this mtXcontrol.exe file ?

I currently have the LED Matrix on White, it doesn’t go blank. I get the following message on mtXControl: “No output device found, running on standalone mode”. What to do ?
Thanks in adv.

the current mtXControl just can communication with COM port 1, please set your USB2Uart to COM Port 1

I need help. I cant make it work, windows or mac. Im stuck at the all white LEDs pattern. Could anyone make a video or screen caps of the whole process ? Im clueless. I ran mtxcontrol on mac and nothing happens, only the icon shows up. I tried running the latest processing ide while running mtxcontrol, no luck. Do I have to run anything on processing before running mtxcontrol ? thank you in advance.

I can’t get the mtXcontrol to work with the Rainbowduino through my UartSB v2.2. I got the firmware upload to work, but mtXcontrol always says “Output device not found, running in standalone mode.” I started with my UartSB set to COM8 (default), then I tried COM1. The tutorials I’ve seen say to run something in Processing, but I can’t find that. I’m using the mtXcontrol.exe file instead, and it doesn’t work.
Anyone willing to help?

mike41325 and I are experiencing the same issue. We must be missing something, I don’t know what should be running on processing when mtxcontrol is running… or if there’s any… any help much appreciated.

Hi there,

The new version of mxtController and conresponding firmware run on rainbowduino may not work, so you may try this(I’v tested ok):

  1. Download the mtXcontrol_windows.zip and Rainbow_mtX.zip here:http://code.google.com/p/rainbowduino/downloads/list

  2. Connect your rainbowduino in proper way to your computer that you can program it throgh COM.(Remember to change the port to use COM1)

  3. Unzip Rainbow_mtX.zip to your arduino code directory (no need in the arduino library), open Rainbow_mtX.pde by arduino and program it to your rainbowduino.(If it compiles failed, there may be another rainbowduino class in your arduino library, so back up and remove it).
    After programmed, the rainbow Matrix will be all in white.

4.Unzip mtXcontrol_windows.zip and run mtXcontrol.exe.
If ther’s error reported, like “not found javaw.exe”, then you need to add the java path to your environment variable(On my computer is: D:\Program Files\arduino-0018\java\bin ). Am I understood?
If there’s no error reported, just enjoy controlling your rainbow!

May it helps!

All the best,

-Icing

I got it to work, but certain actions (like loading from the matrix) will freeze the program and I have to force-quit the window. Anyone have a solution?

Hi mike,

Which version of mtXcontrol and firmware are you using? I’m failed on the newest one.

I used the most recent version that was posted right before my comment today.

Got it working for the first time today ! It’s awesome ! Had some problems with the COM port and app is running a bit slow but it works great ! Good work!

I have 1 more question: how do I hook up a second rainbowduino so I can write whole words ? I have 2 rainbowduinos connected but can only control 1, the other one is still running another sketch. Do I have to upload the new firmware to it individually (unplug all, upload firmware, restart mtxcontrol) ?

Hi xDGx,

Glad to hear you got it work! :smiley:

However I think this version may not support the function you need as it can only control one rainbowduino. :wink:

I’m not sure if the new version support the cascading. And I’ll do some test.

If there’s any info you get, remember to tell me! :slight_smile:

All the best,

-Icing

I can’t seem to get off the starting blocks with this one!

I can’t successfully upload any sketches whilst the Rainbowduino is wired up to the Arduino, even the ‘blank’ sketch. If it is wired up (all correctly as well, I’ve checked and double checked) I get the error message:

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xff
avrdude: failed to write to flash memory, rc=-4

If I unplug the rainbowduino, the sketch loads up perfectly. So I’m not too sure how to get mTxControl to work if I cant get the firmware sketch to upload and run, when I can’t have the rainbowduino attached.

I’m sure I must be doing something wrong, being and Arduino noob! So any help would be greatly appreciated.

By the way, I’m on XP, using Arduino 0018 and a Duemilanove 328.

Thanks,
Ali

I managed to get the Rainbowduino to run the Plasma sketch… which now reveals a fault with one of the red diodes on 8x8 RGB matrix! I’d send it back, but it’s probably too late now. I ordered the matrix and the Rainbowduino from two separate companies at the same time. The matrix arrived three days later, the Rainbowduino never showed, it was now out of stock (which it wasn’t when I ordered it) and wouldn’t be back in for over a month! 6 weeks later I got in touch with the company asking where it was, and I was told they had no record of an order! Money was taken from my bank account and the order even showed on an ‘Order History’ window on their website, but I was continually told they had no record of an order. By sheer coincidence, when I got home that same day, there in my letterbox was the Rainbowduino, at least the despatch guy knew I had an order!!

Anyway, I’m getting way off topic. I have finally been able to upload to my v2.0 Rainbowduino through my Deumilanove, but only after removing the 328 from Arduino. If the chip is in, I get this error:

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xff
avrdude: failed to write to flash memory, rc=-4

So, I can upload firmware.pde to the Rainbowduino with my arduino chip removed, but that’s about as far as I get. I’ve read through all the other steps, I’m lost at a few of them, like what .pde should I be running on the Arduino when I start up mTxControl? But until I can upload sketches to the Arduino when the Rainbowduino is connected, I think I’m pretty well stuck.

Thanks,
Ali