Using the parallel port

As this is my very first project that I decribe here, I start with my basic software approach, which you should study and perhaps emulate first if you want to understand my programs and my style of programming in detail:


My first step in using the "lpt"-interface is to expand the output lines from 8 data lines to 24 data lines by using 3 control lines (/STROBE, /AUTOFEED and /SELECT) to latch the direct output into 3 74HCT374 digital ICs (names of lines refer to the standard printer mode SPP - you may use EPP or others as well):

For the "fat black" connections I took 2 cat5 ethernet cables with 8 wires each, so there are 5 lines left free for further use of additional I/O-signals. The 3 latches I "freely" soldered together as you can see here:

Perhaps you see the blue bubbles at the right: I've connected pin 10 and 20 of two of the ICs by a 100nF ceramic capacitor to avoid peak noise, but this would not really be necessary as long as the used frequencies are low. The 5 Volts supply line I separately lead out of the PC case together with a grounding zero line (and a 12 Volts supply pair as well for motor drives - see project 01) because the parallel port has no explicitely supported 5 Volts line. (You could use /reset-line #16 for that purpose, but the load of one input would be too low!)

To fix the wires I've put some colored hot glue onto it - up to now at the connector only - and of course before you make that mold ALL available lines should be connected to pins at the connector. Of course you might use any standard case instead.
Additional pins that should be used are #10, #11, #12, (bridge connect #13 to #15 as there is 1 line too much to fit with the 16 available cable lines), #15, #16 (#1, #14, #17 are already connected if you wired the 3 latches) whereas #18 up to #25 are GND pins and left free. The metal case compound of the connector is soldered at the cables shield.

We've got 24 output lines now - how to set them to 5 or 0 Volts? Well, programming is done by extensions to the programs I've mentioned above. You may look at the coding and comments to understand the supply of the output lines:


If this description is too short or cryptic for you feel free to email me any comment or question to


Last change: June 05, 2011 *** Online since: May 22, 2011 ***

I do not take any responsibility for the content of linked sites.