Trying out my new Colorduino v2.0 – first impressions and tips

After my recent experiments with the Logos RGB backpack I stumbled upon the Colorduino (a cousin if not a descendant of the Rainbowduino), which is a very interesting little device! It not only controls the individual colors, but can vary their brightness (something the Logos backpack doesn’t offer).

The two devices cover different use cases: the Logos backpack is really more of an I2C raw display leveraging the memory-limited ATtiny2313V, while the Colorduino with the Atmel ATMega 328P can do much more heavy lifting on its own in terms of direct processing.

Ordering the Colorduino: I looked around and found a “version 2.0” Colorduino board from a place called HobbyKing at a decent price (about $23 USD shipped from Hong Kong after a small discount).

A word about HobbyKing: I read MANY scathing reviews about them (quality and shipping times being big issues), but decided to take a chance ordering this since it doesn’t have a lot of moving parts, it was at a very good price and I was paying with PayPal which offered some modicum of reassurance.

The Colorduino arrives: The verdict on the purchase itself? A bit of a mixed bag but generally positive. First, it arrived surprisingly quickly! I took the slightly more expensive “registered” airmail route ($1 more than basic, which is still way cheaper than “EMS” or whatever). I ordered it early 6/1, it claimed to be shipped out on 6/4 (took a couple more days for HK Post to show tracking info), left HK on the 8th, arrived in New York (?!) on the 10th, and arrived at my post office here in the San Francisco Bay area on the 12th! Not bad at all… I was fully expecting to see this no earlier than the end of the month if not sometime in mid-July.

The fit and finish on the board? Eh… it’s not quite as clean and precise as the pictures. The LED connectors were tilted off-center making it tricky to plug the display in, and NOBODY tells you what pin 1 on the LED matrix itself corresponds to (see the video). However, as soon as I gave it 5 volts it lit right up and displayed a little demo it shipped with!

Programming the Colorduino: There’s lots of info in Lincomatic’s post, particularly in the comments. Though I found versions elsewhere, I ended up grabbing the plasma demo directly from Lincomatic’s GitHub repo for the Colorduino.

Update: I’ve created my own repo (in part a fork of Lincomatic’s repo) in order to update it, add the original demo my board came with, and add other things I happen to come up with in the future. You can check it out on Github!

I also want to add a note of appreciation to the owner of the tinkering-arduino repo on GitHub. It got me un-stuck as I tried to get the original demo working with the Arduino IDE. I may pull elements of that into the combined demo as well.

I also stumbled upon the schematic for the “2.0”, as well as different demo the demo the board shipped with (see above) that will probably require some work to convert now works exactly as it did when I received it (there’s not a whole lot of info out there actually, but I did manage to track down the originals at least). I’m not really sure what makes it a v2.0 other than a slightly different connector or two, and the scarcity of info makes me think this board is otherwise identical to the v1.3 (and judging by some of what I found, some entities were doing little more than slapping their name on the files – yeah it’s LGPL but at least give the original authors and editors credit if you’re just making a copy of the file! Ugh.)

Anyway, I realized I had no easy way to program this thing, so I ordered SparkFun’s Basic FTDI board (from CanaKit by way of Amazon) to do the job. It’s a keeper! Note that I Ieft it on the default 3.3V setting and it worked perfectly fine – it’s 5V-tolerant and the 5V Arduinos seem to do fine with 3.3V serial signalling – but as noted below do NOT connect the 3.3V line to anything! Just make sure the ground is properly connected to the same ground as the LED display. (The usual disclaimer of liability applies – know what you’re doing before you do it!)

I then decided to try uploading the ColorduinoPlasma demo. I opened the project file with the Arduino IDE (the 1.5.x version worked fine for me) and imported the libraries by select “Sketch -> Import Library… -> Add Library…”, then selecting the Colorduino folder within the libraries folder (e.g.:  …..\Colorduino-from-git\libraries\Colorduino) That this will copy the folder with those library files into your workspace’s library folder (personally I’d like to learn how to keep them local to the rest of the project but… not today).

Connecting the Colorduino: For convenience I used an Uno as a power source and tapped the 5V and ground from there for the VCC and GND on the Colorduino, then connected my FTDI board to the same common ground (but you DO NOT need or want to connect the 3v3 line from the FTDI board to anything!) I connected DTR to DTR, RX to TX and TX to RX (crossover), selected Arduino Nano as the board and the serial port for the FTDI board. I then clicked the compile/upload button and after a few seconds of loading the demo started right up! **

Here’s a quick video of the ColorduinoPlasma demo in action on my board (sorry – no video of the demo it originally shipped with – wish I had that source code as well!):

** Well, it worked like a charm once I finally figured out the right board type, the right way to write the serial lines, the right COM port, and how to coerce the library into the right place! I had some help from the Arduino forums where I verified my wiring and found the board type to use. Think of my post here as saving you a whole lot of time! 😀

17 Comments


  1. Hello,

    thank you for your very good post.
    Do you know if it is possible to use this card to drive a 4x4x4 LED Cube ?

    thank you

    Reply

  2. Hi Mark, I’M having a bit of trouble with my Colorduino v1.3 itead board. All it does is keeps shifting basic colors red,green,blue in all the leds of my matrix. is this a normal standby behavior or some sort of demo code that automaticaly loads up on when power is put or my board is defective? Did your v2.0 did the same? Also im getting no recognition from rgbmtx app when i plug the ground cable on my arduino uno R3 as a serial adapter w/o the atmega chip. can you help? Thanx

    Reply

      1. Thanks. Sorry for the delay. This site didn´t actually sent me an email warning about your reply. I was just scrambling around to check on another issue i´m having now with a cheap colorduino from geektech that just arrived and bumped into my own question, LOL…Anyways. Board was okay. Was a preset factory code. Thanks for the response. Cheers

        Reply

    1. Replying to old question but hope this is helpful to someone.

      You might have connected your RGB matrix wrong direction. Try rotating it 180 degree.

      And regarding serial port connection, my clone bought from eBay came without bootloader. So I had to write bootloader using AVR programmer then I was able to program it via normal serial connection.

      Reply

      1. BTW SJ, old question but not at all an old answer that actually did indeed helped ( me ) open my eyes. Here I´m again, board from 7 months ago was fine ( factory demo code )…Already did a lot of stuff with it. Now I´m dealing with a cheap colorduino to which i´m getting a lot of “>avrdude: stk500_getsync(): not in sync: resp=0x00” error lines, and now thanks to your post i think it might be just whats happening( no bootloader). Shitty thing i have no idea how to write one to make my ide recognise the board. Any tips?
        Thanks

        Reply

          1. Cannot thank you enough Martin. I´m still dealing with this issue and I´ll do as you say. damn chinese cheap clones( this one really looks cheap, in this case is supposably a Colorduino v2.0 from Geeetech ( don´t ever put your hands on those pieces of crapo ))…The “fancy” ones are pretty much okay but i´m having second thoughts on my next purchasesThanks a bunch

            Reply

            1. It might be they were trying to save some memory by not including a bootloader (not entirely uncommon for these sorts of devices).

              Good luck!

              Reply

  3. My Funduino V1.A by HOY card seems to program ok with the plasma demo and the scrolling text demo, but the demos are running very slow.
    I was programming it from my PC, using the Arduino IDE, selecting Duemilanove board, through my Arduino UNO with the AtMega chip removed.
    Why is it running slow ?

    Reply

    1. That’s an interesting setup… I’m not very familiar with the Funduino board but it *might* be that the board you are targeting and the funduino have different timings: building by targeting a board with a faster clock and then running on a board with a slower clock would make that board run more slowly. It could be something else too – your best bet would be to get a cheap usb to serial device to directly target and build for the Funduino.

      I found a YouTube video (https://www.youtube.com/watch?v=79WdjIvaP7Y) that may be of use to you. It has links to demos and since they’re using the same kind of board perhaps that will help.

      Reply

      1. Thanks Martin, and thanks for the link.
        It’s working ok now, I tried a USB to serial converter but the IDE kept hanging just before the code uploaded and after awhile I got sync error. I went back to my original setup with the UNO and chip removed and it did the same. I found a reset button on the Funduino and decided to press it a couple of times as it was hanging and hey presto the code loaded up and it now works at full speed.

        Reply

        1. I’m glad to hear it’s working well for you now!

          Re: that sync/reset thing: Normally (for better or worse) the bootloader on an Arduino will reset on serial connect, which is part of the downloading process. This makes programming the Arduino simple for the casual user, but it’s not that great for someone who is periodically connecting to a device they’d prefer not reset every time it gets connected to! The Funduino is apparently one of those devices (but then again, it may just be because of how you’re programming it that it never sees the serial reset). Here’s a link with more info on all that:

          http://electronics.stackexchange.com/a/31088/17001

          Reply

  4. First, thanks for posting;
    Would you have any clock code + scrolling text for colorduino?
    That is, it shows the time for a certain time, then scrolls a text;
    Thank you

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*