Ever miss the simple days of using a PC’s LPT1 parallel port to bit-bang GPIO over 8 output pins and 4 input pins of the DB-25 connector? I sure do. My first design project as a BSEE graduate in 1993 was to design a LPT1 controlled test fixture for the Motorola MDT-9100-T data terminal (shown below). Those were the days. By multiplexing 12 parallel port pins into 74HC dip CMOS latches and transceivers my test jig tested all the IO signals of the MDT-9100s 386sx motherboard. All of the diagnostic software could be written in C on my Windows 3.1 desktop thanx to this versatile interface. Those were the glorious simple days of computing. Sigh…. Then USB came along and killed the wonderfully easy parallel port interface.
But wait, FTDI has recently introduced a low cost and very versatile USB chip called the FT260Q. It is unique in that it requires no device drivers. It provides up to 14 IO pins that can be used for driving LEDs, reading switches, interfacing to LVCMOS circuits all while requiring very little support circuitry. This open source Black Mesa Labs’ project describes the DIP-18 breakout board for the FT260Q which may be built for under $5.
The 24 x 19 mm 2-layer PCB may be ordered here from OSH-Park for just about $3 for 3 PCBs.
Bill of Materials ]
Qty-1 : 768-1268-ND : FT260Q-T IC USB TO UART/I2C 28WQFN : $1.83 Qty-1 : 240-2390-1-ND : FERRITE BEAD 600 OHM 0805 : $0.11 Qty-1 : 609-4613-1-ND : CONN USB MICRO B RECPT SMT R/A : $0.42 Qty-2 : F4239CT-ND : TVS DIODE 24VWM 150VC 0603 : $0.65 Qty-3 : 445-4112-1-ND : CAP CER 10UF 6.3V X5R 0603 : $0.06 Qty-2 : 399-7918-1-ND : CAP CER 47PF 50V C0G/NP0 0603 : $0.10 Qty-3 : 445-5111-6-ND : CAP CER 0.1UF 25V X7R 0603 : $0.10 Qty-4 : Resistor 4.7K 5% 0603 Qty-2 : Resistor 33 ohms 5% 0603 Qty-1 : Resistor 1 Mohm 5% 0603
The FT260 is a USB device which supports I²C and UART communication
through the standard USB HID interface. This is very cool as it means it should work with any USB host platform without requiring any special device drivers. See the FTDI Application Note AN_394 User Guide for FT260 for details on programming the FT260Q, also the datasheet.
To send and receive HID reports from Windows ( or Linux ) in the Python environment, the module hidapi is needed. Download the appropriate hidapi Python WHL for your platform from this link https://pypi.python.org/pypi/hidapi/0.7.99.post21 . For example, at BML, currently running Python35 on 64bit Windows10, so downloaded both hidapi-0.7.99.post21-cp35-cp35m-win_amd64.whl and hidapi-0.7.99.post21-cp35-cp35m-win32.whl .
Read more: BML GPIO-14 USB Board for PCs