900 RGB LED Screen
I've been interested in large pixel displays for a while now. After seeing the excellent PixelBrite Instructables Writeup, I decided to have a go myself. As part of EMFCamp2014, I decided to submit a proposal to the shiny projects part of the camp. I wanted to create a 30 x 30 RGB LED screen after working with another designer chap and link it to the Internet, letting the festival go-ers update it with images over the weekend.
The first thing to say is the RGB Leds chosen are odd and annoying! They are rated at 12v but they quickly draw a lot more current than my bench unit can supply. It turns out they run fine at 5 volts with a small drop in brightness. The strips themselves are TM1809 LEDS that claim to be flexible, but really are not!
To control the LEDs I decided on grouping the 30 rows into 6, 5 row blocks with each block attached to a pin on a Teensy 3.1. I quite like the Teensy range of boards; they have plenty of memory and enough heft to run something like this quite well. The FastLED library for Arduino and Teensy works quite well for driving the LEDs but they react fairly slowly. I think the maximum frame-rate I've managed is about 3fps! You can see that in the video of Doom Guy.
Attached to the Teensy 3.1 is a RaspberryPI (of course!) that deals with the Twitter Stream. The idea I settled on was to monitor a twitter account for various images and simply pull down the various images at certain intervals. Fairly simple and it gets around the problem of writing an entire interface for updating the screen. At some point an MS Paint style interface would be lovely.
I decided to etch a circuit board for the power lines and the Teensy board. Using Eagle, you can get the footprint for the Teensy quite easily. The rest is fairly straight forward. I have access to a proper etching tank and light box. After about 5 tries, I finally obtained a viable board. Its been a while since I've etched but I'm pleased with the result.
The actual physical build is quite tricky. I settled on using a waffle grid, laser-cut from several pieces of 3mm foam-board. It was designed to slot together with a gap at the bottom to allow the strips to pass through underneath. The strips themselves are adhesive and stick to the back board, which is painted white. I had considered painting the whole thing black to see if we could get more contrast. This might be something I try in the future.
The grid is stuck down with wood-glue onto the back board with the LEDS. At this point there is no going back to fix any broken LEDS, and there were quite a few! Once the board and grid are affixed together, batons are added to the top and bottom in order to hold the board in place inside the box.
The box itself is made from 20mm Kanya aluminium extrusion, supplied by Zapp Automation who are quite reasonable and friendly. Its still quite expensive when you need a lot of it. The connectors are also quite annoying and expensive. It's unclear how to actually install the connectors; they work using a small grub screw that provides tension. I managed to drill the core holes correctly in the end, but I bodged a few of them sadly.
My friend, Chris Paton was kind enough to print me 8 end-caps with the London Hackspace's 3D printer. This is probably the best use I've yet found for such printers! With the frame in place, MDF panels are placed inside the frame. Unfortunately, they are much thinner than the internal slot, so I padded them out with draft exclusion tape ( a top tip from Charles Yarnold - thanks!). This gives a tight fight but due to the compression required, the very final panel cannot be tightly fitted as all of the frame in in place at that point.
The diffuser panel is 3mm perspex with a slightly grey, cloudy finish. This nicely diffuses the light and provides some good colour response. This sheet costs around £50 and is therefore not something you want to damage. It bows slightly because it is too thin for such a project. Gluing it to the waffle grid may be a solution. Thicker perspex might be better but would cost a lot more and may still flex at this size.
The final box was swathed in bubble-wrap and shipped to a field near Bletchley and proudly displayed in the EMFCamp Lounge where it remained operational for the entire festival. I saw a few interesting pictures appearing from time to time. People were generally quite positive about the project. I think there are quite a few things I'd do differently, but I'm glad it made everyone smile!