https://github.com/asathiskumar98-byte/esp8266-oled-graphics-display-ssd1306-micropython
This project demonstrates how to use an **SSD1306 128x64 OLED display** with an **ESP8266** board using **MicroPython**. It covers **text display**, **pixel plotting**, and **basic graphics drawing** (lines, boxes, and shapes) using the `ssd1306` library.
https://github.com/asathiskumar98-byte/esp8266-oled-graphics-display-ssd1306-micropython
embedded-systems esp8266 esp8266-projects micropython micropython-esp8266 oled-display-ssd1306 oled-ssd1306 thonny-ide
Last synced: about 2 months ago
JSON representation
This project demonstrates how to use an **SSD1306 128x64 OLED display** with an **ESP8266** board using **MicroPython**. It covers **text display**, **pixel plotting**, and **basic graphics drawing** (lines, boxes, and shapes) using the `ssd1306` library.
- Host: GitHub
- URL: https://github.com/asathiskumar98-byte/esp8266-oled-graphics-display-ssd1306-micropython
- Owner: asathiskumar98-byte
- Created: 2025-10-29T05:01:22.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-10-29T05:06:26.000Z (7 months ago)
- Last Synced: 2025-10-29T07:09:47.334Z (7 months ago)
- Topics: embedded-systems, esp8266, esp8266-projects, micropython, micropython-esp8266, oled-display-ssd1306, oled-ssd1306, thonny-ide
- Language: Python
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🖥️ ESP8266 OLED Graphics Display (SSD1306) — MicroPython
## 🧠 Overview
This project demonstrates how to use an **SSD1306 128x64 OLED display** with an **ESP8266** board using **MicroPython**.
It covers **text display**, **pixel plotting**, and **basic graphics drawing** (lines, boxes, and shapes) using the `ssd1306` library.
---
## ⚙️ Hardware Setup
| Component | ESP8266 Pin | Description |
|------------|-------------|--------------|
| OLED SDA | GPIO4 (D2) | I2C Data line |
| OLED SCL | GPIO5 (D1) | I2C Clock line |
| VCC | 3.3V | Power supply |
| GND | GND | Common ground |
🪛 **Connections:**
- OLED **VCC → 3.3V**
- OLED **GND → GND**
- OLED **SDA → GPIO4 (D2)**
- OLED **SCL → GPIO5 (D1)**
---
## 🧩 Code
```python
from machine import Pin, I2C
import ssd1306
# D1 = SCL = GPIO5
# D2 = SDA = GPIO4
# Initialize I2C and OLED display
i2c = I2C(sda=Pin(4), scl=Pin(5))
display = ssd1306.SSD1306_I2C(128, 64, i2c)
# Function to display text easily
def oled_string(x, y, z, c):
display.fill(0) # Clear display
display.text(x, y, z, c)
display.show()
# --- Drawing individual pixels (vertical line example) ---
for y in range(0, 11):
display.pixel(0, y, 1) # Draw pixel column from y=0 to 10
# --- Drawing lines to form a rectangle ---
display.hline(0, 0, 10, 1) # Top edge
display.vline(0, 0, 10, 1) # Left edge
display.vline(10, 0, 10, 1) # Right edge
display.hline(0, 10, 11, 1) # Bottom edge
display.show()