Phipps Electronics

Order within the next 

FREE SHIPPING OVER $199

50,000+ ORDERS

WORLDWIDE SHIPPING

SSL SECURED

← Back
You are here:
Print

CJMCU-200 FT200XD USB to I²C Bridge Module User’s Guide

Overview

The CJMCU-200 is a breakout board for the FTDI FT200XD chip, enabling USB-to-I²C communication. It allows a PC to act as an I²C master, ideal for EEPROM access, sensor polling, and debugging I²C peripherals.

  • Chipset: FTDI FT200XD
  • Interface: USB 2.0 to I²C (Master only)
  • Logic Level: 3.3V (5V tolerant)
  • Driver Support: FTDI VCP or D2XX
  • Software Stack: LibMPSSE-I2C, Python ctypes, FT_Prog

Pinout Reference

Pin Label Function Notes
+5V/VCC USB Power Input 5V from USB
GND Ground Common ground
SDA I²C Data Connect to target SDA
SCL I²C Clock Connect to target SCL
3V3

BCD

Regulated Output

Configurable CBUS I/O Pin

3.3V from onboard LDO

This pin is configured in the device MTP

Use external 4.7kΩ pull-ups on SDA/SCL if target lacks them.


🛠️ Wiring Example

CJMCU-200      →      I²C Target Device
-----------------------------
SDA            →      SDA
SCL            →      SCL
GND            →      GND
3V3 (optional) →      VCC (if target accepts 3.3V)

Software Setup

1. Install FTDI Drivers

  • Download D2XX drivers from FTDI
  • Optional: Install VCP drivers for serial fallback

2. Use LibMPSSE-I2C (Windows/Linux)

  • Download LibMPSSE-I2C from FTDI
  • Bind via Python (ctypes) or C/C++

Python ctypes Example:

from ctypes import *

ftdi = CDLL("libMPSSE.dll")

handle = c_void_p()
config = I2CChannelConfig(ClockRate=100000, LatencyTimer=2, Options=0)

ftdi.I2C_OpenChannel(0, byref(handle))
ftdi.I2C_InitChannel(handle, byref(config))

data = (c_ubyte * 1)(42)
ftdi.I2C_DeviceWrite(handle, 0x50, 1, data, 1, byref(bytes_written), 0)

Use Cases

Task Notes
EEPROM access AT24C256, 24LC series
Sensor polling Direct I²C queries from PC
Debugging I²C devices Monitor ACK/NACK, bus behavior
GUI integration Node-RED or FTDI I²C GUI tools

FT_Prog Customization

  • Change USB descriptors (Product Name, Serial Number)
  • Enable remote wakeup or power settings
  • Useful for multi-device setups or automated test rigs

Troubleshooting

Symptom Likely Cause Fix
No device detected Driver not installed Reinstall D2XX
I²C errors Missing pull-ups / wrong voltage Add 4.7kΩ resistors / check VCC
Bus hangs Target not responding Power cycle / check address
Python errors DLL not found / wrong path Set correct path to libMPSSE.dll

Advanced Integration Tips

  • Combine with EEPROM editor scripts for batch flashing
  • Use logic analyzer to verify I²C timing and ACK/NACK
  • Integrate with FreeCAD test fixtures for automated probing
  • Benchmark throughput using bulk transfers and page writes

Was this article helpful?
Please Share Your Feedback
How Can We Improve This Article?
Table of Contents
Scroll to Top