LED CPU monitor

This page will show you how to construct your own electronic CPU monitor out of LEDs. To complete this project, you will need eight LEDs - 7 to show CPU load, and one status LED. For added effect, I used different coloured LEDs to show different load levels (two green, two yellow, two orange and one red). You will also need seven 1k resistors (not sure of the exact rating I used, but go for the sort you'd use in a circuit powered by two AA batteries). Overall, the components for this circuit (excluding the parallel cable, which I already had spare) cost me less then AU$10.

Before starting, be sure of the following:

DSUB 25 pin (male) to CENTRONICS 36 pin connector (male)
This is the type of cable we need to pull apart.

Not all hope is lost for Windows users, it is still possible to use this circuit, just you will have to code the software part of the project. To help get you started, the parallel port pins seem to be activated by sending a bitmask. Here are the masks we have found for the pins:

To code such a program, you will need a DLL called 'inpout32.dll', this solves some privilege problems encountered on NT based releases which denied programs the use of certain functions required to interface with things connected to the parallel port. If coding such a program in TCL, you will find the 'lpttcl' library quite useful.

Before we start pulling things apart, here is the circuit diagram we are going to use:
circuit diagram

Assuming you have followed the instructions above, you should now be ready to pull apart the parallel cable. Start by removing the cover from the CENTRONICS (36 pin, plugs into printer) end of the cable. You should now be able to see all of the individual wires going into the back of the plug.

centronics plug pin numbers
The picture above shows a view of the CENTRONICS plug from the pin side, NOT the wire side!
Using the pin numbers shown above, cut and label the wires according to the table below:

Pin number Label
2 D0
3 D1
4 D2
5 D3
6 D4
7 D5
8 D6
9 D7

Also choose a wire between pin 19 and 30 and label it 'GROUND'.

You can now start constructing your circuit from the circuit diagram given earlier in the page. Remember to consider how you want to mount your meter when arranging componets in the circuit if you choose to mount it in some sort of enclosure or on some sort of panel. Remember (when using ledstats) that LED0 to LED6 (in that order) will show CPU load from lowest load to highest while LED7 is simply a blinking status light to show that ledstats is running.

Here is a picture of my final product with the parallel cable going through the computer and out the back panel to the parallel plug. This monitor is of fairly low quality, because I had no board to solder the components to (and thus it ended up as a mess of duct tape and wires):
final product (crap quality)
Don't be put off by the final product because with the right tools and resources, you can make a high quality, professional looking LED monitor.