I²C

13 pages across tutorials, modules, pinouts and guides.

beginnerModuleUpdated

3-Axis Accelerometer

A Silan SC7A20H accelerometer on a TinkerBlock board: tilt, orientation, shakes and drops over two shared I²C wires, at address 0x19, with the pull-ups fitted. 3.3 V only.

Sensors· ESP32-S3, ESP32, Raspberry Pi· 5 min
beginnerModule

PCA9685 16-Channel Servo Driver: Sixteen Servos on Two I²C Wires

A PCA9685 board that keeps sixteen servo pulses running by itself while the microcontroller talks to it over I²C. Servo power on V+ from USB-C or a screw terminal, the chip on VCC, six address pads, and a header on each edge so boards plug into each other. Three boards a box, headers soldered.

Motors & Actuators· ESP32-S3, ESP32, ESP32-C3, Arduino, Raspberry Pi, Raspberry Pi Pico· 6 min
beginnerModule

INA219 and INA3221 Current Monitors: shunt, range and wiring

Two I²C current and voltage monitors: the TK119 with one INA219 on a 100 mΩ shunt, and the INA3221 with three channels on 50 mΩ. What the chip measures and what it works out, why the two resistors differ, the range and step each one gives, and the wiring for both.

Power· ESP32-S3, ESP32, ESP32-C3, Raspberry Pi Pico, Arduino, Raspberry Pi· 6 min
beginnerModuleUpdated

INA219 Current Monitor

A 100 milliohm resistor in the positive wire and a chip that reads the millivolts across it. Current, voltage and power over I²C, up to 3.2 A on a rail of up to 26 V.

Power· ESP32-S3, ESP32, Arduino, Raspberry Pi· 7 min
beginnerModuleUpdated

SHT31 Temperature and Humidity Sensor

A Sensirion SHT31 on a TinkerBlock carrier: two numbers over two shared wires, calibrated at the factory, with the pull-ups already fitted and two jumpers on the back that set the address and take them away again.

Sensors· ESP32-S3, ESP32, Arduino, Raspberry Pi· 6 min
beginnerModuleUpdated

1602 I²C LCD Display Module, 16×2 Blue

A 16 × 2 character display with the I²C chip on the board rather than on a backpack. Four wires, address 0x27 by default, three solder pads to change it, and a contrast trimmer that explains most blank screens.

Displays· ESP32-S3, ESP32, ESP32-C3, Arduino, Raspberry Pi, Raspberry Pi Pico· 6 min
beginnerModule

ADS1115 16-Bit ADC I2C Module

Four analog inputs on two wires, with a real 16-bit converter and its own reference — the part you reach for when analogRead is not good enough. Which range to pick, why the supply is the real ceiling, and the two addresses this board can take.

Sensors· ESP32, ESP32-S3, ESP32-C3, Arduino, Raspberry Pi, Raspberry Pi Pico· 7 min
beginnerModule

Logic Level Converters: MOSFET 2/4/6-Channel, TXB0108 and TXS0108

Five boards that let a 3.3 V board and a 5 V part share a wire safely. Which one to use for I²C, SPI, serial or an LED strip, which side is which, and the three wires that come before any signal.

Fundamentals· ESP32-S3, ESP32, ESP32-C3, Arduino, Raspberry Pi, Raspberry Pi Pico· 6 min
beginnerModule

Logic Analyzer Kit, 8-Channel 24 MHz

Eight channels sampled at up to 24 MS/s, straight up a USB cable. It decodes I²C, UART and SPI at the speeds a microcontroller actually runs, and the sample rate is the number that decides the rest.

Fundamentals· ESP32-S3, ESP32, ESP32-C3, Arduino, Raspberry Pi Pico· 9 min
beginnerModuleUpdated

EEPROM Memory

An AT24C128 I2C EEPROM on a TinkerBlock board: 16,384 bytes that keep their values with the power off, at address 0x50. VCC goes to your board's logic supply because the pull-ups end at VCC, each write takes up to 5 ms, a write wraps inside its 64-byte page, and each byte takes about a million writes.

Storage· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

LM75 Temperature Sensor

An LM75B digital temperature sensor on a TinkerBlock board, read over I2C at address 0x48: two bytes that are already degrees, in steps of an eighth, within 2 °C from −25 to 100 °C. VCC goes to your board's logic supply because the pull-ups end at VCC.

Sensors· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Logic Level Converter

Six bidirectional channels between 3.3 V and 5 V on a TinkerBlock board: L1 to L6 in a socket on the 3.3 V side, H1 to H6 on a header on the 5 V side, each a BSS138 with a 10 kΩ pull-up either side. It needs only 5V and GND: an ME6211 regulator makes the 3.3 V side's supply, so the socket's 3V3 pin is an output that powers a 3.3 V block, and is never fed.

Fundamentals· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Matrix Keypad with I2C Adapter (4x4, PCF8574)

A 4×4 keypad on two I²C wires instead of eight GPIO pins. The TK85 adapter at a fixed 0x20, the compact adapter in the keypad packs with eight addresses, the soft and heavy-duty keypads, and the two keymaps they need.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 6 min