HD44780 HOWTO ------------- 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 `---^--' /|\ | Vadj. 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 ) 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: http://metalab.unc.edu/pub/linux/system/status/lcdtime-0.2.tar.gz http://metalab.unc.edu/pub/linux/system/status/meter-0.2.tar.gz http://metalab.unc.edu/pub/linux/system/status/portato-1.2.tar.gz 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 connections. 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 . Refer to http://members.xoom.com/andrewmuck 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 "--enable-drivers=hd44780". 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). EXAMPLES: 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 . Updated February 2000, Benjamin Tse (blt@ComPorts.com)