Lampduino – an 8×8 RGB Matrix Floor Lamp

This past weekend, I finally finished building my 8×8 RGB matrix floor lamp.  I call it Lampduino.  A Processing sketch running on a host computer controls Lampduino via a USB connection.  When turned on without a computer, it automatically displays a soothing plasma simulation. If you want to build one of your own, I wrote a step by step Instructable:

Lampduino – an 8×8 RGB Matrix Floor Lamp

Space Invaders


Related articles:

20 thoughts on “Lampduino – an 8×8 RGB Matrix Floor Lamp”

    1. The DM163 data sheet says the max output current , Iout = 60mA. What’s unclear is if that’s per channel or for the whole chip. It appears that it’s per channel, because it also says the power dissipation is 1.36W, which is plenty. So the columns are probably OK. I think maybe a uln2803a to invert the rows might work, but I haven’t tried it. Maybe you could pose my idea to itead. If you do, please report back their response.

      1. Unfortunately, they where unhelpful, actually it was a pathetic response..

        Hi KPR,

        Sorry that colorduino can only support on common anode.
        ITead Studio.

        So it looks as if I’m on my own to find a solution, at least with iteadstudios..


        1. Yeah, they pretty much told me the same thing. They also said that the DM163 only works w/ common anode. I still think a ULN2803A on the rows might be all that’s needed. If you have to invert the columns, too, then it’s getting to expensive/complicated.

          1. Yup.. That’s why I just bought another bag of led’s.. And a few ULN2803A’s for the hell of it.. Now I just have to wait for them too come…


  1. Hey Lincomatic,

    Is it possible to make the Anode connections go down the column? This would leave me with segmented lines correct? Can the Colorduino work in that manner?

    I guess I’m having a tough time understanding the whys of electrical circuitry.

  2. Hi, i am about to receive a colorduino shield (didn’t realize Itead ships from Hong Kong which is a bummer because it will take some time to arrive) and i will try to build something similar to your lamp.
    I have an ATMega 328 (A. UNO), which means more frame memory. do you think i could get animations over USB to work with 24bpp? I was planning to send half-frames not to overflow the buffer.

    -I guess there is no possible way to change the onboard buffer size, is there?
    -Do you have any advice for me with splitting frames for transport?
    -What is the approximate framerate you get out of your setup?
    -I like the latency setting, never knew it existed!

    anyways, i’m pretty excited since your example looks really cool!


    1. Hi,
      24bpp is really excessive. You’ll see once you play with it that your eye can’t discern that many shades on the LED’s.
      – what do you mean changed the onboard buffer size? The amount of RAM is fixed. a 24bpp buffer is 12288 so I think it will fit
      OK on a 328p.
      -why do you need to split the frames for transport? You should just change the packet format to allow you to send a whole frame at a time
      – sorry, I didn’t measure the framerate, but if you run RGBmtx and set the playback speed to the max, you can see how fast it goes
      Have fun!

      1. Hi, Thanks for the reply!

        What i meant by changing buffer size was the serial Rx buffer on the arduino, so it can fit a whole frame. From my understanding it is 128b and a frame would be 192b.

        If not, i would have to split my frames in two and send them in two separate packets.

        Since the Colorduino has the ability to have 256 PWM levels i would like to use it.

        Still waiting for my package to arrive though….i hate checking an empty mailbox every day ^^


        1. Hi,
          I’m not aware of any way to change the serial buffer size. Maybe you can ask in an Arduino forum.
          Good luck on your project!

  3. I’m interested on this but want to do it without the need of the pc. I’m wondering if using the ITEADUINO MEGA 2560 and COLORS SHIELD would hold on all the frames needed for the project. The Iteaduino mega has 8k ram and 256k flash and I know colors shield uses the same code as COLORDUINO.

    1. There’s a guy who left a comment on my Instructable who used a Perl script to generate frames and store them into flash on a MEGA. Maybe you can contact him for help. It’s slightly tricky due to a size limitation for memory blocks.

  4. hi Lincomatic,
    I’m excited to saw your this works.
    now,I need use a mobile phone to control 8×8 RGB matrix through Bluetooth ,i bought a Bluetooth model to connect with the Colorduino RGB led which you used by UART, do you think it’s workable ? because i never learn Arduino ,can you give me some advice about hardware and software ? thank you for your time and i appreciate your reply!

    1. It is somewhat complicated, beyond the scope of my being able to help you. But in a nutshell, if you want to control it via bluetooth, you need to connect the Colorduino’s UART to a bluetooth SPP adapter. Then you can connect from your phone to it as a bluetooth serial port. As for software on the mobile side, you have to write that yourself. There’s nothing compatible out there.

Leave a Reply