Do you like my hacking? If so, please consider leaving something in the
Fediverse (Mastodon etc): @Sprite_tm@social. spritesmods.com
It took me quite some time to figure out what the best way was to make something that had none of these disadvantages. Eventually, I settled on creating an OS-less device from a microcontroller, an LCD and a touchscreen. That way, the device can be hung on the wall like a painting, so the risk of drowning it in beer gets a lot smaller.
The touchscreen
The touchscreen is something I picked up from a local electronics store. It was
attached to a really nice color TFT, which unfortunately proved quite difficult
to control, that's why I didn't use it. The touchscreen is a resistive one with
4 wires: Basically, to get the right coordinates, you put a voltage across 2
of them and the voltage at either one of the other 2 wires indicates where on the
X-axis the user has touched the screen. Swap the 2 wire-pairs and you can do the
same for the Y-coordinates. These measurements can't be used immediately because
they jitter too much, so there's a little algorithm going on in the microcontroller
to make sure that the right position is detected.
Close-up of the touchscreen and LCD. As you can see, I didn't bother with a
connector for the tiny flatcable.
The LCD
The LCD is ripped out of an old 486 Compaq Armada. I was lucky enough to find
the pinout for it somewhere on the Internet. Basically, it's controllerless,
so you need to keep feeding it pixels to get it to display something. Another
problem is that it needs 13.5V as a bias voltage.
The controller
As a microcontroller, I used an Philips (now NXP) LPC2138. That's an
ARM7-processor running at a maximum of 60MHz. Its pre-soldered on a prototyping
board I bought from Embedded Artists
and the board includes a power-supply, RS232-out and a reset/i2c-EEPROM-ic.
The ARM prototyping board.
Assorted other electronics
Aside from the aforementioned things, a few more components are needed to get it
all to work. First up is a 7805, which converts the semi-unregulated 12V that I
feed into the device to a nice 5V which can be used by the other components. The
7805 uses a bit of shielding of the LCD for its cooling. Secondly, as mentioned
before, the LCD needs a bias-voltage of about 13.5V to function. This is taken
care of by a small boost-converter, connected to an PWM-out and analog-in
on the microcontroller. The LCD needs a small pot to modify the contrast, too.
Thirdly, the LCD is a translucent one so it needs a backlight to function. That
backlight already is inside the LCD as a CCFL, which needs to be connected to
an inverter. I didn't have the original inverter from the Armada laptop anymore,
so I just connected another, random, one. While such random inverter-swapping
could kill the CCFL, this one seems to work OK and has done that for
about a year now.
The back of the LCD, where all the electronics is stashed