Nav:  [home][elec][periph] > [latch16bit]
Go:  [Latch16Bit] [circuit R2] [circuit R3] [software]
← [What are these? Why?]

Electronics -- Latch16Bit Board

Overwiew and Purpose

Latch16Bit prototype image [7kb]
[click to enlarge: 116kb]

The Latch16Bit board is a simple device to be connected to the parallel port of a normal PC.
It enables you to independently use 16 binary output channels and 16 binary input channels at 5V logic level. The purpose is simply to make 2x16 IO lines available for anything you want. Data is passed using the 8 data lines of the parallel port while two extra control lines (e.g. strobe and init) control the latch16bit and can be used to take the board off the data lines. This allows you to use the data lines as a bus shared with other devices.

The image on the left shows the rev2 prototype (above) with the additional rev3 input preparation circuit (below).

Using this board, you can for example build an Atmel microcontroller programmer with minimal expense.


Dec 2003: New version relased
This version fixes a critical bug with incorrectly set bit 5 of the control register which caused two (possibly complementary) logic outputs to be active at the same time causing the device to fail in unpredictable ways. Updating is strongly recommended. Note also that this version works with "bidirectional" parallel port; if it also works with EPP or ECP mode is unknown to me. An updated version of the Atmel programmer is also available.


All you need to apply this device is a normal parallel port on a home PC. One can use a simple (physical) parport switch in case the port has to be shared with the printer.
You need a bidirectional parallel port to be able to fully use the board but most PCs since 1996 have that. (I switched mine to "bidirectional" mode in the BIOS, not EPP or ECP; the latter two may or may not work)
In case you don't run Linux you need some programming skills to write driver software or to port the code provided by me. But you have these skills, otherwise you wouldn't be here anyway...

The Technical Stuff

If you want to build such a board yourself or you're just interested in the (pretty easy) design, have a look at the electronic circuit (rev2) page which has some more technical explanations. In case the control signal pins on the lp port have bad signal quality, you may need to apply some additional signal input preparation; in this case look at the circuit rev3. You can, however, also build rev2 and add the signal preparation using a separate board, as I did for the Atmel microcontroller programmer.

In order to be able to use Latch16Bit, you need some driver software. Of course, I wrote a little C++ API allowing you to easily use the board. See the software page for more info.

[home] [site map]
Valid HTML 4.01!
Copyright © 2003-2009 by Wolfgang Wieser
Last modified: 2009-02-10 21:02:15