Buy 10+ on select items — save 10% auto-applied
Free US shipping on orders $35+
Order by 3pm ET — ships same-day from the US
Worldwide shipping via DHL
Skip to main content
ShillehTek IoT & Beyond

I2C Tutorials & Guides

Bus wiring, address conflicts, level shifting — solved.

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
Arduino Nano MPU6050: MAX7219 LED hourglass timer | ShillehTek
Oct 16, 2026 Mahmood M. Shilleh 10 views

Arduino Nano MPU6050: MAX7219 LED hourglass timer

Build an Arduino Nano hourglass timer using MAX7219 LED matrices and an MPU6050 so falling-sand grains reverse when flipped, plus tick and...
ESP32 SSD1306 OLED: Track ISS Passes with Alerts | ShillehTek
Oct 11, 2026 Mahmood M. Shilleh 25 views

ESP32 SSD1306 OLED: Track ISS Passes with Alerts

Build an ESP32 SSD1306 OLED ISS pass tracker with countdown, rise and set directions, peak elevation, and a buzzer LED visibility alert...
ESP32-C3 OLED MPU6050: Build a reactive desk pet | ShillehTek
Oct 11, 2026 Mahmood M. Shilleh 63 views

ESP32-C3 OLED MPU6050: Build a reactive desk pet

Build an ESP32-C3 desk pet with SSD1306 OLED RoboEyes, MPU6050 tilt and shake reactions, and TTP223 touch input for playful moods by...
Arduino Nano VL53L0X: Ball and Beam PID Control | ShillehTek
Oct 10, 2026 Mahmood M. Shilleh 46 views

Arduino Nano VL53L0X: Ball and Beam PID Control

Build an Arduino Nano ball-and-beam using a VL53L0X ToF sensor, MG90S servo, and slide pot setpoint to tune a live PID controller...
ESP32 MPU6050: On-Device Gesture Recognition | ShillehTek
Oct 10, 2026 Mahmood M. Shilleh 90 views

ESP32 MPU6050: On-Device Gesture Recognition

Build an ESP32 plus MPU6050 TinyML gesture recogniser using Edge Impulse, then run on-device inference and show results on an OLED with...
ESP32 AMG8833: Interpolated Thermal Heat Map on TFT | ShillehTek
Oct 04, 2026 Mahmood M. Shilleh 33 views

ESP32 AMG8833: Interpolated Thermal Heat Map on TFT

Build an ESP32 + AMG8833 thermal viewer that renders a smooth interpolated heat map on an ILI9341 TFT, plus a quick OLED...
RP2040-Zero MPU6050: Build a USB HID Air Mouse | ShillehTek
Sep 24, 2026 Mahmood M. Shilleh 55 views

RP2040-Zero MPU6050: Build a USB HID Air Mouse

Build an RP2040-Zero USB HID mouse with five buttons, then add an MPU6050 for tilt-based cursor control for a simple air mouse...
Arduino Uno DHT11: SD Data Logger with Timestamps | ShillehTek
Sep 24, 2026 Mahmood M. Shilleh 32 views

Arduino Uno DHT11: SD Data Logger with Timestamps

Build an Arduino Uno DHT11 data logger that writes timestamped temperature and humidity readings to a micro SD card using a DS3231...
Arduino Nano OLED: Triggered Waveforms to ~30 kHz | ShillehTek
Sep 13, 2026 Mahmood M. Shilleh 52 views

Arduino Nano OLED: Triggered Waveforms to ~30 kHz

Build an Arduino Nano plus SSD1306 OLED mini oscilloscope with triggered trace, Vpp and frequency readout up to about 30 kHz using...
Arduino Nano LM339: Measure Inductance on OLED | ShillehTek
Sep 13, 2026 Mahmood M. Shilleh 32 views

Arduino Nano LM339: Measure Inductance on OLED

Build an Arduino Nano LC ring meter using an LM339 and SSD1306 OLED to measure unknown inductors from about 5 uH to...
Arduino Nano MPU6050: Build a Self-Balancing Robot | ShillehTek
Sep 13, 2026 Mahmood M. Shilleh 48 views

Arduino Nano MPU6050: Build a Self-Balancing Robot

Build an Arduino Nano self-balancing robot using the MPU6050 and L298N, with a complementary filter and PID loop for stable two-wheel balancing...
Arduino Nano DS3231: Build a Binary LED Clock | ShillehTek
Sep 13, 2026 Mahmood M. Shilleh 25 views

Arduino Nano DS3231: Build a Binary LED Clock

Build an Arduino Nano DS3231 binary LED clock with 12 LEDs for hours, minutes, and a seconds heartbeat, plus battery-backed timekeeping from...