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 SH1106 OLED: I2C Text Pages Demo | ShillehTek
Jul 30, 2026 Mahmood M. Shilleh 16 views

Arduino Nano SH1106 OLED: I2C Text Pages Demo | ShillehTek

Build an Arduino Nano dashboard using a 1.3 inch SH1106 I2C OLED and U8glib to cycle clean text pages, with simple fo...
Arduino UNO HMC5883L: Show X/Y/Z on 16x2 LCD | ShillehTek
Jul 30, 2026 Mahmood M. Shilleh

Arduino UNO HMC5883L: Show X/Y/Z on 16x2 LCD | ShillehTek

Build an Arduino UNO HMC5883L compass readout that streams live X/Y/Z magnetic field values to Serial and a 16x2 LCD ...
Arduino Nano APDS-9960: Gesture LCD Menu Control | ShillehTek
Jul 30, 2026 Mahmood M. Shilleh 1 views

Arduino Nano APDS-9960: Gesture LCD Menu Control | ShillehTek

Build an Arduino Nano APDS-9960 gesture-controlled 16x2 I2C LCD menu to navigate options and toggle loads with simple...
Arduino LCD2004 I2C: Hello World on 20x4 Display | ShillehTek
Jul 29, 2026 Mahmood M. Shilleh 6 views

Arduino LCD2004 I2C: Hello World on 20x4 Display | ShillehTek

Build an Arduino LCD2004 20x4 I2C display that prints Hello World using only four wires, ideal for menus and sensor r...
Arduino UNO SSD1306 OLED: Wire and Display Text | ShillehTek
Jul 29, 2026 Mahmood M. Shilleh 24 views

Arduino UNO SSD1306 OLED: Wire and Display Text | ShillehTek

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 | ShillehTek
Jul 29, 2026 Mahmood M. Shilleh 29 views

ESP32 DHT22 BMP180: Live Blynk Weather Dashboard | ShillehTek

Build an ESP32 weather station with DHT22, BMP180, and SI1145 sensors that streams six readings to Blynk with live we...
Arduino MAX30102 vs MAX30100: Choose the best sensor | ShillehTek
Jun 14, 2026 Mahmood M. Shilleh 136 views

Arduino MAX30102 vs MAX30100: Choose the best sensor | ShillehTek

Compare MAX30100 vs MAX30102 pulse oximeter modules for Arduino wearables, focusing on ADC, FIFO, and libraries so yo...
Arduino MAX30102: Heart Rate and SpO2 on OLED | ShillehTek
Jun 13, 2026 Mahmood M. Shilleh 128 views

Arduino MAX30102: Heart Rate and SpO2 on OLED | ShillehTek

Build an Arduino Nano MAX30102 pulse oximeter that shows live BPM and optional SpO2 on an SSD1306 OLED, using the Spa...
Arduino Nano DS3231 + TM1637: Drift-Free Alarm Clock | ShillehTek
Jun 13, 2026 Mahmood M. Shilleh 50 views

Arduino Nano DS3231 + TM1637: Drift-Free Alarm Clock | ShillehTek

Build an Arduino Nano clock with a DS3231 RTC and TM1637 display for a drift-free desktop alarm clock with temperatur...
Arduino Nano MAX6675 Thermocouple: Read Up to 1024�b0C | ShillehTek
Jun 10, 2026 Mahmood M. Shilleh 14 views

Arduino Nano MAX6675 Thermocouple: Read Up to 1024b0C | ShillehTek

Build an Arduino Nano MAX6675 K-type thermocouple reader with OLED display and optional over-temp relay cutoff for sa...
Arduino Nano TCA9548A: Run 8 Identical I2C Devices | ShillehTek
Jun 10, 2026 Mahmood M. Shilleh 36 views

Arduino Nano TCA9548A: Run 8 Identical I2C Devices | ShillehTek

Wire an Arduino Nano to a TCA9548A I2C multiplexer to run up to eight identical 0x3C OLEDs or sensors without address...
Arduino Nano KY-040 Rotary Encoder: OLED Menu UI | ShillehTek
Jun 10, 2026 Mahmood M. Shilleh 101 views

Arduino Nano KY-040 Rotary Encoder: OLED Menu UI | ShillehTek

Build an Arduino Nano menu UI using a KY-040 rotary encoder and SSD1306 OLED for smooth scroll-and-click navigation w...