LCD on Parallel Port
December 2000

Now I add another one to the many descriptions found on the internet that deal with the construction of a LC display that connects to a parallel port and runs under Linux. The background brightness of my version can be switched, this can be used for blinking. Herby it's more easy to detect important events from greater distance from the display. It can blink for example if a fax, E-Mail or a message on the answering machine was received.

display On the back side of the plastic enclosure I have fixed a metal piece with a foto mount thread for mounting the display on a small foto stativ with a ball-and-socket joint.

The diplay is connected to the computer via a 25 wire flat cable. Because the parallel port doesn't deliver +5V power, this will be taken from the USB connector and inserted into the flat cable. This works for me even with a cable length of 10m.

My server has no keyboard, mouse or grafik adapter. Using the display I can see some important information without the need of a remote login from another computer via network. With the help of a remote control I can send commands to control the server.

data As an example, with a TV card and vbidecode share price data could be extracted from the videotext pages of a local TV station and presented on the display.


For the LC display I used a MODEL 2024STLDYGBN-D (unknown manufacturer). It is based, as most of these displays, on a HD44780 controller and has 4 rows with 20 characters each on an area of 76mm x 25mm. General information about these displays can be found in the LCD FAQ.

For signal decoupling I use Schmitt trigger inverters 74LS14 on the inputs. All data lines have a pull-up resistor of 4k7 to +5V, on the control lines the pull-ups are 1k0. The more critical input EN is damped with an additional 2n2 capacitor to ground for avoiding malfunctions.

schematic diagram
  • I misused Pin 16 to feed the display with the +5V so I don't need another connector for the power supply. I use a special cable for connecting the display to my parallel port in which I cut through the corresponding wire at the computer side and connected it to +5V coming out of my USB port. The game port may be another source for the +5V.

    Warning: You should understand what you do!!

  • I want the LED backlight of the display to blink, if there is some new message for me. With the help of a n-channel MOSFET transistor I can modulate the LED current. The 15R resistor adjusts the low intensity level. The transistor is switched on for high intensity. Check the wiring of the backlight LED on the LC display, there are several different LC displays available.


My driver is based on lcd-0.12 from Nils Faerber and Michael Engel and was adopted and expanded to meet my requirements. It is linked to the system as a device driver. To present some text on the display you simply write it to the device /dev/lcd. The cursor positioning can be don with special control sequences.

A few interface code fragments using Perl:
code example

Document Revision:   23 Jul 2007
(c) 2007 Rolf Bleher
Valid HTML 4.01! Deutsch Prev Home Next