Introducing the PI:
Update: The project progresses nicely and I should be getting the full project blog up shortly. For now, enjoy the gallery here. More pictures added!
The Raspberry Pi (for the two people on the internet who do yet know) is a $35 miniature computer designed for use in the education and hobby fields. It runs the Broadcom BCM2835 SoC (System on a chip) which gives you the power of an floating point capable ARM processor (the ARM1176JZFS) running at 700Mhz, a Videocore 4 GPU which is even capable of BluRay quality video and 512MB of ram. It has digital video output via HDMI (analog as well using the passive analog over HDMI standard), component video output, stereo audio, 2 USB 2.0 ports, a 10/100 network interface and a number of general purpose IO ports for digital IO, synchronous and asynchronous serial etc. All this is crammed into an 85 x 56 x 21 mm package running on a standard 5v USB power source such as you probably use to charge your phone. A pretty sweet deal for $35!
While the PI is an ARM general purpose computer and could run many operationg systems, most people including my self run it with the recommended Rasbian linux image, a debian port if you could not tell from the name! Check out the official raspberry pi site for details.
LED Matrix Display:
For my first project with the PI, I want to get a 512 LED display working. Obviously the PI has neither the IO pins necessary nor the current sourcing capacity to run that many leds directly. So we will have to look at some kind of driver IC. After a fair bit of poking around and reading through data sheets, I settled on the MAX7219 because it is quite cheap and looks pretty darn easy to use. They can each drive 64 individual LEDs which means I need 8 for this project. The chips can be daisy chained together and do not require individual chip-select lines so I should be able to do all of my output to the display with just three lines (Clock, DataOut aka MOSI, and ChipSelect which is really more like latch in the case). I'll go into more technical details on the project page.
After writing the interface code (probably in C or Python or both) I want to use the display to show SNMP network data, gmail/facebook/twitter alerts, that sort of thing. I will probably write that code in python or maybe Ruby. Another though I've been playing with is to compile Ruby on Rails for the PI (I'd be surprised if this had not been done by now) and let rails handle the http interface for the sign and the data acquisition.