LED displays for space ship control panel

Posted on September 19, 2011 in Hardware

For an upcoming exhibit at the Kearney Area Children’s Museum, I have been developing a space ship control panel complete with lots of tactile controls and futuristic design. In order to add some dynamic visual interest to the control panel, two frosted plexiglass “windows” were added such that a few high-brightness LEDs could display abstract patterns to the users.


Early on in the design process, I sketched out loose shapes on a plywood frame to get ideas for shapes for the LED displays. Once I settled on a couple of shapes that I liked, I asked a friend to cut the shapes out of the plywood using a router. Next, they created a 1/2″ “shelf” in the plywood board such that a piece of plexiglass (cut to the form) could rest on the shelf flush with the plywood. Once the powder-coated steel faceplate, fabricated by Marlatt Machine Shop, is attached, the plexiglass windows are effectively held between the plywood and steel.

Hardware overview

At first, I wanted to create three fully-addressable matrices of LEDs, but after getting into that a little further I decided I did not want to (or need to) undertake such a project, considering that my time could be spent on yet more projects. Instead, it was decided that strings of 2-3 LEDs (driven by a single Teensy 2.0) would be wired up in parallel and pulsed in a somewhat randomized fashion to create the effect of a ‘blinking console’ that is commonly seen in the background of sci-fi shows.

In order to maximize the effectiveness of the light emitted from the LEDs, I opted to create brackets using plumber’s tape to hold the LEDs at a distance of about 2″ from the surface of the plexiglass. This allows the light enough space to spread out in a nice, evenly diffuse way, and even to blend with their neighbors to create a nice effect. Turns out that the holes in plumber’s tape are absolutely perfect for creating LED displays: they have two alternating hole sizes that perfectly fit 3mm and 5mm LEDs respectively. These brackets were attached to the plywood using screws, as seen below:

At this point, I handed this project off to an enthusiastic friend, Adrian, and had him install the LEDs, wire them up and write code to control them.

Software overview

With help from Adrian Sanabria-Diaz, code was written to flash all of the LEDs for the Teensy microcontrollers (using their Teensyduino Arduino implementation). Adrian and I each handled writing the code for a single LED display, and had slightly different methods of doing so, which means that both the displays exhibit slightly different behavior. If we need to / want to re-program the microcontrollers at any point in the future, all we’d have to do is connect a USB cord to the USB extensions connected to each board (which have the +5V line cut so that they aren’t powered via USB).