Rainbowduino main board

Powering up the rainbowduino off of a seeeduino 5v and ground, it all comes on, then after a while it is like it slows down and displays 1 row at a time.

here is some photos i took

turning it on with 5v from seeeduino

eventually this happens

just wanted to clarify with albert or esp or fan if the initial programming does this, or if its something in the hardware

just put a video of it in my set on flickr.

Does the power regulator on the seeeduino get hot ?

Or anything else ?

no, not that i can feel anyway.

i would immediately pull off the led matrix when it does it and feel but i cannot feel anything. and i have an IR thermometer but its only good for about 1 square inch resolution. it doesnt report anything hot, the section by the leds on the board are a little warmer but only a degree or two.

i will be able to play with it a little more tonight and maybe find out more.

Hey guys,

I’ve been briefly chatting to Atom about this. I’ve been playing around with the board and it seems to be physical great. I’m not suffering the same issue as atom.

I do have a few questions though: Do you guys have a pinout for the board. Based on the example sketch on the depot and the brief data sheet we can communicate through I2C.

1: Is the AtMega preprogrammed? Or do we need to program it?#
Through trial and error: I can say it comes preloaded with the Arduino bootloader and a stock copy of the RaindbowDuino sketch. The default copy is setup to communicate over I2C

2: Do you have a pin out? Trial and error isn’t working sadly, I’m not able to progress much further without a way to communicate with the board.

  • I have some information on programming the device using another Arduino. I’ll post the pinout for the male connector later.


After some fiddling about with a Freeduino to program the Rainbowduino I’ve managed to get a “I’m working” sketch up.

The I2C problem still illudes me however.

download.milesburton.com/Arduino … EO_009.mp4

Guys, Sorry for the late reply! you may find updated documents including manual and sample codes here: seeedstudio.com/depot/rainbo … p-371.html

Hey ESP no worries.

I’m sadly still struggling getting I2C working. I’ve tried the default sketches on my Seeeduino and RainbowDuino and they dont seem to be talking. The RainbowDuino, per the example Sketch, is on addr 10. I decided to explicitly state that within the sketch and no differce.

From what I can surmise the pin out goes like this:

[b]Female connector J1[b]
From the top down (ie going towards the power connector)
[7] VCC
[6] Unknown (I2C Data?)
[5] Unknown (Ground)
[4] VCC
[3] TXD (Serial Transmit, AKA Arduino Pin 1)
[2] RXD (Serial Recieve, AKA Arduino Pin 0)
[1] GND
[0] DTR (Rainbowduino reset)

If both connectors, male and female, are mirrors of each other.
[7] I2C Data (AKA Arduino Analog 1)
[6] I2C Clock (AKA Arduino Analog 0)
[5] Ground

Can you confirm?
Is it possible you could release the Serial version of the Rainbowduino sketch?
Do you have any thoughts as to why my Seeeduino and Raindbowduino arn’t talking?

After some experimentation I’ve developed a quick and dirty serial interface for the RainbowDuino. It’s all working!

milesburton.com/wiki/index.php?t … ng_Started

after reading through the guide, i tried hooking up the UartSB as shown and upload to the rainbowduino but i get this

avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

any ideas?

i dont have any arduino’s laying around that i can remove the chip from so I cant do it via the freeduino programming route.

Hey Atom,

I found the same problem with my Seeedunio. You need to stop the inbuilt chip interfering with the TTL, sadly I’m not sure of another way to do it without taking the chip out.

The rainbowduino guide suggests it’s possible though

ps: The UART version has been running for HOURS now without a problem

then check the following:
Is the correct Serial Port selected?
Is the correct driver installed?
Does the chip have the correct bootloader on it?

Make sure if the UartSB normal operation first, check if the ArduinoIDE can recognize it and assign it a COM. and make sure u hooking up them right.

yes, the uartsb is recognized and the proper com port is selected.
I can connect to the serial monitor in the arduino ide and send something and see the rx light on the uartsb light up. as for hooking it up right, i have it hooked up the same that is illustrated in the rainboduino guide. I see the power light come on on the rainbowduino board.

how would i go about trying to re-write the bootloader? and is it just a normal atmega168 bootloader that comes with the ide, or is it different when its shipped?

just the atmega168 bootloader as seeeduino’s , try to re-write the bootloader seems a good idea

well i had a breakthrough tonight. i used mega-isp on a seeeduino and got the rainbowduino flashing again

after some confusion with fuses and lock bits, the internets and datasheet prevailed on detailing the solution. (avrdude commands below)


i still have the issue of the one bar thing. i have tried the newest version and the 1.1 version of the code. I still have only one bar randomly coming up. i have compiled under ide 0015 and 0016 and its the same

the lit up row seems to change every time i hit reset. and when i first plugged things in, it was doing a slow strobe of all the led’s in the default rainbowduino fashion

I still cannot put the uartsb on it and upload the sketch through the ide, i had to grab winavr to do the uploading.

these are the commands i used, tell me if they look proper.

avrdude -c avrisp -p m168 -P com7 -b 19200 -B 5 -V -e -U lock:w:0x3F:m -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m -U efuse:w:0x00:m avrdude -c avrisp -p m168 -P com7 -b 19200 -B 1 -V -D -U flash:w:rainbowduino.hex:i avrdude -c avrisp -p m168 -P com7 -b 19200 -B 5 -V -U lock:w:0x0F:m

thats with the avrisp sketch on the seeeduino and hooked up to the isp port of the rainboduino (which the label is upside down on my green rainbowduino)

but does the one row issue seem like a hardware thing? i have tried both of the selectable power sources, and tried powering it through a seeeduino and a uartsb and get the same result. and tried both v1.1 and v2 of the default sketches. I am going to try and write another test sketch to see if i can get it to do anything else. any input on this would be great.

well, i tried the way that freezing talks about on the blog, and i get the same error as when the UartSB is attached.

on a side note, i touched up the solder on all the IC’s and the other components as well as the legs of where the LED matrix plugs in, and now it stays solid. it looks like it has a refresh rate that is just a few cycles faster than what the human eye can see, but they are all on none the less. no bars yet anyway.

now going to play with a new sketch to make it do something else. just to make sure its responding.

anyone else get

avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
when they upload to it?

Hi atomriot,
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

1.Please check if the UartSB is connect well.
2.Please check the RST LED on Rainbowduino is flashing when upgrade sketch.
3.If above 2 points are correct I think should rebootloder the atmega168.

Any problem welcome

yea, i am thinking that something else must be wrong with it. I can successfully overwrite the bootloader with a clean image provided by the arduino ide.

even after i do that though, it gives the same error. no matter if i try the UartSB way, or the way your blog post shows.

the only way i can get it to write to the rainbowduino is to compile it in the IDE then use avrdude commands to upload the sketch.

i am using an seeeduino with avr-isp on it though, so the limitation may be set by that. but thats only when writing the bootloader. that shouldnt have anything to do with how it writes the sketches does it?

did you guys image your arduino via isp programmer and avrdude? if so do you have the commands that you used?

well, i can use avr dude to write the default image to it, and control it with i2c connection

there is a video on flickr with some extra code on the seeedmaster file that adds some buttons for scroll speed of the text

now, im waiting on some stuff before buying another rainbowduino and led matrix to connect them!

Hey Atom, can you give us a rundown on how you “fixed it”… I never got I2C working. My version works great, but I’ve been busy with my RF library