Skip to content

Feature/esp32 2424s012 board support - #37

Open
CrispinPZA wants to merge 2 commits into
MatixYo:mainfrom
CrispinPZA:feature/esp32-2424s012-board-support
Open

Feature/esp32 2424s012 board support#37
CrispinPZA wants to merge 2 commits into
MatixYo:mainfrom
CrispinPZA:feature/esp32-2424s012-board-support

Conversation

@CrispinPZA

Copy link
Copy Markdown

Open confession - I'm a hobbiest coder and my mate claude helped me with this.

Love the idea but it did not work on the genric board I bought from AliExpress so we made it work. Sweet.

Adds support for the Sunton/JCZN ESP32-2424S012 — an ESP32-C3 with an integrated
1.28" round GC9A01 + CST816 touch — alongside the existing ESP32-C3 Super Mini.

The Super Mini remains the default, so existing users are unaffected.

How it works

  • New board registry (include/hardware/board.h / src/hardware/board.cpp) holds
    per-board display pins and color order in one table.
  • Select the board at compile time via the new esp32-2424s012 PlatformIO env,
    or at runtime via a new "Board" dropdown in the Wi-Fi setup portal (saved to
    NVS, applied on reboot) — so one image runs on either board.
  • 2424S012 specifics handled: SPI pins (SCLK 6 / MOSI 7 / DC 2 / CS 10, RST not
    wired), GPIO3 active-high backlight (driven directly — the ESP32-C3 has only 6
    LEDC channels), and BGR color order.
  • README updated with a Boards section, per-board wiring, build envs, and selection.

Also includes a small commit adding serial logging (radar location + per-aircraft
callsigns) that helped while bringing up the new board — happy to drop it if you'd
prefer to keep this PR focused.

Tested on real ESP32-2424S012 hardware: radar renders correctly and the portal
board selector works.

CrispinPZA and others added 2 commits June 19, 2026 19:26
The project targeted only the ESP32-C3 Super Mini with a separately wired
GC9A01. Add support for the Sunton/JCZN ESP32-2424S012 integrated round board
(different SPI pins, GPIO3 active-high backlight, BGR color order) without
breaking the Super Mini default.

- Add include/hardware/board.h + src/hardware/board.cpp: a board registry with
  a per-board pin/color-order table, compile-time default, and an NVS-backed
  runtime override.
- Move display pins/color order out of config.h into the board registry.
- lgfx_config: applyBoard() (re)configures the SPI bus and panel from a board.
- display/radar_display: use the active board for pins, backlight, color order.
  Backlight is driven directly (the ESP32-C3 has only 6 LEDC channels).
- Wi-Fi portal: add a Board dropdown; selection persists to NVS and reboots to
  apply, so one image can run on either board.
- platformio.ini: add the esp32-2424s012 env (sets the build-time default).
- README: document supported boards, wiring, build envs, and selection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Print the active radar lat/lon (and whether it came from NVS or the default) at
startup, and list each fetched aircraft's callsign/flight, position, altitude,
track and ground speed. Aids debugging location and ADS-B issues.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@xztraz

xztraz commented Jul 3, 2026

Copy link
Copy Markdown

can this be merged please :)

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.

2 participants