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
ESP32 BME280 + ST7735: Wi-Fi Weather Station Display | ShillehTek
May 18, 2026 Mahmood M. Shilleh 97 views

ESP32 BME280 + ST7735: Wi-Fi Weather Station Display | ShillehTek

Build an ESP32 Wi-Fi weather station with a BME280 sensor and ST7735 TFT display to show indoor readings plus OpenWea...
Arduino DS3231 RTC: OLED Alarm Clock with Buzzer | ShillehTek
May 17, 2026 Mahmood M. Shilleh 147 views

Arduino DS3231 RTC: OLED Alarm Clock with Buzzer | ShillehTek

Build an Arduino DS3231 RTC alarm clock with an SSD1306 OLED and buzzer for accurate, battery-backed timekeeping and ...
Arduino Nano RC522 RFID: Smart Door Lock with OLED | ShillehTek
May 17, 2026 Mahmood M. Shilleh 76 views

Arduino Nano RC522 RFID: Smart Door Lock with OLED | ShillehTek

Build an Arduino Nano RC522 RFID smart door lock with an OLED status screen and servo latch action, using simple wiri...
Arduino 24MHz Logic Analyzer: Decode I2C SPI UART | ShillehTek
May 15, 2026 Mahmood M. Shilleh 120 views

Arduino 24MHz Logic Analyzer: Decode I2C SPI UART | ShillehTek

Capture and decode Arduino I2C traffic with a 24MHz USB logic analyzer in PulseView, so you can verify SPI, UART, and...
Arduino PCF8574: Add 8 GPIO Pins Over I2C | ShillehTek
May 15, 2026 Mahmood M. Shilleh 62 views

Arduino PCF8574: Add 8 GPIO Pins Over I2C | ShillehTek

Build an Arduino PCF8574 I2C GPIO expander project to drive 8 LEDs using only SDA and SCL, freeing pins for bigger bu...
Arduino SSD1306 OLED: Display Text and Graphics | ShillehTek
May 14, 2026 Mahmood M. Shilleh 82 views

Arduino SSD1306 OLED: Display Text and Graphics | ShillehTek

Wire an Arduino to an SSD1306 0.96 inch I2C OLED and upload a simple sketch to display text and graphics on a crisp 1...
Arduino Nano MPU6050: Stream Accel and Gyro Data | ShillehTek
May 14, 2026 Mahmood M. Shilleh 63 views

Arduino Nano MPU6050: Stream Accel and Gyro Data | ShillehTek

Build an Arduino Nano + MPU6050 IMU reader that streams live accelerometer and gyroscope data over Serial for motion ...
Arduino MLX90614: Read Non-Contact Temperature Values | ShillehTek
May 14, 2026 Mahmood M. Shilleh 48 views

Arduino MLX90614: Read Non-Contact Temperature Values | ShillehTek

Build an Arduino MLX90614 non-contact IR thermometer that reads ambient and object temperature over I2C, perfect for ...
Arduino Nano MPU9250 IMU: Stream 9-Axis Data | ShillehTek
May 14, 2026 Mahmood M. Shilleh 34 views

Arduino Nano MPU9250 IMU: Stream 9-Axis Data | ShillehTek

Wire an Arduino Nano to an MPU9250 IMU and stream 9-axis accel, gyro, and compass data over Serial for fast motion an...
Arduino ADS1115: 16-bit Precision Analog Reads | ShillehTek
May 14, 2026 Mahmood M. Shilleh 66 views

Arduino ADS1115: 16-bit Precision Analog Reads | ShillehTek

Build an Arduino ADS1115 16-bit I2C analog reader for four high-precision channels, ideal for sensors and battery mon...
Arduino ADXL345: Stream 3-Axis Acceleration Data | ShillehTek
May 14, 2026 Mahmood M. Shilleh 34 views

Arduino ADXL345: Stream 3-Axis Acceleration Data | ShillehTek

Wire an Arduino Nano to an ADXL345 accelerometer and stream live X/Y/Z acceleration over Serial for quick motion and ...
Arduino Nano BMP280: Stream Serial Readings | ShillehTek
May 14, 2026 Mahmood M. Shilleh 36 views

Arduino Nano BMP280: Stream Serial Readings | ShillehTek

Wire a BMP280 to an Arduino Nano and stream live pressure, temperature, and altitude to the Serial Monitor using I2C ...