esp32/boards: Add support for the Waveshare ESP32-C6-Touch-LCD-1.47. by mattytrentini · Pull Request #19690 · micropython/micropython · GitHub
Skip to content

esp32/boards: Add support for the Waveshare ESP32-C6-Touch-LCD-1.47. - #19690

Open
mattytrentini wants to merge 1 commit into
micropython:masterfrom
mattytrentini:waveshare-esp32-c6-touch-lcd-147
Open

mattytrentini wants to merge 1 commit into
micropython:masterfrom
mattytrentini:waveshare-esp32-c6-touch-lcd-147

Conversation

@mattytrentini

Copy link
Copy Markdown
Contributor

Summary

Adds an ESP32 port board definition for the Waveshare ESP32-C6-Touch-LCD-1.47.

The board definition configures:

  • ESP32-C6FH8 with 8MiB QIO flash
  • Default I2C(0) on GPIO19 (SCL) and GPIO18 (SDA), shared by the AXS5106L touch controller and QMI8658A IMU
  • Default SPI(1) on GPIO1 (SCK), GPIO2 (MOSI), and GPIO3 (MISO), shared by the JD9853 LCD and microSD slot
  • Pin aliases for the LCD, touch controller, IMU interrupts, microSD card, UART, boot button, and battery ADC

GPIO12 and GPIO13 are intentionally not exposed as aliases because they are reserved by the ESP32-C6 native USB Serial/JTAG peripheral.

It's also worth noting that I've published the micropython-waveshare-esp32c6-touch-lcd-147-apps repository that provides some example apps. Using mip to install the apps also includes installing drivers for the display, cap touch sensor and IMU; I think it's a good quickstart to begin using the device .

Testing

Tested with:

  mpbuild build WAVESHARE_C6_TOUCH_LCD_1_47

The resulting firmware was also flashed to hardware successfully, and the native USB REPL plus default I2C bus were verified.

Trade-offs and Alternatives

ESP32_GENERIC_C6 could be used but the flash is incorrect. The additional pin alias' are handy too.

Generative AI

I used generative AI tools when creating this PR, but a human has checked the
code and is responsible for the code and the description above.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Signed-off-by: Matt Trentini <matt.trentini@gmail.com>
@mattytrentini
mattytrentini force-pushed the waveshare-esp32-c6-touch-lcd-147 branch from 5595d5c to f61ca0e Compare September 9, 2026 09:22
@dpgeorge dpgeorge added port-esp32 board-definition New or updated board definition files. Combine with a port- label. labels Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

board-definition New or updated board definition files. Combine with a port- label. port-esp32

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants