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
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 OLED: Triggered Waveforms to ~30 kHz | ShillehTek
Sep 13, 2026 Mahmood M. Shilleh 27 views

Arduino 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
Sep 13, 2026 Mahmood M. Shilleh 16 views

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
Sep 13, 2026 Mahmood M. Shilleh 9 views

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
Sep 13, 2026 Mahmood M. Shilleh 10 views

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
Sep 13, 2026 Mahmood M. Shilleh 9 views

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
Sep 13, 2026 Mahmood M. Shilleh 6 views

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
Sep 13, 2026 Mahmood M. Shilleh 7 views

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
Sep 13, 2026 Mahmood M. Shilleh 2 views

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
Sep 13, 2026 Mahmood M. Shilleh 5 views

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
Sep 13, 2026 Mahmood M. Shilleh 2 views

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
Sep 13, 2026 Mahmood M. Shilleh 11 views

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
Sep 05, 2026 Mahmood M. Shilleh 59 views

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...