RainbowDuino here it is! (and how to program it)

Yay – I finally got my RainbowDuino. Unluckily I did sth wrong with the external power connection (JST 2 pin jack) and smashed a capacitor. Maybe the polarity was wrong or it couldn’t stand the 12 volts? But luckily no damage to the main system so it still works using the terminal connector (right through the 5volts of the Arduino). *phew*
The first real basic problem I ran into was how to program the Rainbowduino as there’s no USB connector and I don’t have an UART interface.
But well, nothing simpler than that: Just connect your Arduino’s Tx,Rx,GND,Reset and Vcc ports with those of the Rainbowduino, choose the right controller type in your IDE and program it as usual – works perfect for me!
Check out my Rainbowduino Editor mtXcontrol here – it’s an easy way to draw shapes on your rainbowduino!
Btw. DTR on Rainbowduino is Reset on Arduino
UPDATE:
Sorry I forgot to mention, this trick does NOT work if your host arduino is a ATmega168 – you need an ATmega328 to pass serial communication through. Before that, make sure you upload this blank sketch to your host Arduino first:
/* blank sketch to upload on Arduino */
void setup()
{
}
void loop()
{
}
And, as multiple times requested, a picture of my complete setup:

Make sure you’ve selected the switch right. It has to point to the same side as the green Terminal connectors are. If you power rainbowduino through the white JST jack, flip it!
hi,
Am I supposed to use the reset that’s next to the 5v and ground?
Ehm yes! And make sure to have a blank sketch uploaded on the (master) arduino…
hello, i see on your youtube page some editor program for the rainbowduino… can you share it with an another curious (and newbie) rainbowduino user ?
thanks
yes I’ll post it soon here! It’s not yet fully finished and ready to publish, but I’m working hard on it! For sure it’ll be OS and free for download, more on this soon – so stay tuned!
Alright, it’s published, please see http://www.rngtng.com/mtxcontrol/ for more!
Hi I loaded both Firmware and Processing code.
Uploading of Firmware seems fine -> Rainbowduino started to show random patterns
For connection with processing I changed the serial port (as mine shows up second in the list). But the rainbowduino seems to not do anything when recieving Mxt Controls.
Any ideas?
hm did you use the latest one? Please try 1.02, you’ll find it here: http://github.com/rngtng/mtXcontrol/downloads
I’m a noob, do you think one day you’ll put together a “how to for noobs” read me file on how to get it up and running?
btw way awesome job and the youtube clip with the accelerometer looks pretty cool!
Hi,
When I attach my rainbowduino to my arduino mega with only the 5v and gnd, I only see red LEDs on my matrix. When I attach the power supply to the rainbowduino, I see the sample sketch. I tried flipping the switch on there but I don’t know what I’m doing wrong.
Hi Tobi,
ich hänge leider schon beim Programmieren des Rainbowduinos mit Deiner Firmware über einen Arduino. Ich denke, ich habe die beiden korrekt miteinander verknüpft (5 Kabel), in meiner IDE habe ich den Duemilanove mit atmega168 aus gewählt – aber ich bekomme alle Nase lang nur dusellige Fehlermeldungen (protocol error, expect=0×14, resp=0×51).
Hast Du auf Anhieb eine Idee?
Hey mistake, i just updated the blog post, I think I forgot to mention to upload a blank sketch onto the Arduino first.
And make sure that DTR on Rainbowduino is connected to Reset on Arduino. Does this work?
Ok, I’ll try it in english

I already found the part with the blank sketch somewhere on the net – but I’m afraid the blank sketch I chose was just a little bit blanker than the one you showed above
I hope this was the simple reason for failing, as the DTR and the Reset-Line were connected.
I’m @work right now – I’ll try it in a few hours.
Thanks
Update. Just one step ahead.
I uploaded the blank sketch. success.
I uploaded your firmware. success.
At least I guess success, because:
I removed VCC, GND and Reset, instead I used an external 9v battery. I started mtxcontrol, the rx & tx-leds on the arduino are blinking – but nothing’s happening on the rainbowduino.
I’m going to try again after 4:30 pm…
cool congrats! Well by default mtXcontrol runs in Free mode, so Rainbowduino doesn’t show the frames at all, until you click the 2nd top right Button saying ‘MATRIX: Free’ or hit alt+ENTER. This puts Rainbowduino in Slave mode and displays 1:1 what you’re doing with mtXcontrol. Maybe I should make this the default option..
ah yes, and english please as we have a lot of international readers…
and nice Blog btw.
Thank you, particularly for your help and your compliment
The last thing I tried in my break was changing the free/slave-mode – the blinking rx/tx started on the arduino, nothing was blinking on the rainbowduino. But as I mentioned already: just about 3 hours and I’ll try on
Still no luck… I’ve checked that uploading the firmware to the rainbowduino now works fine by uploading the original data from seeedstudio again – all leds lit up. After that I uploaded your firmware again, started the editor – the tx/rx-leds of the arduino reacted (after setting the slave mode, of course), but not the rainbowduino.
Any idea now?
@mistake: I’ve send you an email with detailed questions/tasks which may track the problem down..
Interesting. I discovered, that my leds weren’t as bright as they should be – and now I know why:
I used VCC and GND right next to TX and RX on the rainbowduino… Now that I’ve changed to the green terminal connector and switched the switch, it’s shining as bright as before when I used an 9V battery on the JST jack…
Thank you for you’re great getting you’re great piece of software running
I’m getting “programmer is not responding” in the arduino IDE when I try to upload. Which Board did you choose under the Board menu?
I got it to work by taking the atmega out of my arduino!
When I upload the firmware using the Arduino IDE the matrix goes all white. Is that what it’s supposed to do? Do I need to run something in Processing also? Or just upload the firmware and rum mtxcontrol?
Thanks!
Which .pde files to I upload to rainbowduino? What are all of the rest of them for? Do I just upload the firmware and then launch mtxcontrol application?
@Dave: well to upload the sketch on the Arduino choose ATmega 328 (first item from the IDE Board menu), for upload on Rainbowduino it’s ATmega 168
@Tony: Start the Processing IDE and load the mtXcontrol.pde and run it. (Don’t get confused, this will load all other files as well.) For the firmware, open Arduino IDE, load firmware.pde and upload it to your rainbowduino. By default, the firmware loads it’s data from EEPROM. If you’ve never used it before it’s likely that each byte has 255 as value which would result in a white screen – seems allright!
Thanks… What about the mtxcontrol standalone application? Where do I use that?
hehe well actually the standalone app should replace the need of using processing IDE and loading the mtXcontrol.pde file, but users reported the standalone doesn’t work for some reasons. Maybe give it a try and tell me if it works for you..
I got it working. When you open the .pde file with Processing it alerts you that you need to move it to it’s own folder. So you have to say continue, and then put all of the other files besides the firmware folder inside the new mtxcontrol folder. Then it started working just fine! Thanks!
Also how do you type letters and numbers like in the video?
Nevermind! I should have read that you h0ld down Ctrl
Hi,
I try to use your standalone application (.exe) but I wasn´t sucessfull.
Later I found another project in seeestudio (Raindrops) that uses your library
Rainbowduino.h. I upload it with success and I begin to understand the code (I don´t know
to much about C language.
After run my arduino connected to rainbowduino it begin to work ok (I´dont have
the accelometer module, but for this porpose I think it is not necessary).
But there is a problem the LEDs are flickerin, I don´t have a stable image.
Î know that in the game the lines are scrooling, but even after changing the code a little for
displaing some LED in one line I have the same behabiour.
Is this normal ??
Hi tobi,
Works fine with 1.02. Great Job!
Thanks
Ok, this program looks fab! I have all the hardware and the mtXcontrol downloaded… but I can’t find the firmware anywhere. Do I need to upload something to the rainbowduino, or to the arduino? If so could you tell me where I can get them files.
Hoping to build something on Friday with this – looks good!
Thanks
Ross
hey Ross, you have to get the firmware from source, find it here: http://github.com/rngtng/mtXcontrol/tree/master/firmware/
Very nice. Thanks!
Hi,
Is there a way to control the brightness of the leds? They are to bright for my application.
Hey Rene, unfortunately, by now, there’s nothing like this… but it’s on my todo list, stay tuned
Hello, thank you for posting this.
It was very helpful for me, I programmed the rainbowduino with the test plasma sketch “through” a arduino mega. the only thing that confused me was that
After loading the blank sketch with the IDE set to “mega” and connecting the rainbowduino,
I had to switch the IDE to an “diecimila duemilanove or nano atmega168″ arduino to program the rainbow through the arduino mega serial.
If you are using an arduino other than diecimila duemilanove or nano you will probably have to change it or you will get a avrdude serial error.
once that happens you cant reprogram the arduino either unless you press the reset while reconnecting the usb/power
hm I havn’t tried the Arduino mega yet. But as far I’ve heard there’re no differences in way how to program the controller..
Hi tobi
I can’t get the mtxcontrol to work, I’ve connected my seeduino mega to the rainbowduino, loaded the blank code and then loaded the firmware code. When I launch the mtxcontrol the program doesn’t work, nothing displays, no grid, no buttons, nothing. Have you changed the program, I noticed you recently did a upgrade
Thanks
what OS are you using? please get the source code from github and run mtXcontrol within the processing IDE. What errors do you get?
I’m running 10.5.8 when I run mtxcontrol nothing comes up. I’ll email a link for a short video tonight.
Thanks T
This is the link I used to download the zip file for my Mac. Do I need any other files?
T
Here’s a link to my short video
http://screencast.com/t/YWZjYjlh
Thanks T
Hi!
I have problems loading the firmware to my Rainbowduino. I uploaded the blank sketch to my Duemilanove (168) as usual.
But when I then try to upload the firmware I get a “protocol error” just like someone mentioned above. I checked the connections and re-uploaded the empty sketch. It never works. At some point the default rainbow-pattern stopped working so I guess something was uploaded. Can the Rainbowduino get corrupt?
I have the board “Arduino Diecimila, Duemilanove, or Nano w/ ATmega168″ selected all the time.
Thanks!
/Ola
i finaly receive the rainbow ard. i am new to this i followed you instructions but anly got the full white lights the Mtx controler does not reconise the board it gives me this ( no output device found running in standalone mode) please can somewon tell me what am i doing wrong
Hey Ola! Apparently this uploading trick doesn’t work if your host arduino is a ATmega168 as well, you need an ATmega328 as ‘host’ to pass serial communication through…
i looks like onley a rocket sintinces can get these things to work my advice to aneyon dont buy this its garbage
i am sorer about that coment but after trying every thing it stil dosent work yes ihave a ATMega328 just like the one in your picture
hey levi, no worries rocket science is fun
what mtXcontrol Version are you using, which OS (mac, win, linux – version number)? if rainbwoduino turned white, connection should be all fine..
Well I got mine tuesday and had it running in an evening.
If you can take the 168 / 328 out then that seems to help.
It works really well but wish that you could send it a longer stream from processing.
I want to set up say 8 in a row and use it as a scrolling message display.
My idea is to send 1 row at a time from processing to the first rainbowduino via serial RX and as it reaches row 8, shunt that row using the serial TX to the the second and so on.
If I could just get to the bottom of how the source code works then I’b be half way there…
I’ve built an analog clock using 480 RGB led’s in 7 8*8 and 1 4*8 matrix’s and It would be really nice to scroll a message round the face.
If you release another version of the source code, Can you put a few more comments in to help us not so hardcore programers a chance???
Great work and the Rainbowduino wouldn’t be half the product without mtXcontrol…
hi thanks i am using windows vista 64 yes i do get the all white screne i dont understand the part about the processing yes i did down load the processer but do ihave to load the xtxcon. to the processor or to the original ard. prosser.