I live in Logan Square in Chicago and have this glass block window in the front of my building.  Because I spend too much time with computers, every time I looked at the wall it seemed like a grid of pixels.  I had seen LED pixel walls before, but never ones that would let light through during the day.  I had been thinking about this challenge when I heard Mike Kuniavsky and Tod Kurt talk about the BlinkM modules that their company ThingM makes.  These modules seemed perfect, so I ordered 126 of them and set to work.

Because the wall is public facing I wanted to make it interactive, so as someone walks by it reacts to their movement. I couldn’t resist the idea of making a “bricks” style game out of bricks, so this was the first project.  The video below shows this game in progress.  I wanted to design it so as people walked by, they would control the paddle and would start to play the game without intending to.

This is as far as I got, unfortunately the wall had to be taken down due to construction.  If you have a similar glass brick wall and preferably live in the Chicago area, email us (labs@ideo.com) and hopefully it can find a new home!

How it was made:

Each module was given a unique address between 1 and 126.  I set up a grid where a BlinkM Module was soldered inside the intersection of the 4 necessary wires: SDA, SCL (data lines), power and ground.  This way the electrical structure became the mechanical structure.  Because each module has its own address, all of the data can be on the same bus.  To measure the distance I needed to place the grid from the wall I drew a square the size of the brick on some paper and held a module so the circle of light it casts is just inside the square.  Once the light gets in the brick it bounces around so much it ends up lighting the brick up uniformly with no bleed.

To control the display I used the open-source prototyping platform Arduino and Flash.  Using two Arduino boards instead of one was not necessary, but they cut down the amount of bus capacitance, so the amount of errors I got decreased.

What I Learned:

Bus Buffers (Linear Technology’s LTC4300A-2) were needed for the I2C data signals.  The bus capacitance was too high and was preventing the signals from switching fast enough.  I used one for each data row, and mounted the chips on Schmartboards to avoid having to make a custom board for the surface mount package.

I followed the application circuit, but 4.7k Ohm resistors were swapped for the 10k resistors shown to make up for the long transmission lines.

The ground lines were originally too long.  Because the signal used the power ground as a reference,it was necessary to make some ground connections horizontally as well to make more of a ground grid than simply running the ground lines vertically connecting at the bottom.  The final power lines looked like this:

The Software:

The system was controlled by Flash talking to Arduino through a socket server modified for Arduino called Serproxy.

I wrote a program that monitors a 14×9 pixel square in a flash movie, and sends the color value of each pixel to the Arduino boards.  By writing it this way, all of Flash’s built-in anti-aliasing and animation tweening can be used to control the animation on the wall.  Above is the actual file that runs the LED Wall.

This animation is created by simply tweening a yellow line on the left to a red line on the right in the 14×9 pixel area in Flash.

Arduino

The Arduino code uses the BlinkM library supplied by ThingM.  I worked with fellow IDEOer and roommate Evan Shapiro on this protocol.   We basically read in the color values for each pixel in Flash and send it to the corresponding BlinkM module.

Serproxy

Serproxy needs to be configured for 2 arduino boards and the configuration that was used on a mac is bundled with the code.  This config file will need to be changed to reflect the serial ports of your specific Arduino boards.

Download the source

Additional Video and Images Thanks to Adam Geremia for the photography help!

Soldering these was a total pain: 126 modules x 4 wires x 2 sides of the wire = 1008 solder joints.  Here you can see the extra ground wire I added.

View from across the street, it really is bright, but luckily there’s a library across the street so no neighbors to annoy.

The first one!

Someone takes a cameraphone picture with it at the end.

30 Comments:

  1. Adam

    20/08/2009 at 10:16 am // Permalink

    So awesome, Dave! Too bad you had to take it down — hope it finds a home somewhere else.

  2. Tamber-Krain

    21/08/2009 at 6:22 am // Permalink

    Oooh, very cool. =)
    Now you’ve got me wanting to make one of these myself.

  3. Tony L.

    21/08/2009 at 6:51 am // Permalink

    Say, if you guys ever need help soldering, I would love to help on a project such as this. I’m big into LED lighting, however, not quite in as experimental ways. I do stage and small event lighting using about 11 DMX controller LED fixtures all laptop controlled thru freestyler. Regardless, I am also in the Chicago and would love to trade some iron time for a bit of knowledge and expereience working with LEDs. Plus, I had an idea similar to this and I have access to the blocks, just not the know how to get it going. Drop me a line. Take care guys and great work.

  4. Hugo

    21/08/2009 at 8:45 am // Permalink

    Cool. Really Nice!!!

  5. Matt Katz

    02/09/2009 at 7:48 am // Permalink

    I love this.
    I also have a huge bedroom window covered in frosted paper.
    I think I could use the array, along with a cell grid to make a display. – something like the pixelator http://vimeo.com/6009518

    If you’re still going to take this down, I’d be happy to pay for shipping, packing materials and whatnot to get this to brooklyn.
    I’d also be happy to try to code new stuff for it and ship it onto to another location after a while – it could be a traveling show.

  6. Jerry

    03/09/2009 at 10:27 am // Permalink

    Do you still have the blocks & electronics? We are planning on building something very simular, and I would love to use your design as a starting point.

    Thanks,
    Jerry

  7. Daniel Zarick

    27/09/2009 at 2:54 pm // Permalink

    I go to school at Columbia College Chicago, and I am sure there is somewhere on campus we could put it. I’ll ask around and see if there is any possibility.

  8. jeckson

    02/10/2009 at 3:59 am // Permalink

    Great…

    With MCS-51 DMX for Tetris..

    Jeckson Ben

  9. gino

    07/11/2009 at 7:39 pm // Permalink

    Hey, the club I work at has an LED light wall that is run by USB to a small windows program. I’m having a hard time figuring it out completely. Anyone know if there are mac programs available to run this wall?? I’m new to the game…

  10. Bruce

    19/05/2010 at 7:47 am // Permalink

    [...] out Dave’s very well documented project page at IDEO Labs, the video, and images [...]

  11. John Paul

    10/06/2010 at 1:31 am // Permalink

    So awsome. Really you did great work. These are the best forms of LED displays I have ever seen.

  12. AG

    15/01/2011 at 2:45 am // Permalink

    Fantastic work Dave!

    I’m trying to learn more about animating an array of BlinkMs. Is Flash the best option, or could one use something like After Effects to create an animation that would work with Serproxy? I’m not looking to have interactivity with the viewer; I’d like to make a pre-rendered light show that is synced to music. Thanks for any advice!

  13. Jessie

    10/06/2011 at 9:44 pm // Permalink

    Dave,
    This is sooo amaizing. Do you still have this light?? I would love to buy it from you and give it a new home!! Please let me know, my e-mail is jessica@uvwaudi.com. Thank you!!
    Jessie

  14. Jack

    26/09/2012 at 11:28 pm // Permalink

    Dear Sir /Madam,

    We are manufacturer of LED screen and we are looking for a company to represent us in your country. We are writing to you as we know that you are managing LED screen from your website.we hope we can establish a business relationship in future and there might be some mutually beneficial business opportunities available. We would be most grateful to know if you might be interested in handing our LED screen.

    There are some main features for our products as below:
    1, There are novel structures both our cabinet and installation;
    2, Our cabinet lighter than normal cabinet and it is good for heat dissipation;
    3, We can design anomaly shape for our products.

    You can learn more about our company and products through http://www.univiewled.com
    Awaiting for your response….

    Jack
    Marketing
    Cell:0086-18651719829
    Emai:jack@univiewled.com
    web:www.univiewled.com

Leave your comments