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 OLED: Triggered Waveforms to ~30 kHz | ShillehTek
Build an Arduino Nano plus SSD1306 OLED mini oscilloscope with triggered trace, Vpp and frequency readout up to about...
Arduino Nano LM339: Measure Inductance on OLED | ShillehTek
Build an Arduino Nano LC ring meter using an LM339 and SSD1306 OLED to measure unknown inductors from about 5 uH to 1...
Arduino Nano MPU6050: Build a Self-Balancing Robot | ShillehTek
Build an Arduino Nano self-balancing robot using the MPU6050 and L298N, with a complementary filter and PID loop for ...
Arduino Nano DS3231: Build a Binary LED Clock | ShillehTek
Build an Arduino Nano DS3231 binary LED clock with 12 LEDs for hours, minutes, and a seconds heartbeat, plus battery-...
Arduino Uno 16x2 LCD: Custom Icons and Animations | ShillehTek
Build an Arduino Uno 16x2 I2C LCD demo with custom characters, a smooth 80-step progress bar, and a walking animation...
Arduino Nano OLED: LED Pendulum Metronome BPM Display | ShillehTek
Build an Arduino Nano LED pendulum metronome with an SSD1306 I2C OLED BPM display, a potentiometer tempo knob, and a ...
ESP32 OLED (SSD1306): Live Crypto Price Ticker | ShillehTek
Build an ESP32 SSD1306 OLED crypto price ticker that pulls live CoinGecko JSON over HTTPS, cycles multiple coins, and...
Arduino Uno + Nano I2C: Send DHT11 Data to OLED | ShillehTek
Build an Arduino Uno and Nano I2C link that requests DHT11 temperature and humidity and displays it on an SSD1306 OLE...
Arduino Nano MPU6050: Tilt Game and OLED Level | ShillehTek
Build an Arduino Nano MPU6050 tilt game and OLED digital level with a complementary filter for stable pitch/roll, usi...
Arduino Uno SSD1306 OLED: Build a Pong Game | ShillehTek
Build Arduino Uno Pong on a 0.96 in SSD1306 I2C OLED with two potentiometer paddles and a buzzer, and learn the game ...
ESP32 ESP-NOW: Send DHT11 Data to OLED | ShillehTek
Build an ESP32 ESP-NOW sender and receiver to broadcast DHT11 temperature and humidity to an SSD1306 OLED with no rou...
ESP32 OLED DHT: Build an Internet-Synced Clock | ShillehTek
Build an ESP32 internet clock with an SSD1306 OLED and DHT temperature/humidity sensor for always-correct NTP time an...