Simplest way to hook up Rainbowduios to an Arduino

Hello everyone.

I’ve seen Mr. Nick’s Videos of the awesome 16x16 RGB Matrix on youtube and wanted to build my own. I’ve started with Arduino and ethernet shield programming and had no problems to get into the software side. On the hardware side it’s a totally different story to me. Since I unboxed first Matrix and Rainbowduino a few hours ago there are only question marks where my head used to be.

First of all I set the Matrix on top of the Rainbbowduino and connected a 5V power supply. Since I lack the connector for the white socket I used the green ones instead. The red LED on the Rainbowduino lights up, but I don’t get a rainbow pattern, LEDs on the Matrix don’t light up at all. I’ve turned the Matrix the other way around, still nothing. Is that normal when powered via the green socket, or is there something wrong with my Rainbowduino? I don’t think I had any opportunity to fry the board, is it just not programmed?

In case I get this thing to work at all, I’ve got another question: What is the easiest way to hook up a Rainbowduino to control it via a Arduino? I understand, that theres a ATMEGA on the Rainbowduino, but since I want to make use of the ehternet shield in my project all I want the Rainbowduino to do is to take Raw data and print it on the matrix. Is the serial interface the right solution to this, and is that possible without reprogramming the Arduino? For the serial, could someone point me to a wiring diagram, i just don’t know what to connect where and how. Also, is there at least a small sample sketch to do so?

for the power troubles, did you see the power selection switch. you have to flip it towards the green connectors to use that as the power lane.

as for communications, check out the i2c section of the rainbowduino manual. also there are some topics around here with people having trouble, and with other people doing cool things with the rainbowduino. other than that, keeps us posted on your innovation!

Forgot to mention that i put the switch in that position. The red LED lights up, but the matrix doesn’t. Whats wrong with my Rainbowduino?

Do you try reprograming the Rainbow again ? May be there is no code in it although we program all of them to test before shiping.

And if hook up your Ranbowduino to Arduino by I2C or Uart are both possible, but if you use the Uart serial , then need to take them separate when programing .

I found this link helpful to figure out how to hook up the rainbow to the arduino.

first you have to load up a blank sketch on the arduino.
void setup(){

void loop(){

then to send a program to the rainbow send it through the “arduino NG or older w/ATmega168” board on the arduino IDE.

…not sure if this is what you were looking for but I thought the info would be suiting for the title of the thread :slight_smile:

Did you get this resolved? When I hook my rainbowduino to the power supply I see the full matrix. But when I hook it up to the 5v and gnd on my arduino mega, I only see the red led’s. Know what’s going on?

Okay, so my christmas holidays just began and i finally have the time to dig deeper into this all. I figured out how to power my rainbowduino through the JSP connector and, hey, finally the rainbowpattern lights up. Now that i know the board is okay, I also learned that the 5V line thats on the arduino doesn’t supply enough power through the pinouts, but my 5V power supply does.

Ten minutes later I’m back to head scratching and the question: What is the easiest way to send commands from my arduino host to the matrix? Is there any way to interface interface with it without having to upload anything to the rainbowduino? With the sketch thats provided with it, maybe? Id really like to get into that later, but this has been such a hassle so far, that I only just want to push some pixels for now. Pretty please?

maybe you’ve solved this problem already by now, but here’s the easiest solution I’ve come up with:

  • Re-program the rainbowduino with the default sketch ( , use the Rainbow_CMD_V2_0 sketch)

  • Attach Vin and GND on the arduino to the VCC and GND of either the JST header or screw terminals on the rainbowduino

  • Make sure the power select switch is set correctly for whichever power connector you used

  • Attach SDA and SCL on the arduino (analog pins 4 and 5) to the SDA and SCL pins on the rainbowduino

  • Power the arduino with a 9V DC power adaptor, and change the PWR_SEL jumper to EXT

  • Plug in the USB connector on the arduino and program it with the “SeeedMaster” sketch in the zipfile. This will write a bunch of different ASCII characters to the rainbowduino

  • Modify the SeeedMaster sketch to display what you want (try the ShowChar, ShowColor, and ShowImage functions)

  • You can chain up multiple rainbowduinos using this method, but you have to reprogram each one to have a different I2C address (look for this line in Rainbow_CMD_V2_0 - “Wire.begin(#)” ), and then send each command to the appropriate address

I think this is probably the easiest way to do it, since it powers the rainbowduino off the arduino’s input power (9V), and only requires 4 wires between the two. I’m currently making a simple digital clock out of 4 rainbowduinos and an arduino, so I’ll probably post a tutorial about that when I’m done if anyone’s interested…

you can probably skip the first step if you don’t want to reprogram it. I think the one I linked to is the one that’s on it by default.