Skip to content

Add GC9A01 round TFT display usermod - #4989

Open
srg74 wants to merge 171 commits into
wled:mainfrom
srg74:feature/gc9a01-display-usermod
Open

Add GC9A01 round TFT display usermod#4989
srg74 wants to merge 171 commits into
wled:mainfrom
srg74:feature/gc9a01-display-usermod

Conversation

@srg74

@srg74 srg74 commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Overview

Adds comprehensive support for GC9A01 240x240 round TFT displays with a circular UI layout optimized for round displays.

Features

  • Circular UI design optimized for 240x240 round displays
  • Real-time status display: WiFi signal, power state, brightness, current effect
  • Clock mode with 12/24-hour format options
  • Configurable sleep/clock modes (5-300s timeout)
  • Color preview buttons (FX/BG/CS) with automatic synchronization from web UI
  • Effect and palette names with automatic display
  • Custom startup logo
  • Full web UI configuration for all settings
  • Compatible with rotary encoder usermod for visual feedback

Hardware Requirements

  • ESP32 microcontroller
  • GC9A01 240x240 round TFT display
  • TFT_eSPI library (v2.5.43+)

Additional Changes

This PR also includes a bug fix for the rotary encoder ALT usermod that prevents palette navigation wraparound when decrementing from index 0.

Testing

Thoroughly tested on ESP32-D0WDQ6 with GC9A01 display. All features verified including power management, color synchronization, and rotary encoder integration.

Files Changed

  • New usermod: usermods/usermod_v2_gc9a01_display/ (5 files)
  • Bug fix: usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.cpp (line 895)

Summary by CodeRabbit

  • New Features

    • GC9A01 240x240 round TFT support with full on-device UI: clock, WiFi/power indicators, brightness arc, effect/palette labels, overlays, encoder-driven controls, sleep/wake and backlight/timeout handling; integrates with rotary-encoder UI.
  • Documentation

    • Comprehensive GC9A01 display usermod guide: wiring, setup, usage, build flags, configuration examples, and changelog.
  • Chores

    • Added library manifest for the new usermod and updated ignore rules for development artifacts.

@srg74
srg74 force-pushed the feature/gc9a01-display-usermod branch from f60604d to e22bf68 Compare August 9, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

usermod usermod related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants