github.com/eblot/pyftdi

FTDI device driver written in pure Python

Open this visualization on its own page →

Contributors

31

Lines of Code

1,930

From

2010-12-13

To

2020-10-14

About eblot/pyftdi

PyFtdi is a pure Python driver for FTDI USB devices, enabling communication with popular FTDI chips without requiring vendor-supplied libraries. The project supports a wide range of FTDI device variants, from simple single-port UART/GPIO bridges like the FT232R to more advanced multi-port devices like the FT4232H with higher clock speeds up to 30 MHz.

The library implements comprehensive protocol support including serial UART communication at speeds up to 12 Mbps, GPIO bitbanging in multiple modes, SPI and I2C master protocols, basic JTAG capabilities, and EEPROM access. It can simultaneously manage GPIO alongside SPI and I2C communications, with support for non-standard transfer sizes and flexible pin configurations. The driver also includes experimental CBUS support on selected devices.

PyFtdi is designed to work across multiple operating systems including macOS, Linux, FreeBSD, and Windows, making it accessible to developers working in embedded systems and hardware interfacing. The project requires Python 3.9 or later and is distributed under the BSD 3-Clause license. Documentation is available online and the package is published on PyPI for easy installation.

Share this video