This device is an adaptation of Digistump's USB device, with two added Qwiic connectors. The first is used as a 5V I2C port, and the second has a level shifter to 3.3V using BSS138 FETs to create a 3.3V I2C port. It's slightly bigger than the original, coming in at 34.0 x 18.7 mm (for the stump, which plugs directly into a USB port), or 25.9 x 18.8 mm (for the USB-C version)..
See my Oshpark projects: v2, v3, v4, current-v5.
You can see a few pictures of the v3 board here.
- C1,C3: Tantalum 4.7 μF (0805)
- C2: Ceramic 0.1 μF (0603)
- D1,D2: 3.6V Zener (SOD-323)
- D3: Blue (activity) LED (0603)
- D4: Red (power) LED (0603)
- IC1: ATTINY85 (SO08)
- IC2:
- v2: AM1117 3.3V (SOT223)
- v3+: MCP1703 3.3V (SOT23)
- J1,J2: QWIIC Connector (1X04 1MM RA)
- Q1,Q2: BSS138 (SOT23-3)
- R1,R2: 66 Ω (0603)
- R3,R7: 680 Ω (0603)
- R4: 2.2 kΩ (0603)
- R5,R6: 5.1 kΩ (0603)
- RN1: 10 kΩ (0805)
- USB-C 16 pin connector
To build this board by hand, take a look at the instructions.
The ATTiny85 is first flashed with Micronucleus,
a bootloader which equips the microcontroller with a minimal USB interface. You can use the
ICSP
touchpoint header at the bottom of the board to flash.
Firmware which runs under the micronucleus bootloader is I2C-Tiny-USB which is detected under Linux using the i2c-tiny-usb driver.
Thanks go to:
- Digistump LLC for sharing the original for this device under Creative Commons.
- Tim Böscke, Jenna Fox, Shay Green et al for the Micronucleus bootloader.
- Till Harbaum for an excellent ATTINY85 firmware for an I2C bridge.