CJMCU FT232H USB to JTAG/UART/FIFO/SPI/I2C Module User’s Guide
Overview
The FT232H module is a versatile USB bridge that supports multiple protocols—UART, SPI, I2C, JTAG, and FIFO—via a single USB interface. It’s ideal for high-speed communication, debugging, and programming of embedded systems.
Key Specifications
Feature | Details |
---|---|
USB Interface | USB 2.0 High-Speed (480 Mbps) |
Protocols Supported | UART, SPI, I2C, JTAG, FIFO |
Voltage Levels | 3.3V logic (5V tolerant inputs) |
Chipset | FTDI FT232H |
GPIOs | Up to 8 configurable pins |
OS Compatibility | Windows, macOS, Linux |
Driver Installation
Windows
- Download FTDI VCP drivers.
- Install and reboot.
- Confirm COM port in Device Manager.
macOS & Linux
- Use built-in FTDI support or install D2XX drivers.
- For Python use, install
libftdi
orpyftdi
.
Pinout Reference
Pin Label | Function | Notes |
---|---|---|
AC0-AC9 / D0–D7 | GPIO / SPI / UART / I2C / JTAG | Configurable via software |
+5V | 5V from USB | Power output |
+3.3V | 3.3V from LDO | Power output |
VCORE | 1.8V from LDO | Power output |
GND | Ground | Common ground |
Protocol Usage Guide
UART Mode
- Use Case: Serial console, bootloader flashing
- Tools: PuTTY, TeraTerm, Arduino IDE
- Wiring:
- D0 → TX
- D1 → RX
- GND → GND
- Baud Rate: Up to 12 Mbps
SPI Mode
- Use Case: Flash memory access, sensor interfacing
- Tools:
pyftdi.spi
,libftdi
, OpenOCD - Wiring:
- D0 → MOSI
- D1 → MISO
- D2 → SCLK
- D3 → CS
- GND → GND
I2C Mode
- Use Case: EEPROM, RTC, sensor communication
- Tools:
pyftdi.i2c
,libftdi
- Wiring:
- D0 → SDA
- D1 → SCL
- GND → GND
- Pull-ups: External 4.7kΩ recommended
JTAG Mode
- Use Case: Debugging ARM/FPGA
- Tools: OpenOCD
- Wiring:
- TCK, TDI, TDO, TMS → Target JTAG pins
- GND → GND
Python Setup (PyFtdi)
pip install pyftdi
Example: I2C Scan
from pyftdi.i2c import I2cController
i2c = I2cController()
i2c.configure('ftdi://ftdi:232h/1')
print(i2c.scan())
Troubleshooting
Issue | Solution |
---|---|
Device not detected | Check cable, reinstall driver |
Protocol not working | Confirm pin mapping and voltage levels |
Python errors | Use correct URI and install pyftdi |
JTAG fails | Verify target voltage and pinout |
Pro Tips
- Use external level shifters for 1.8V targets.
- Combine with logic analyzers for protocol debugging.
- Use OpenOCD for JTAG workflows with STM32 or FPGAs.
- For SPI flash programming, try
flashrom
orpyftdi.spi
.