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 TCA9548A: Run 8 Identical I2C Devices
Wire an Arduino Nano to a TCA9548A I2C multiplexer to run up to eight identical 0x3C OLEDs or sensors without address collisions...
Arduino Nano KY-040 Rotary Encoder: OLED Menu UI
Build an Arduino Nano menu UI using a KY-040 rotary encoder and SSD1306 OLED for smooth scroll-and-click navigation with clean, reusable code...
Arduino vs Raspberry Pi GPIO: Choose the Right Board
Learn how Arduino microcontrollers and Raspberry Pi Linux boards differ, when to use each (or both), and avoid GPIO voltage mistakes with...
Arduino Nano HC-SR04 vs VL53L0X: Pick right sensor
Compare Arduino Nano readings from HC-SR04 ultrasonic vs VL53L0X ToF to choose the right distance sensor for robots, with bench-tested results from...
Arduino Nano DHT11/DHT22/BME680/DS18B20: Best Pick
Compare DHT11, DHT22, BME680, and DS18B20 on an Arduino Nano to choose the best temperature sensor for humidity, VOC, or waterproof builds...
Arduino PCA9685: Joystick-Controlled 6-DOF Arm
Build an Arduino Nano PCA9685 6-DOF robotic arm with MG90S servos, joystick control, and an OLED angle display using parts from ShillehTek.
ESP32 BH1750: Motorized Wi-Fi Blinds Control
Build ESP32 BH1750 motorized Wi-Fi blinds control with a 28BYJ-48 stepper and ULN2003, plus optional light-based automation, using ShillehTek parts.
Arduino Nano DS3231: Timed pill dispenser alerts
Build an Arduino Nano DS3231 pill dispenser with servo indexing, buzzer alerts, and an SSD1306 OLED so scheduled doses are easier to...
ESP32 MPU6050: Build a Wrist Sleep Tracker
Build an ESP32 + MPU6050 wrist-worn sleep tracker that logs motion all night and plots deep sleep vs REM from activity, using...
ESP32 ADS1115: Monitor 4 Soil Sensors via Wi-Fi
Build an ESP32 + ADS1115 multi-plant soil monitor that reads 4 moisture sensors and serves live Wi-Fi dashboard values for easier watering...
ESP32 DS18B20: Wi-Fi Smoker Thermometer Alerts
Build an ESP32 DS18B20 Wi-Fi BBQ thermometer with OLED readout and Telegram alerts, so you can monitor long smoker cooks remotely with...
Arduino Nano INA219 OLED: Live Bench Supply Display
Build an Arduino Nano bench supply with LM2596 regulation, INA219 current sensing, and an SSD1306 OLED for live voltage, current, and power...