Skip to content

feat: add ES3C28P (2.8" IPS ESP32-S3) board support#2178

Merged
pr3y merged 1 commit into
BruceDevices:devfrom
xXABDOUXx:add-es3c28p-board
Feb 13, 2026
Merged

feat: add ES3C28P (2.8" IPS ESP32-S3) board support#2178
pr3y merged 1 commit into
BruceDevices:devfrom
xXABDOUXx:add-es3c28p-board

Conversation

@xXABDOUXx
Copy link
Copy Markdown
Contributor

Proposed Changes

Add board support for the ES3C28P — a 2.8" IPS ESP32-S3 Display Module manufactured by ShenZhen QDtech (sold on LCDWIKI/AliExpress).

This is a low-cost (~$15) ESP32-S3 dev board with a rich feature set that makes it a great candidate for Bruce:

  • ESP32-S3R8 (8MB OPI PSRAM, 16MB QSPI Flash)
  • ILI9341V 240×320 IPS TFT (SPI)
  • FT6336G capacitive touch (I2C)
  • ES8311 audio codec + FM8002E amplifier (speaker + microphone)
  • MicroSD card (SDIO)
  • WS2812 RGB LED
  • Battery ADC with voltage divider
  • BOOT button

Files added:

  • boards/ES3C28P/pins_arduino.h — pin mappings & TFT_eSPI config
  • boards/ES3C28P/interface.cpp — touch driver, ES8311 codec init, battery reading, input handler
  • boards/ES3C28P/ES3C28P.ini — PlatformIO environment config
  • boards/ES3C28P/partitions_16Mb.csv — board-specific partition table (uses factory subtype instead of ota_0 to avoid boot crash on this chip)
  • boards/_boards_json/ES3C28P.json — PlatformIO board definition
  • platformio.ini — one-line addition (commented out env entry)

No shared files were modified beyond the one-line platformio.ini addition. The board uses its own partition table to avoid affecting other boards.

Types of Changes

New Feature — adds support for a new hardware platform.

Verification

Flash the ES3C28P environment to the board and verify:

  1. Display shows correct colors (not inverted) and correct orientation
  2. Touch screen responds to taps and gestures in menus
  3. Speaker plays audio (e.g. MP3 files from SD card)
  4. Microphone records audio (mic test in Others menu)
  5. SD card mounts and files are accessible
  6. RGB LED responds to settings
  7. Battery percentage displays correctly
  8. Factory reset preserves correct display colors

Testing

Tested on physical hardware. All features listed above confirmed working.

User-Facing Change

Added support for the ES3C28P 2.8" IPS ESP32-S3 Display Module (QDtech/LCDWIKI). Includes display, capacitive touch, speaker, microphone, SD card, RGB LED, and battery monitoring.

@xXABDOUXx xXABDOUXx mentioned this pull request Feb 13, 2026
@pr3y pr3y changed the base branch from main to dev February 13, 2026 20:04
@pr3y pr3y merged commit 798e9f5 into BruceDevices:dev Feb 13, 2026
@pr3y pr3y mentioned this pull request May 25, 2026
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