Rainbowduino main board

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)

but…

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
Thanks
Albert

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

sure. i first put on the newest image from the product page. i put the Rainbow_CMD_V2_0 image onto the rainbowduino via mega-isp on a seeeduino.

then i uploaded the SeeedMaster to a seeeduino. I attached the I2C pins like below

seeeduino rainbowduino
analog 4 to the pin farthest from the power rails
analog 5 the next pin
ground the next pin
5v the next pin

so i have 4 pins left between the power rail and the already plugged in 4 pins.

after that, i just gave it all power and the seeedmaster already cycles through the some letters.

check out here
and here

for a closeup of the connection

the “fix” was for my rainbowduino not displaying the programming properly. it no longer just does random bars. i just did touch up solders on all the legs of the ICs and all the ends of the surface mount stuff, and also the logs the female headers are in. (so basically, everything soldered to the board, i just heated it up to make it flow again just to verify it has connection)

i still am unable to upload the firmware with UartSB or the method posted in the blog because i get the issue of mismatched type.
i can however edit the code i want on the rainbowduino, and try to upload it with the arduino ide, and it fails, but it gives me the compiled hex file that i can then upload with avrdude and my mega-isp seeeduino.

Ah good man. I’ll try the seeeduino approach. Taking my AtMega 328 out worries me.

Have you managed to get custom bits displayed mate? I was pondering writing a small game - Snake maybe? I’ve a few ideas but wouldn’t mind seeing code to see how it should be addressed.

-Miles

ps: Is it just me or do we not get mails from the forum anymore?

on the emails, yea i still get them. perhaps you have a junk filter that blocks it?

as for the images, as it looks now, it seems that everything on the rainbowduino as fas as custom bits, has to be progammed into an image map of r g b values. in the rainbowduino code, the data,c file, there is the variable named ‘Prefabnicatel’ which has the image maps in them.

you then call on the seeeduino

ShowImage(address, image, shift);

where image is the place in the Prefabnicatel array on the rainbowduino.

im not sure if the rainbowduino is currently able to accept custom coordinates to turn on or off via the seeeduino over i2c. i dont see it in the code, the only commands are ShowImage, ShowColor, and ShowChar so you would have to implement that portion yourself.

that could be something fun to work on though.

Hah, my current project is giving me enough headaches :stuck_out_tongue:

I may look into it later but I’d have to see how they developed the main code.

hi atomriot,

I am now in possession of 4, count 'em, 4 Rainbows, and most recently a UartSB (because I couldn’t get the ic2 working either). Of the 3 originals that I bought, one died almost immediately after it did that single bar randomness you describe on the one you got, another died after about an hour.

I just recieved a replacement for the 1st dead one when I bought the UartSB. They all, including the latest replacement (complete with a “QC/Passed” sticker), get the same avrdude error messages.

Have you (or anyone) heard of a fix yet? Do you know of another forum with a little more Rainbowduino traffic?

either this forum or the arduino one is the only 2 i have seen talk of rainbowduinos.

you could try going the mega-isp route if you have an arduino laying around. thats how i get mine programmed. and once i have that, i use avrdude manually. there is also an avrdude gui but in previous posts i put what commands i used to copy it over.

you have 4, but you are trying to program them individually? are you putting custom “images” on them? you could control them with the i2c method plugged into one and the use the address function in all the drawing methods, to control which one you are writing to.

the reason it wasnt working initially on mine was because of the speed that avrdude was trying to write to the chip. when i manually specify the speed, it works just fine. i dont have an actual isp programmer so i dont know if it was just the sketch i used (mega-isp) has it set to some value, or if the m168’s require a specific speed.

Hmmm…

Ok. In Arduino loader program, I had it set to my Arduino Duemilanove (Atmega328). Switched to the '168 and it loaded fine. No time to get any further right now.

nice, glad it started working for you

hey FreeZinG,
in your UartSB bootloader writing to the rainbowduino, what avrdude.conf are you using? i dont have diecimila as an option in the command

avrdude -c diecimila -P ft0 -p m168 -t -B 4800

i checked arduino avrdude.conf from 0016 and the winavr avrdude.conf

you can download the conf file here: geocities.jp/arduino_diecimi … ex_en.html

And I use the conf file was modify by ourself for fitting the UartSB.

AVRDUDE’s “-C” command line option specifies the location of the configuration file. The “-c” option names the programmer configuration which must match one of the entry’s “id” parameter.And the conf that we used is ( programmer id=“diecimila”; ……) ,so (-c diecimila ). if you modify the ID than the conmand parameter need to change too.

just got my v1.11 rainbowduino in the mail today. plugged it in and the green and blue are very dim and hard to see. you cannot even tell they are on unless you turn out the lights in the room.

I tried the LED Array from my other rainbowduino and it displays the same way. the red is very bright but the blue and green are very dim. I have looked into the variable resistors on the board and they don’t seem to address the issue because changing them doesn’t seem to do anything for the green or blue.

any ideas?

i have tried hooking it up through a seeeduino and through the UartSB 2.1 but thats it. i have not tried an external power source greater than 5v. i am digging around to see if i have one but thought i would post to get some input.