LCDproc development and user support list

Text archives Help

[lcdproc] HD44780

Chronological Thread 
  • From: benjamin_tse AT (TSE,BENJAMIN (A-Australia,ex1))
  • Subject: [lcdproc] HD44780
  • Date: Fri, 3 Nov 2000 07:51:34 +0900


> Does anyone have the wiring diagrams. The webpage has links
> to the actual
> wiring diagrams, but like so many links, they are dead.
> I would be willing to do a write up for the faq we're talking about if
> somebody can get me the 8-bit drawings. I have not seen a way
> to run one
> of these without another port external to the parallel port
> (for the extra
> control line). Email me a pic, or diagram, and I'll write a
> blurb on it,
> if it works.

Once again, please check what's in cvs! Back in February I updated
lcdproc/docs/hd44780_howto.txt. I've included its contents here - apologies
for the extra bandwidth.

Maybe this detail should be more visible for new users? But it'll probably
be more visible once a new lcdproc tarball includes it.



There are several ways of wiring up the HD44780 devices. Your choice
will probably be governed largely by your ability to wire up each one
and/or a desire to use the device with other programs.

The LCDproc HD44780 driver supports the following connections on a
parallel port:
- 4-bit
- 8-bit (winamp style)
- extended 8-bit (LCD + LED bargraph)
- serial LPT

The driver also lets you use multiple displays as a single virtual
display. For example, a 4, 2 and 1 line display can be used to form a
7 line display. The number of displays is limited by the individual
HD44780 driver.

1. Connections

1.1 Power

All variants use the same method of obtaining power. i.e., for each LCD:

LCD pin signal
1 GND (connect to any of pins 18 - 25 of you parallel port)
2 +5V
3 Vadj (contrast)

Getting the supply voltage:
Use a floppy supply connector, get it from the game port, take some
diodes and a capacitor and get it from the port's data lines, get it
from the keyboard connector or whatever you like. Be safe to avoid
a short circuit. Most non-backlit displays only need 3mA at 5V!

Connecting the contrast adjusting pin (Vadj.):

(variable resistor)
Vcc ---| 10k |--- GND

1.2 4-bit

This is originally based on "lcdtext" (by Matthias Prinke).

The pinouts are:

printer port LCD

D0 (2) D4 (11)
D1 (3) D5 (12)
D2 (4) D6 (13)
D3 (5) D7 (14)
D4 (6) RS (4)
D5 (7) RW (5) (LCD3 - 6) (optional - pull all LCD RW low)
D6 (8) EN (6)
D7 (9) EN2 (LCD2 - 6) (optional)

If you want to connect more than two displays to the parallel port then
wire D5 (pin 7) to the enable line (pin 6) of the third LCD. Then for
displays four to seven use:

printer port LCD

STR (1) EN4
LF (14) EN5
INIT (16) EN6
SEL (17) EN7

1.3 8-bit

This type of connection should work with winamp.

printer port LCD

D0 (2) D0 (7)
D1 (3) D1 (8)
D2 (4) D2 (9)
D3 (5) D3 (10)
D4 (6) D4 (11)
D5 (7) D5 (12)
D6 (8) D6 (13)
D7 (9) D7 (14)
nSTRB (1) EN (6)
nLF (14) nRW (5) (EN3 6 - LCD 3) (optional)
INIT (16) RS (4)
nSEL (17) EN2 (6 - LCD 2) (optional)

If you only want one display, wire nLF (pin 14) to nRW of your LCD.
N.B. I haven't tried using winamp while having the third LCD connected
to this line.

1.4 Extended 8-bit

This is originally based on "lcdtime" (by Benjamin Tse
<blt AT>)
and allows you to combine the LCD with a LED
bargraph. The LCD is driven by LCDproc and the LEDs by another program
such as portato. Further details can be obtained from:

The LCD connections are:

printer port LCD

D0 (2) D0 (7)
D1 (3) D1 (8)
D2 (4) D2 (9)
D3 (5) D3 (10)
D4 (6) D4 (11)
D5 (7) D5 (12)
D6 (8) D6 (13)
D7 (9) D7 (14)
nSEL (17) -
nSTRB (1) RS (4)
nLF (14) RW (5) (LCD2 - 6) (optional - pull all LCD RW low)
INIT (16) EN (6)

See the lcdtime tar-ball (above) for full details of the bargraph

1.5 Serial LPT

This interface uses a handful of wires to interface to the
HD44780. Suitable for high noise, long connections. Designed by
Andrew McMeikan
<andrewm AT>.
Refer to for details of the connections.

2. Compiling

Make sure that the HD44780 files are built when you run configure. This
can be done by specifying "--enable-drivers=all" or by

3. Running

Keep in mind the following points.

- When specifying the lcd size, do so before the -d argument.
- Arguments that need to be passed to the driver should be in quotes after
the -d HD44780 arguments.
- Use the "-e" argument for extended interfaces (e.g. >= 3 displays as
indicated by "optional" connections above).


For a 4bit connection, 16x2 display on port 0x278
LCDd -t 16x2 -d HD44780 "-p 0x278"

For a 4bit, 40x4 display (effectively two 40x2 displays)
LCDd -t 40x4 -d HD44780 "-v 2,2"

For a Winamp connection, 20x2 and 20x1 displays
LCDd -t 20x3 -d HD44780 "-c winamp -v 2,1"

For a 4bit, 16x2, 16x4 and 16x1 displays
LCDd -t 16x7 -d HD44780 "-v 2,4,1 -e"

For help on the parameters for the 8-bit driver (make sure --help is the
last arguments in quotes):
LCDd -d HD44780 "-c 8bit --help"

4. Miscellania

This text originally taken from a message by Bill Farrow
<bfarrow AT>.

Updated February 2000, Benjamin Tse
(blt AT

To unsubscribe from this list send a blank message to
lcdproc-unsubscribe AT

Archive powered by MHonArc 2.6.18.

Top of page