Open Source FT2232H-based, Multi-protocol, Multi-voltage Tool For Hardware Hacking and Reverse Engineering

Published  November 2, 2020   0
Tigard - FT2232H based Multi-Protocol, Multi-Voltage, Open-Source Tool

Tigard is a FT2232H-based, a multi-protocol, multi-voltage, open-source tool that is designed specifically for attaching to and communicating with low-speed interfaces on reverse-engineered hardware targets. The board incorporates commonly used pin-outs, a labeled wiring harness, onboard level-shifting, and a logic analyzer connection. 

Tigard serves as a drop-in replacement for dozens of hardware tools based on FTDI chips. It has native support from several commonly used hardware tools like OpenOCD, FlashROM, and more.

By supporting 20% of the features that enable 80% of the common hardware hacking tasks involved with speaking various protocols, Tigard genuinely complements a wide range of more advanced hardware hacking tools available in the market. Tigard comes with LEDs that will assist the user in debugging the target, protocol, and software.

Features and Technical Specifications

  • USB Type C high-speed (480 Mbps) interface
  • FTDI FT2232HQ Dual High-Speed USB to Multipurpose UART/FIFO IC. The primary port is dedicated to UART including access to all flow control signals while the secondary port shared among dedicated headers for SWD, JTAG, SPI, and I²C
  • High-performance directional level-shifters for 1.8 to 5.5 V operation
  • Switch to choose between on-board 1.8 V, 3.3 V, 5.0 V, and off-board vTarget supplies
  • Switch to choose between SPI/JTAG and I²C/SWD modes
  • Logic analyzer (LA) port to observe device-level signals
  • Indicator lights to aid debugging

Tigard works as-is with several tools and libraries (USB-Serial drivers for UART access, OpenOCD, and UrJTAG for JTAG, Flashrom, PyFtdi/PySpiFlash, LibMPSSE, and other tools for SPI interfaces, LibMPSSE and PyFtdi/PyI2CFlash for I²C interfaces) that support the x232H family of chips.

Its drop-in compatibility with different tools eliminates the need for Tigard-specific tools to interface with any targets. In case, the need to customize a tool or script using Tigard arises, it should work fine with any other FT2232H interface board.