If you worked with a computer in the 1970s, you have a good chance of using a light pen: a simple input device that will point you to the CRT screen to highlight text, select menu options, or manipulate graphic objects. Although ubiquitous in those days, the light pen lost the battle of ergonomics to the humble rat and became extinct in the late 1980s. Touchscreen stylus applies a similar function today, but touching the screen in any way just doesn’t feel like pointing at it.
So we applaud [Maciej Witkowiak]Commodore 64/128 is an attempt to bring light pens into the 21st century by creating a USB interface for light pens. At its heart is an Arduino Micro Pro that uses the USB HID protocol to communicate with any modern computer. It connects the classic light pen with the computer’s analog display signal and uses them to calculate the video synchronization pulse and the delay between the light pen’s output. Sync pulses are extracted from the video signal by an LM1881, a sync separator chip that anyone working with analog video signals will be familiar with.
The Arduino calculates the position of the light pen based on the measured time interval and reports to the computer using the absolute position mode which is also used by things like drawing pads. [Maciej] Demonstrates his system in the video embedded below, where he uses it to manage menus in an X window system. Then there’s the great success, though there’s a catch: the light pen only works on CRT displays, so if you want to try it yourself you’ll have to drag one of those big glass creatures.
We’ve featured Commodore Light Pen before on this weird gaming input device. A similar device built with a separate LED matrix is a good illustration of the light pen working principle.