Once upon a time I managed a network that included a handful of DECServers. DECServers are devices that attach serial devices to an Ethernet network so you can attach your terminal to a remote modem or send a print job from a VAX to a serial printer... fun things like that. One of the nicest DECServers I had was a DECServer 300... it had all the bells and whistles and included a little 7-segment (figure 8) LED on the back. When booting up the segment would display different numbers depending on what part of the boot process it was in, and once running it would display a rotating figure 8 pattern to show that all was well. The neat thing is the speed of the rotation would vary with the current system load.
Well of course I thought that was the coolest thing ever, and since I have a history of being attracted to projects that do nothing productive building a PC-based version seemed right up my alley.
As is well documented elsewhere its possible to drive up to 8 LEDs using the data pins on a PC's parallel port. You simply attach the LEDs to the data ports with 470 ohm resistors and then to one of the port's ground pins. Here are a few pictures of my prototype on a breadboard and the final version made by modifying an old 25-pin MMJ connector to house the LED, resistors, and attachment wires. A little super glue holds the LED in place. If I had it to do again I'd have used stranded wire because the old solid-core phone cable I used was hard to cram into the housing. Here's a few pictures of the process:
To control the individual parallel port pins I wrote a series of quick little programs in Perl to display characters and patterns.
Each of these programs use some or all of these excellent Perl modules:
I took a couple videos of the LEDs in action: as a prototype and in its final form.
Last Updated: 2/2/2008 - Anthony Anderberg - email@example.com