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 DFPlayer Mini: OLED MP3 Player Build
Build an Arduino Nano MP3 player with a DFPlayer Mini (MP3-TF-16P) and SH1106 OLED menu UI, plus button controls and EEPROM-saved settings...
Arduino Uno AMG8833: Stream Thermal Heat Map to PC
Build an Arduino Uno or Nano AMG8833 thermal camera that streams an 8x8 heat map to a Windows PC with VirtualPanel interpolation,...
Arduino Nano SH1106 OLED: I2C Text Pages Demo
Build an Arduino Nano dashboard using a 1.3 inch SH1106 I2C OLED and U8glib to cycle clean text pages, with simple four-wire...
Arduino UNO HMC5883L: Show X/Y/Z on 16x2 LCD
Build an Arduino UNO HMC5883L compass readout that streams live X/Y/Z magnetic field values to Serial and a 16x2 LCD using I2C...
Arduino Nano APDS-9960: Gesture LCD Menu Control
Build an Arduino Nano APDS-9960 gesture-controlled 16x2 I2C LCD menu to navigate options and toggle loads with simple swipes from ShillehTek.
Arduino LCD2004 I2C: Hello World on 20x4 Display
Build an Arduino LCD2004 20x4 I2C display that prints Hello World using only four wires, ideal for menus and sensor readouts with...
Arduino UNO SSD1306 OLED: Wire and Display Text
Wire a 0.91 inch SSD1306 128x32 I2C OLED to an Arduino UNO and display crisp text using U8g2, with a simple four-wire...
ESP32 DHT22 BMP180: Live Blynk Weather Dashboard
Build an ESP32 weather station with DHT22, BMP180, and SI1145 sensors that streams six readings to Blynk with live web and mobile...
Arduino MAX30102 vs MAX30100: Choose the best sensor
Compare MAX30100 vs MAX30102 pulse oximeter modules for Arduino wearables, focusing on ADC, FIFO, and libraries so you choose confidently with ShillehTek.
Arduino MAX30102: Heart Rate and SpO2 on OLED
Build an Arduino Nano MAX30102 pulse oximeter that shows live BPM and optional SpO2 on an SSD1306 OLED, using the SparkFun library...
Arduino Nano DS3231 + TM1637: Drift-Free Alarm Clock
Build an Arduino Nano clock with a DS3231 RTC and TM1637 display for a drift-free desktop alarm clock with temperature readout using...