Skip to content

[codex] Add Waveshare ESP32-S3-Touch-LCD-7C-BOX board - #12812

Draft
H-sw123 wants to merge 1 commit into
espressif:masterfrom
H-sw123:codex/add-waveshare-esp32-s3-touch-lcd-7c
Draft

[codex] Add Waveshare ESP32-S3-Touch-LCD-7C-BOX board#12812
H-sw123 wants to merge 1 commit into
espressif:masterfrom
H-sw123:codex/add-waveshare-esp32-s3-touch-lcd-7c

Conversation

@H-sw123

@H-sw123 H-sw123 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Checklist

  1. The PR title identifies the board support being added.
  2. Related official product, source, schematic, and module documentation links are included below.
  3. No separate documentation index update is required for a focused board definition; the change follows the existing boards.txt and variant layout.
  4. The contributing guide was reviewed.
  5. "Allow edits and access to secrets by maintainers" is enabled.

Description of Change

Adds Arduino-ESP32 board support for the Waveshare ESP32-S3-Touch-LCD-7C-BOX with board ID waveshare_esp32_s3_touch_lcd_7c.

The board definition configures:

  • ESP32-S3-WROOM-2-N32R16V
  • 32 MB Octal Flash and 16 MB Octal PSRAM at 80 MHz
  • QIO-configured boot with ESP-IDF runtime Octal Flash auto-detection and qio_opi memory libraries
  • Hardware USB CDC/JTAG with CDC enabled on boot
  • 32 MB partition schemes, defaulting to the large FATFS layout
  • RGB LCD, GT911 touch, CH32V006 IO-expander channels, P1 expansion IO, Wire, SD/SDMMC, I2S audio, USB, and BOOT pin mappings

The pin definitions distinguish ESP GPIO numbers from CH32V006 EXIO channel numbers. SD mounting remains explicit because the card CS/DAT3 signal is controlled through EXIO4.

This is intentionally separate from the existing waveshare_esp32_s3_touch_lcd_7 definition. That board uses 8 MB QIO flash and a CH422G expander, while the 7C-BOX uses a 32 MB Octal Flash module with runtime mode detection, CH32V006, audio codecs, and a different expansion/interface layout.

Test Scenarios

Validated from the source checkout with FQBN espressif:esp32:waveshare_esp32_s3_touch_lcd_7c:

  • .github/scripts/validate_board.sh waveshare_esp32_s3_touch_lcd_7c: all validation rules passed
  • git diff --check upstream/master...HEAD
  • GitHub Boards Test: board discovery and libraries/ESP32/examples/CI/CIBoardsTest compilation passed
  • GitHub mock upload tests passed on Ubuntu, Windows, and macOS
  • Local CIBoardsTest compile passed (67/67 build steps), covering the default Wire and SPI mappings
  • Local SDMMC_Test compile passed (72/72 build steps)
  • Both local builds generated complete 32 MB merged images

The resolved compile configuration selects the ESP32-S3 target, qio_opi libraries, a 32 MB DIO image header with QIO 80 MHz boot configuration, Hardware USB CDC/JTAG, and the QIO bootloader. The ESP-IDF configuration automatically switches to OPI STR when Octal Flash is detected.

No physical board was available. Display, touch, audio, SD, USB, RTC, fuel gauge, CH32V006, and expansion IO behavior still require hardware validation.

Related links

Comment thread boards.txt

@espressif-bot espressif-bot Aug 7, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge request must include a release note, or it needs to be processed first.

Details

Open

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor
Messages
📖 🎉 Good Job! All checks are passing!

👋 Hello H-sw123, we appreciate your contribution to this project!


📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more.

🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project.

Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against ce13395

@H-sw123
H-sw123 force-pushed the codex/add-waveshare-esp32-s3-touch-lcd-7c branch from 3d5a0c5 to 9673ca8 Compare August 10, 2026 01:34
@H-sw123
H-sw123 force-pushed the codex/add-waveshare-esp32-s3-touch-lcd-7c branch from 9673ca8 to ce13395 Compare August 10, 2026 02:05
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