libFTDI - FTDI USB driver with bitbang mode

libFTDI is an open source library to talk to FTDI chips: FT232BM, FT245BM, FT2232C, FT2232D, FT245R, FT232H and FT230X including the popular bitbang mode. The library is linked with your program in userspace, no kernel driver required.

libFTDI works perfectly with Linux, Windows, MacOS X and BSD variants thanks to libusb.


2014-11-21: Version 1.2 of libftdi released

  • Support for FT230X devices (Uwe Bonnes)
  • ftdi_usb_get_strings(): Don't try to open an already open device (Denis Sirotkin)
  • Support for finding devices bricked by the Windows driver (Forest Crossman)
  • cmake build system: New LibFTDI1ConfigVersion.cmake file (xantares09)
  • Fix a typo in the MPSSE command CLK_BYTES_OR_LOW (Benjamin Vanheuverzwijn)
  • Minor fixes for MSVC++ (Andrei Errapart)
  • Various small code improvements (Florian Preinstorfer, Jochen Sprickerhof, xantares09)
2014-02-05: Version 1.1 of libftdi released
  • Fix FT232H eeprom suspend pulldown setting (Davide Michelizza)
  • Fix FT232H eeprom user area size (Davide Michelizza)
  • Improved mingw build (Paul Fertser and Michel Zou)
  • C++ wrapper: Get/set functions for USB timeouts (Jochen Sprickerhof)
  • Partial support for FT230X (Nathael Pajani)
  • New API function: ftdi_eeprom_set_strings() (Nathael Pajani)
  • Prevent possible segfault in ftdi_eeprom_decode() (Nathael Pajani)
  • Save device release number in eeprom (Jarkko Sonninen)
  • Fix "self powered" eeprom flag (Jarkko Sonninen)
  • Improved python wrapper (Michel Zou)
  • Many buildsystem improvements (Michel Zou and Mike Frysinger)
  • See the git history for more changes and fixes
2013-01-29: Version 1.0 of libftdi released
  • Ported to libusb 1.x (initial work by Jie Zhang)
  • Many eeprom handling improvements (Uwe Bonnes, Anders Larsen)
  • Renamed pkconfig, library .so etc. files to "libftdi1" (Intra2net)
  • ftdi_eeprom is part of libftdi now (Intra2net)
  • New baudrate calculation code + unit tests (Uwe Bonnes and Intra2net)
  • Improved python bindings including python3 support (Michel Zou)
  • Switched completely to cmake build system (Intra2net)
  • cmake: Easy libftdi discovery via find_package() (Michel Zou)
  • eeprom handling now done via get()/set() functions (Uwe Bonnes)
  • C++ wrapper: Fixed use-after-free in List::find_all() (Intra2net)
  • Documentation updates (Xiaofan Chen)
  • See the git history for more changes and fixes


The library itself is licensed under LGPL 2.1 (not any later),
the EEPROM programmer is licensed under GPL 2 (not any later)

© Intra2net AG 2015
Imprint     Contact