An open API service indexing awesome lists of open source software.

https://github.com/asathiskumar98-byte/esp8266-oled-display-2-ssd1306-i-c-micropython

This project demonstrates how to interface an **SSD1306 OLED Display (128x64)** with the **ESP8266** using **I²C communication** in **MicroPython**. The example introduces a reusable function `oled_string()` for displaying dynamic text messages on the OLED.
https://github.com/asathiskumar98-byte/esp8266-oled-display-2-ssd1306-i-c-micropython

embedded-systems esp8266 esp8266-projects micropython micropython-esp8266 oled-display-ssd1306 thonny-ide

Last synced: about 2 months ago
JSON representation

This project demonstrates how to interface an **SSD1306 OLED Display (128x64)** with the **ESP8266** using **I²C communication** in **MicroPython**. The example introduces a reusable function `oled_string()` for displaying dynamic text messages on the OLED.

Awesome Lists containing this project

README

          

# 🖥️ ESP8266 OLED Display (SSD1306 I²C) — MicroPython

## 🧠 Overview
This project demonstrates how to interface an **SSD1306 OLED Display (128x64)** with the **ESP8266** using **I²C communication** in **MicroPython**.
The example introduces a reusable function `oled_string()` for displaying dynamic text messages on the OLED.

---

## ⚙️ Hardware Setup

| Component | ESP8266 Pin | Description |
|------------|-------------|--------------|
| OLED (SCL) | GPIO5 (D1) | Serial Clock Line |
| OLED (SDA) | GPIO4 (D2) | Serial Data Line |
| VCC | 3.3V | Power supply |
| GND | GND | Common ground |

🪛 **Connections:**
- **D1 (GPIO5)** → **SCL**
- **D2 (GPIO4)** → **SDA**
- **3.3V** → **VCC**
- **GND** → **GND**

---

## 🧩 Code

```python
from machine import Pin
from machine import I2C
import ssd1306

# D1 = SCL = GPIO5
# D2 = SDA = GPIO4

i2c = I2C(sda=Pin(4), scl=Pin(5))
display = ssd1306.SSD1306_I2C(128, 64, i2c)

def oled_string(x, y, z, c):
display.fill(0) # Clear display
display.text(x, y, z, c)
display.show()

oled_string('OLED Display', 20, 32, 1)