Electronics » Computer Interface »
Pololu Isolated USB-to-I²C Adapter
This USB-to-I²C adapter enables a PC or other USB host to act as the controller on an I²C bus, reading and writing data from I²C target devices connected to the bus. It supports clock stretching and I²C clock speeds in excess of 1 MHz. The adapter features complete galvanic isolation between the USB and I²C sides, which prevents unexpected current flow between the two sides and protects the computer and its USB ports from destructive voltages on the I²C bus. This version does not deliver USB power to the I²C bus, so a voltage of 2.25 V to 5.5 V must be supplied on the I²C side.
Compare all products in Computer Interface or
Signal Adapters and Extenders or
Isolation.
Description | Specs (4) | Pictures (7) | Resources (6) | FAQs (0) | On the blog (1) | Distributors (0) |
---|
Overview
![]() |
This USB-to-I²C adapter functions as a bridge between I²C devices and a PC or other USB host, enabling the USB host to serve as an I²C controller and communicate with target devices on the I²C bus. It supports bidirectional communication with clock stretching and I²C clock speeds beyond 1000 kHz.
The adapter provides full galvanic isolation between the USB and I²C sides, which prevents unexpected current flow between the USB host and the I²C bus and protects the USB host from damaging voltages on the I²C bus (the adapter would be damaged under such conditions, but those voltages would not be able to propagate through to the USB side).
The module features a USB Type-C connector. On the USB side, the adapter acts as a virtual serial port (CDC ACM), so it is recognized by major operating systems (e.g. Windows 10 and later, Linux, and macOS) without requiring any driver installation. This means the adapter can be used with any programming environment that allows writing and reading binary data from a serial port (see the user’s guide for documentation on the communication protocol). We provide a Python library for the adapter to make it easy to get started in Python, and the firmware for the adapter’s STM32C071G8 microcontroller is open source for those who want to understand better how it works or customize the behavior.
The I²C side features a JST SH-style 4-pin connector that is compatible with SparkFun’s Qwiic and Adafruit’s STEMMA QT. It also brings the four I²C pins out to 0.1″-pitch through-holes that are compatible with standard 0.1″ male headers and female headers.
Note: This adapter does not deliver USB power to the I²C side and instead requires target power to be supplied separately; an alternative adapter version is available that delivers isolated power to the target.
Connections
![]() |
Pin | Cable color | Function |
---|---|---|
1 | Black | I²C ground (GND); this pin is NOT connected to USB GND |
2 | Red | I²C input voltage (VCC); user must supply 2.25 V to 5.5 V across this pin and GND |
3 | Blue | I²C data line (SDA) |
4 | Yellow | I²C clock line (SCL) |
Schematic diagram
![]() |
Schematic diagram of the Pololu Isolated USB-to-I²C Adapter. |
---|