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.