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:

There are 22 Comments to "Lampduino – an 8×8 RGB Matrix Floor Lamp"

  • […] writes: Lampduino is a computer-controlled free-standing floor lamp, comprised of an 8×8 RGB LED matrix. The […]

    • b says:

      hey lincomatic, is the control sketch available? Thanks for your response!

        • b says:

          Thank you. when trying to “run” the program I get the following error:
          No library found for com.bric.swing:
          As of release 1.0, libraries must be installed in a folder named ‘libraries’ inside the ‘sketchbook’ folder.

          now I installed the latest JDK still no luck. Also the standalone program works fine except it wont connect to my arduino and I need to edit the connection delay.
          win7 64 bit fyi.
          thanks for your help!

          • b says:

            Fixed it, the code and libraries folder must exist in the processing workspace….

            on a side note people keeping asking about the ability to CC VS CA diodes. it is possible but would require a transistor to invert every line. The leds would also no longer be current controlled and would recieve power from the power supply…not worth the work in my opinion.

          • lincomatic says:

            I’m running win7 x64 as well. I don’t have the JDK installed, just the JRT v 6 update 26. I didn’t do any special installation for com.bric.swing. It’s possible that it needs that library to talk to the Arduino. Sorry, I’m not that versed in Java/Processing.

  • KPR says:

    How can one use Common Cathode LEDs instead?? I have them now, instead of the 3 week wait to get my correct order..

    • lincomatic says:

      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.

      • KPR says:

        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..


        • lincomatic says:

          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.

          • KPR says:

            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…


  • DizzyNYC says:

    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.

  • Chuck says:

    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!


    • lincomatic says:

      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!

      • Chuck says:

        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 ^^


        • lincomatic says:

          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!

  • […] by the so called Lampduino and several other related projects I decided to build my own version of a RGB matrix wall light […]

  • RERC says:

    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.

    • lincomatic says:

      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.

  • xxl says:

    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!

    • lincomatic says:

      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.

Write a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>