Thomas makes, writes

2005-01-01

Geek Toys

lirc diagram

Gadget-maniac like me? Then how about some electronic junk you hook up to your computer's unused I/O ports? These toys are simple to understand, have few parts and are therefore cheap and easy to build!

A few years ago I was searching the web for information about a dot-matrix LC-Display I really wanted (read about it in yet another advertisement page of Elektuur) The lcd looked really cool with bargraphs of CPU-usage, disk space, and status information on it.

On the website of the manufacturer under 'Check out some of our customer applications!' I found a link to the website of Erv Walter named Ewal.net. On his site he describes some gadgets he attached to his Linux server; a serial LCD-display (the same one I wanted back then), and a little modem box with eight LED's, indicating the status of his server. It had LED's for "new email", "modem activity", "intrusion detected", "uses logged in" and other things. Since then I developed an interest in these little geek toys, these are just a few, I'll try to grow the list as time goes on.

Serial port infrared remote receiver + LIRC

Hardware

lirc diagram

This is an infra red receiver you can hook up to your PC's serial port. It works with all remote controls that send their data with a 38kHz carrier (for different frequencies use another member of the TSOP family). It doesn't need an external power supply as it gets the power it needs out of the serial port. If you have only 1 serial port connector on the back of your pc (like me), you might want to take a look at the manual and/or CD-ROM that came with your motherboard; often a second serial port is provided by a box jumper connector somewhere on the mainboard. This is handy if you already have the first serial port in use for something else, or if you want to build the receiver into your case.

Software

The software used with this receiver is LIRC (Linux Infra Red Control). It's a great program. There is a Windows version too that works just as well as the Linux version. LIRC uses network sockets to let the programs know a button on a remote is pressed. That way you can easily let your own programs work with LIRC. The only thing they have to do is connect to a network socket on the local host, and as a button is pressed, LIRC sends the program a line of text with information and the name of the remote/button pressed. This is really easy to do with Visual Basic (I tried it), and other languages.

Why?

Because it's great to control your PC's movie/mp3 player with a remote...

Ledbox

Hardware

ledbox

This "led-box" is really simple and if it wasn't for the tiny LED's and resistors, the box would be completely empty. There isn't a lot to say about the schematic, except that you have to use a male subd-25 connector and connect it to your printer port. For more info and Linux software, check out Erv Walter's website and click on the LED meter (under Toy's). Erv has more information there about the geek(y) toy :-) and some photo's of his box.

The hardware I built was as simple as that.

I took a plastic box (width: 9.5 cm length: 17cm height), and removed its guts (broken ISDN equipment). Then I mounted the resistors and LED's on a piece of perfboard (2x4,5cm) and put it inside.


Software

screenshot of windows soft.

The software I used to control the LED's (windows) long ago, was a homebrew program written in visual basic. It would be quite useless to put it online, since it's useless. for you. If you want to build a ledmeter, you will have to write some software too. It isn't hard to write a program to control the ledmeter using Elektor's port.dll. (in windows) since you can use the code from Elektor as an example. On POSIX platforms (and C) you can use ('port.h') the command "port_out (PORT, databyte);".


Why?

Because it's easy to build and fun to write software for it

Lcd + lcdproc

Hardware

lcd

There are many sorts of LCD's around, each differing in things like size and the way they interface to the computer. LCD's with a serial interface are the easiest to communicate with (both hardware and software), since they require only 2 wires (serial data to LCD + ground), and have a controller on them that understands commands you can send to it with a simple program.

But the fact is that those LCD's are very expensive compared to there equivalents with a "hd44780" compatible controller chip on them (hd44780 based LCD's are used a lot, you can also find them in some telephones and stuff). Those LCD's have an eight-bit databus and a few control lines to communicate to the pc. That makes it harder to write software for it (but once you wrote a simple communication protocol 'layer' they act the same like the serial ones), and you also need more wires to connect the LCD with the pc. But there might be an obstacle if you have a printer on your printer port, since most PC's have only one printer port... (most PC's have two serial ports that aren't even used...). This text is about hd44780 based LCD's but you can also use lcdproc and lcd4linux with serial LCD's like those the company matrix-orbital sells. If you've got the bucks, maybe you try those, they have LCD's in lots of colors and sizes. If you want to hook up a hd44780 based LCD to your pc, you can connect it according to the schematic on the right. The schematic worked for me, if you've got problems or questions, mail me...

Software

Under Linux you can use Lcdproc or lcd4linux There are similar programs for the Windows OS, but I have only experience with Lcdprox + Linux.

why?

Because they're cool, aren't they?