Half of all “my sensor doesn’t work” problems are I2C problems. These guides cover bus wiring and pull-ups, address scanning and conflicts, 3.3V↔5V level shifting, and running multiple identical devices with a multiplexer — with working examples on Arduino, ESP32, and Pi. The exact converters and expanders used in the guides are below.
Shop the parts used in these tutorials
Pre-Soldered I2C Logic Level Converter 3.3V-5V Bi-Directional for Arduino, Raspberry Pi, ESP32 & Pico
$6.25
TCA9548A Pre-Soldered 1-to-8 I2C 8-Channel Multiplexer Module
$9.99
ADS1115 Pre-Soldered ADC Analog to Digital Converter Module for Arduino & Raspberry Pi
$9.75
BH1750 Pre-Soldered Digital Light Sensor for Arduino & Raspberry Pi
$6.98Arduino Nano VL53L1X: Build a Servo Radar Scanner | ShillehTek
Build an Arduino Nano VL53L1X servo radar scanner that sweeps a 60° arc, streams angle and distance data, and trigger...
ESP32-C6 DHT11 + OLED: Centered Temp Logger Display | ShillehTek
Build an ESP32-C6 DHT11 temperature logger with an SSD1306 OLED for centered, readable humidity and temperature data,...
Arduino Nano JSN-SR04T: OLED Distance Readout | ShillehTek
Build an Arduino Nano distance meter with the JSN-SR04T waterproof ultrasonic sensor and an SSD1306 OLED for live tan...
Arduino Uno MCP23017: Add 16 I2C GPIO Pins | ShillehTek
Build an Arduino Uno MCP23017 I2C GPIO expander that adds 16 extra pins, then scale it into a DIN-rail industrial mod...
Arduino Nano TDS Sensor: Display Water PPM on OLED | ShillehTek
Build an Arduino Nano TDS meter using a Gravity-style sensor module and SSD1306 OLED to display live water quality in...
Arduino Nano DFPlayer Mini: OLED MP3 Player Build | ShillehTek
Build an Arduino Nano MP3 player with a DFPlayer Mini (MP3-TF-16P) and SH1106 OLED menu UI, plus button controls and ...
Arduino Uno AMG8833: Stream Thermal Heat Map to PC | ShillehTek
Build an Arduino Uno or Nano AMG8833 thermal camera that streams an 8x8 heat map to a Windows PC with VirtualPanel in...
Arduino Nano SH1106 OLED: I2C Text Pages Demo | ShillehTek
Build an Arduino Nano dashboard using a 1.3 inch SH1106 I2C OLED and U8glib to cycle clean text pages, with simple fo...
Arduino UNO HMC5883L: Show X/Y/Z on 16x2 LCD | ShillehTek
Build an Arduino UNO HMC5883L compass readout that streams live X/Y/Z magnetic field values to Serial and a 16x2 LCD ...
Arduino Nano APDS-9960: Gesture LCD Menu Control | ShillehTek
Build an Arduino Nano APDS-9960 gesture-controlled 16x2 I2C LCD menu to navigate options and toggle loads with simple...
Arduino LCD2004 I2C: Hello World on 20x4 Display | ShillehTek
Build an Arduino LCD2004 20x4 I2C display that prints Hello World using only four wires, ideal for menus and sensor r...
Arduino UNO SSD1306 OLED: Wire and Display Text | ShillehTek
Wire a 0.91 inch SSD1306 128x32 I2C OLED to an Arduino UNO and display crisp text using U8g2, with a simple four-wire...