Android Oscilloscope
OBD2 Engine Rev Counter
OBD2 Diagnostic app
TFT Clock and Thermometer
WiFi, Ethernet
WiFi Thermometer
WiFi ESP8266
Doorbell with SD / EEPROM
SD FAT16/32 for .bmp
PETIT FAT bmp Display
TFT Timer, Thermometer
TFT Oscilloscope
SD Talking Clock
Android Talking Clock
SD Sound Recorder
SD FAT32 wav Player
SD Arduino Recorder
LED Thermometer
LED Timer
LCD Timer
TFT 10MHz Counter
100KHz Counter For PC
1MHz Counter For PC
8 Digits LED Counter
Scope Screen Counter
LCD Module Counter
LCD Arduino Counter
6MHz Android Counter
NIXIE Android Counter
Bluetooth Counters
USB Counter
USB TFT display BMP
USB DS18B20 Sensor
USB Thermometer
USB Meter
USB Oscilloscope
USB Input-Output
USB Input-Output Android
USB 16x2 LCD
Serial TFT Text
Serial Inputs Outputs
Serial Port LCD
MCP3201 on Serial Port
Serial Thermometer
Analogue Signal to Serial
Serial Thermostat
MCP3201 on LPT
Analogue Signal to LPT
LCD Display on LPT
Water Softener
HP Stream 7 docking
3.7V to 5V
Solar Charger
Infrared Decoder
PIC Music
Code Lock
Code Lock with LCD
HOME   Technical Tips


A project of connecting LCD display module to LPT printer port with multi lines and adjustable characters number. Included a VB6 software, Visual Studio 2005 VB and a circuit diagram. There are several makes of this module that are interchangeable, the one I used is UC-16207. The LCD module has a 14 way connector, 8 pins are used for data, 2 for supply, register select(RS), read/write, enable (E) and contrast adj. The R/W input must be connected to earth to make sure that data lines are in input mode. The VB application has only basic functions, it can be changed to interface the display for a variety of inputs.
The LCD module requires a delay of 2 ms or longer for some of the commands and clock (Enable) of 10 us or longer. By loop counting during Timer1 of 100 ms interval the speed of the cpu can be assessed and used to set micro-second time base.
The io.dll file has to be in the same folder as the exe file.
You can read more about LPT interface in

The download includes a freeware DLL (io.dll) which can be updated from
Keep the .exe file and .dll in the same folder. You are free to use the circuit diagram and the VB software with no limitations.

PC application.

Circuit Description
See also Technical Tips

5 volt supply can be an external power supply, using the hosting computer 5V is much preferred because variation between the computer 5V and the external 5V can lead to undesirable currents through the data lines. 5 volt supply is available at a USB port or the 4 way peripherals connector from the internal power supply unit.
Module can work with voltage range of 3.3 to 5 volts. Below 5 V the module doesn't initiate on power up so the VB extra instructions have to be enabled.
20K trimmer is needed to adjust the contrast voltage which vary with different batches of LCD.

Pins 7 to 14 of the LCD are data inputs. Pin 6 is clock input, enables LCD module to read the data.
Pin 4 is Register Select input, it is used for 16 bits instruction.


01.03.2020 - 17:01
Name: Moty
Comment: Hi Leslie, I don't have projects for Commodore, I've seen some on google. There are many projects for Commodore and Arduino:

01.03.2020 - 07:22
Name: Leslie
Comment: do you have any projects for Commodore (Vic20, C64, C128) computers?

08.02.2020 - 23:59
Name: Moty
Comment: Hi Leslie, BASIC of Commodore is different to windows BASIC. It also differ from one Commodore to another. Unfortunately I forgot that language. Also the printer connectors are different so my code has to be rewritten. I don't know what your project is and I can only suggest to use a newish microcontroller because you can find more example code on the net.

08.02.2020 - 08:17
Name: Leslie Giannini
Comment: would it be possible for you to write the software for this project using BASIC so i can learn better ? i plan on making a stand-alone pcb board using 6502 & 6522/6526 which would be based on Commodore pc's. i would really appreciate it if you could do this for me.  Thank you, Leslie.

09.10.2016 - 21:47
Name: Moty
Comment: Hi Jim, check that your BIOS are set to ports 378h-37fh and LPT is enabled, see the link above for more information. Turn the 20K pot until you get light grey rectangles.

09.10.2016 - 03:54
Name: jim
Comment: i got questions, it doesnt work on my unit, windows xp, vb6 is installed, the .exe program is opening but it doesn't show what i type at the program, please send me some help

18.04.2016 - 01:05
Name: elvis
Comment: project OK

07.07.2015 - 17:52
Name: Moty
Comment: Hi Alexander. for 20x4 you have to change the VB6 code.

07.07.2015 - 05:02
Name: Alexander
Comment: How if we would like to use 20x4 LCD?

31.05.2015 - 16:02
Name: Hans Andersson
Comment: I have not build it yet. But I will try. I seems to work fine.

17.10.2014 - 23:22
Name: kanishka
Comment: great projet

29.03.2013 - 12:20
Name: steve
Comment: Very Good Project

21.03.2013 - 14:38
Comment: it's great!  2008-2020