NEZbox: External Status Meter for Computers

In my opinion, one of the most useful (not to mention cool) computer mods is the addition of a character LCD to the front of a tower. On and off I’ve considered adding a small status display such as those from CrystalFontz to an empty 5.25″ bay on my computer and talking to it using a program such as the Linux LCDproc or Windows LCD Smartie, but I’ve always avoided it due to price and the idea that putting an LCD on my tower seems to be bad in terms of visibility/placement. Because of this, I decided to look into external solutions such as the $100 Lilliput Mini USB Monitor (feature overkill), or the $50 Pertelian External LCD (grossly overpriced) sold by ThinkGeek. These device have been in the back of my mind for quite some time, and it wasn’t until I stumbled across a very cool mod interfacing an analog VU meter with a desktop computer via microcontroller that I decided to proceed with building my own external status device. Thus, the NEZbox was born.

The NEZbox is a simple ATmega168-based external status meter. I put it together for about $25. The materials used include a Radioshack black plastic project box, a piece of protoboard, an ATmega168 microprocessor, 14.7456MHz crystal (not 16MHz, better for serial com), a USB-to-serial adapter (UART) PL2303 cable, a 4-line LED-backlit character LCD, a 50uA analog meter, a temperature sensor, and some wire and resistors. Later I discovered that my USB ports always stay powered even when my computer is off, so I added an small ON/OFF switch to the back. A Dremel was used to cut out slots for the meter and LCD, and epoxy glue holds them in place.

The PWM/LCD/serial code running on the ATmega168 is simple embedded C. Under Linux, a small shell script sends commands every five seconds to /dev/ttyUSB telling the MCU to write to the LCD or move the analog meter’s needle. There is also a command to query the temperature sensor. Likewise, under Windows this is accomplished with a small C# program. Overall the results are pleasing to me for this simple and inexpensive project.

Source code available on GitHub.




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 45 other followers