Rainbowduino main board

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.

There are 3 variable resistance for each color channel , try to adjust the resisitance to change the urrent for each color.

yea i tried messing with those and got no result. I changed the red to the minimum and the green and blue to what felt like the max. and checked with a multimeter to make sure it was changing, and there seemed to be no effect.

Donot use the UartSB to supply power. Use the power sourse external . May be that you problem will fix.

And turn the resistance all to bottom by clockwise.

I just got my Rainbowduino and I love the hardware. Electronics can be art indeed!

Would it be possible to get a schematic for the circuit? I can just about figure out the pinout from the PCB and the sample code, but it would be nice to have the schematic for reference.

Hi Atomriot,
maybe you already solved this problem?
if not, I think the problem is related to the power feeding the Rainbowduino:
when the power is not enough, like if you power the board just from the UartUsb,
only the red LED will light, while the green and blue stay almost dark.
Try using a transformer capable of at least 500mA (better 1A), at 6V to keep the baby cool and chilled;
sometimes I used 12V but after a while the matrix got quite hot!

Hope this helps,
all the best,
kk

kkkk, it was power, i have since switched to a 12v 1a source and power both my rainbowduinos old and new together inline.