Tigard is an open source FT2232H-based, multi-protocol, multi-voltage tool for hardware hacking. By incorporating commonly used pin-outs, a labelled wiring harness, onboard level-shifting, and a logic analyzer connection, it is designed specifically for attaching to and communicating with low-speed interfaces on reverse-engineered hardware targets.
It pairs very well with the BitMagic Basic Logic Analyzer. You can connect the BitMagic to Tigard through the built in Logic Analyzer port on the Tigard.
Features & Specifications
- USB Type C high-speed (480 Mbps) interface
FTDI FT2232HQ Dual High Speed USB to Multipurpose UART/FIFO IC
- Primary port dedicated to UART including access to all flow control signals
- 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
In general, Tigard was designed to work as-is with several tools and libraries that already support the x232H family of chips. This includes:
- 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
Thanks to the drop-in compatibility with so many tools, there is no need for Tigard-specific tools to interface with any targets. If you do find the need to customize a tool or script using Tigard, it should work fine with any other FT2232H interface board.
Example Use Cases
- Attach to the serial console you find on a home automation device
- Dump the contents of a SPI flash chip inside of a set top box
- Use GDB over the JTAG pins to modify code in memory, allowing you to bypass a login prompt you're connected to over the UART pins on a kid's toy you've taken apart
- Use I²C to interact with an OLED display, while concurrently observing the transactions with a BitMagic logic analyzer over the LA port