Skip to content

Conversation

@LEE-CHI-HSUAN
Copy link

@LEE-CHI-HSUAN LEE-CHI-HSUAN commented Sep 23, 2025

This PR introduces support for common 0.96" (128x64) SSD1306 OLED displays, primarily for ESP32 devices using the DEVKITV1 configuration. It allows users to monitor real-time mining status, time, and global device information directly on an inexpensive OLED.

Key Changes

  • New Display Driver: src/drivers/displays/oled096DisplayDriver.cpp for SSD1306 128x64 OLEDs.
    • Implements loading, setup, and three main screens (Miner States, Clock, Global States).
    • Implements display rotation and the ability to turn the display on/off.
    • References the established tDisplayDriver.
  • U8G2 Library: Integrated via lib_deps (see sample in platformio.ini).
  • New Build Flag: -D DEVKITV1_096_OLED added to platformio.ini for easy activation.
  • I2C Pin Configuration: I2C pins (default: SDA=GPIO5, SCL=GPIO6) are configurable in platformio.ini.

How to Enable

  1. Change the build flag from DEVKITV1 to DEVKITV1_096_OLED in platformio.ini.
  2. Adjust I2C SDA/SCL pins in platformio.ini if different from the defaults (5/6).
  3. Wire your 128x64 SSD1306 OLED to the configured I2C pins.
  4. Build and upload using PlatformIO.

Testing

Tested on an ESP32-C3 Super Mini with a 128x64 SSD1306 OLED. Firmware uploads correctly, displays loading/setup screens, and cycles through accurate miner status, clock, and global state screens.

@LEE-CHI-HSUAN LEE-CHI-HSUAN marked this pull request as ready for review September 23, 2025 10:41
@LEE-CHI-HSUAN LEE-CHI-HSUAN changed the title Add SSD1306 OLED Display Support for DEVKITV1 Add 0.96" SSD1306 OLED Display Support for DEVKITV1 Sep 23, 2025
@LEE-CHI-HSUAN LEE-CHI-HSUAN changed the title Add 0.96" SSD1306 OLED Display Support for DEVKITV1 Add SSD1306 128x32 OLED Display Support for DEVKITV1 Sep 23, 2025
@LEE-CHI-HSUAN LEE-CHI-HSUAN changed the title Add SSD1306 128x32 OLED Display Support for DEVKITV1 Add SSD1306 128x64 OLED Display Support for DEVKITV1 Sep 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant