

USB I2C
USB-I2C bridge
- Size
- 60 × 18 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 26
- Nets
- 35
- Pads
- 130
- Tracks, vias
- 222, 59
- Pours
- 119
- Routed
- Yes
- KiCad
- KiCad 7 (file 20230410)
- Created
- 31 Jul 2018
- Updated
- 12 Mar 2026
Overview
USB I2C is an open-source printed circuit board by burgrp, from the burgrp/hw-USB-I2C repository on GitHub. It is a 2-layer board of 60 × 18 mm with 26 parts on 35 nets, routed with 222 tracks and 59 vias.
It is built around the ESP32-C3 and LM1117MP-3.3. Its parts include 9 capacitors, 8 resistors, 3 connectors, 3 crystals and 2 ICs. It belongs with the interfaces and adapters boards and the ESP32 and RISC-V boards of this library.
Main components
2ESP32-C3
QFN-32-EP(5x5)12bit 160MHz 22 3V~3.6V Others QFN-32-EP(5x5) Microcontrollers (MCU/MPU/SOC) ROHSEspressif SystemsMicrocontrollers (MCU/MPU/SOC)LM1117MP-3.3
SOT-2230℃~+125℃@(Ta) 1 1.2V@(800mA) 15V 3.3V 5mA 75dB@(120Hz) 800mA 99uVrms Fixed Over Current Protection、Over Temperature Protection Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
README.mdUSB-I2C bridge
USB to I2C bridge implemented on ESP32-C3FN4 MCU.

Features
- Serial to I2C interface
- Alert line
- 3.3V, 5V power supply
- Simple serial protocol
- Implemented in MicroPython
- Designed in KiCAD
Connectors
All connectors have the same pin-out as follows.
- GND
- SCL
- SDA
- +3.3 V
- +5V
- ALERT (IRQ)
Binding
For Node.js there is a library i2c-js published on NPM as @burgrp/i2c.
USB protocol
- VID: 303A
- PID: 1001
The bridge is controlled through serial port by simple text protocol:
Sscans bus for devices, repliesSaddr1,addr2,addr3,...R,addr,lenreads data from device, repliesR,hex_dataW,addr,hex_datawrites data to device, repliesW,acked_countAgets alert line status, repliesAT(true) orAF(false).
Addresses are always expressed in 7bit format, therefore without R/W bit.
Example
By commands S, R,79,2, A we can scan the bus, read temperature from LM75A sensor found on address 79 and check the alert line:
> miniterm /dev/ttyACM0 115200 --raw
--- Miniterm on /dev/ttyACM0 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
S
S79
R,79,2
R1A40
A
AFLicense
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100n | Capacitor_SMD:C_0805_2012Metric | C3, C4, C5, C6 |
| 3 | 4k7 | Resistor_SMD:R_0805_2012Metric | R2, R3, R4 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric | C1, C2 |
| 2 | 15p | Capacitor_SMD:C_0805_2012Metric | C8, C9 |
| 2 | 5.11k 1% | Resistor_SMD:R_0805_2012Metric | R7, R8 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric | R5 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric | R6 |
| 1 | 1u | Capacitor_SMD:C_0805_2012Metric | C7 |
| 1 | 270R | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | 40MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | Conn_01x06 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J1 |
| 1 | Conn_01x06 | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J3 |
| 1 | ESP32-C3 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm | U2 |
| 1 | I2C | Drake:Micro-Match-FOB-4 | X2 |
| 1 | I2C-6P | Drake:Micro-Match-FOB-6 | X1 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | LM1117MP-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | USB_C_Receptacle | Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J4 |
Similar boards
- 2 layers69.9 × 50.8 mm

- 4 layers85 × 56 mm

- 4 layers90 × 50 mm

Greenmobi bms
G-Pereira/greenmobi-bms
A VESC compatible battery management system
141 parts31CERN-OHL-S-2.0 - 8 layers35 × 35 mm

OpenAIO
OpenDrone-hw/OpenAIO
Open-source AIO for 2-6S toothpick quads: flight controller, 4-in-1 AM32 ESC and ExpressLRS receiver, 25.5x25.5 mm.
343 parts19CERN-OHL-S-2.0 - 4 layers40 × 30 mm

- 2 layers30 × 18 mm

- 2 layers45.7 × 21.3 mm

- 2 layers70 × 54 mm

Questions
How big is the USB I2C PCB?
It measures 60 × 18 mm and has 2 copper layers, 1.6 mm thick.
What parts does the USB I2C use?
26 parts, built around the ESP32-C3 and LM1117MP-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the USB I2C KiCad files?
From the burgrp/hw-USB-I2C repository on GitHub, at the commit this page was made from: the board is board/USB-I2C.kicad_pcb and its schematic board/USB-I2C.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the USB I2C design in my own project?
Its repository states no licence, so its author keeps all rights: ask burgrp before reusing the design.