Sunday, April 27, 2014

Review of Rainbowduino LED Driver Platform - Atmega328

Rainbowduino LED Driver Platform - Atmega328
Customer Ratings: 4 stars
Buy Now
This board makes it easy to control and drive 64 RGB LED lights, or 192 one-color lights, via Arduino programming or communications.

It contains electronics similar to an Arduino Duomilanove and driver electronics for 64 RGB LEDs (or 192 regular LEDs, etc). It uses surface-mounted components; it will not allow you to easily swap processors the way socketed Arduinos do.

NOTE: At time of writing this review, the Amazon picture shows a white PC board. The one I received is black, and labeled version 3.0b. On the Seeedstudio site, the show a black board and say it is version 3.0 (but is probably version 3.0b). I suspect the white one is an earlier version of the board.

SIMILARITIES TO ARDUINO

It uses the same Arduino development environment as Arduino: same programming language, etc. There is a library for RainbowDuino, now at version 3. If you can program and use Arduino, you won't have any problem using this. When using the Arduino IDE, you need to specify the Duomilanove model rather than Uno for downloading programs, which otherwise works the same. Like the Arduino, it has a USB port (USB Mini B socket), so it can be plugged into your computer to download programs you are developing note that the competitor, Colorduino, does not have an on-board USB.

DIFFERENCES FROM ARDUINO

It cannot accommodate Arduino shields, because instead of shield headers, it has headers designed to accommodate a specific LED display.

Instead of a standard USB B socket like true Arduinos have, it has a USB Mini B socket. That just means you use a different USB cable to operate it. I actually prefer this, as most of my USB devices with removable cables use the USB Mini B.

It is designed to allow chaining of Rainbowduino boards to handle more LEDs.

PRACTICAL USE

The Arduino is a surprisingly peppy processor. Some simple display programs should run fine standalone on the Arduino. More complex programs may want to use floating point functions (e.g. trigonometry) to calculate which pixels to turn on or off, and would not do well on Arduino. For these, the Arduino would function as a slave controller, in which commands from a connected computer (any type that can talk through USB, so PC, Mac, Linux) would tell it which lights to turn on or off.

COMPATIBLE DISPLAY DEVICES

Amazon and other vendors sell an 8x8 flat RGB LED matrix. One type has circular lights; another type has square lights. The device I bought from Amazon has a pin layout that is exactly compatible with the headers of the Rainbowduino. It does not actually tell you which of the two possible orientations is correct, but it will work in one orientation, and not work in the other (but also does no harm).

A more interesting and more expensive device is a 4x4x4 RGB LED cube available in pre-built or kit form, though not on Amazon. Google for Rainbow Cube, or 4x4x4 RGB LED cube, etc, to find it. Building the kit form is not a good first project, but it is not too tough if you are comfortable with through-hole (no surface-mount) soldering skills. This cube has male headers which also fit the Rainbowduino, and as a bonus, it actually tells you which way is the correct orientation.

SIMILAR DEVICE: COLORDUINO

ITEAD makes the ColorDuino which is similar in many but not all ways. The headers for accommodating devices are the same for both, which means that devices that work for one work for the other. Colorduino provides hardware PWM, whereas Rainbowduino does it in software; the hardware PWM offloads work from the processor, so there are more cycles for YOUR code. The Colorduino design allows 8 bits per color, whereas Rainbowduino uses 4 bits per color. Obviously the Colorduino supports more colors and more accurate color than Rainboduino, however, it's not clear that you will be able to see the difference on today's devices. Colorduino also has color correction capabilities.

COLORDUINO has no USB port, so you need to buy an adapter to snap onto it to download programs when you are developing them. It also does not have a 2.1mm power jack of the sort you find on an Arduino.

As for software compatibility, both ColorDuino and RainbowDuino have libraries written for them. I tried the example for ColorDuino on my RainbowDuino, and it did not work. I do have a Colors Shield on order, so in a month or so I will be able to make better comparisons.

SIMILAR DEVICE: COLORS SHIELD

ITEAD also makes Colors Shield, which is like ColorDuino except that it requires an Arduino (or compatible) upon which it sits. The main advantage of this approach is that you could have another shield in between, such as the GinSing sound synthesizer, to make a sound AND light show. A disadvantage is that the total price of an Arduino plus Colors Shield is more expensive than either ColorDuino or RainbowDuino, but not a LOT more expensive.

WHICH TO GET?

At the moment I prefer the RainbowDuino because it has a USB Mini B port, so downloading programs is just a matter of using the right USB cable, unlike the ColorDuino. It also has a 2.1mm power connector for standalone use. The color resolution is theoretically less than ColorDuino, but I doubt you could see the difference when using today's RGB LEDs. My second choice is Colors Shield from ITEAD.

Click Here For Most Helpful Customer Reviews >>

I'm not sure what the deal with this unit is but it doesn't seem to work properly and the manufacturer was of no help when I emailed them asking for support. I don't know if it's a fluke, but either way it's poorly documented and came with zero documentation. Wouldn't exactly recommend it at this point.

Best Deals for Rainbowduino LED Driver Platform - Atmega328

I got one of these a few months ago. It works as advertised. It doesn't accept Arduino shields because it's designed specifically to accommodate 8x8 RGB LED matrices, and that's fine with me.

One of the cool things about these units is that they have standard 0.1" (2.54mm) pin headers on both sides, male on one side and female on the other. This means you can daisy-chain them simply by connecting them together. The pins are SDA, SCL, GND, CTS, 5V, TXD, RXD, and DTR. In other words, you get enough pins for power and an I2C serial connection. Possibly SPI too, but I haven't tried. If you aren't daisy-chaining them, it's still highly useful: I2C lets you hook up LCD displays, keypads, I/O extenders (basically a shift register that talks over I2C), and whatever else will run on that protocol. And because it's male on one side and female on the other, it will work with common ribbon cable such as this which you can buy right here on Amazon, regardless of whether the connectors are male or female.

There are some solder pads where you can attach a standard 0.1" pin header, if you want. This is good if you want to plug it into a breadboard, or just use standard ribbon cable connectors to hook it up to something else (assuming the other pin headers weren't enough.) The pins are A0, A1, A2, A3, A6, A7 (analog I/O) and D2 and D3 (digital I/O.) No power, though.

There are also four-pin connectors on either side (two ground, two +5V.) They look similar to some Molex connectors I've bought in terms of color and form factor, but they aren't the same connector you'd see if you opened your PC so they can't be powered that way. This is probably for providing separate drive voltage if you want to daisy-chain a bunch of them.

Overall, it's hard to complain. For less than thirty bucks, you get an Arduino with dedicated RGB LED driver chips and lots of I/O capability. It talks over USB, so you don't have to get a separate programmer device.

I was also looking at the Colorduino, which has dedicated PWM drivers. It is theoretically better because it doesn't require the processor to run PWM, freeing up more cycles for other things. However, their website shows they are backordered and they aren't even on Amazon anymore so I'm not sure that platform is doing too well right now.

Buy Fom Amazon Now

No comments:

Post a Comment