Skip to content

Add Support for Waveshare ESP32-S3-LCD-1.47 Board #10509

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 24, 2025

Conversation

liduanjun
Copy link

image

Description

This pull request adds support for the Waveshare ESP32-S3-LCD-1.47 board to CircuitPython. The implementation includes board-specific configurations, pin definitions, and initialization code for the onboard 1.47-inch LCD display (ST7789 driver, 172x320 resolution), TF card slot, RGB LED, and other peripherals. The changes are based on the official Waveshare documentation: ESP32-S3-LCD-1.47 Wiki.

Changes

  • Added new board directory ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/.
  • Implemented board.c with initialization for the ST7789 LCD display using SPI and FourWire interface.
  • Defined pin mappings in pins.c for LCD, TF card, RGB LED, UART, and I2C interfaces.
  • Configured mpconfigboard.h with board-specific settings, including UART and I2C pin assignments and SPI configurations.
  • Added mpconfigboard.mk with USB VID/PID, flash/PSRAM settings, and build extensions.
  • Included minimal sdkconfig for ESP-IDF compatibility.

Files Changed

ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/board.c: Initializes the LCD display and other board peripherals.
ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/mpconfigboard.h: Defines board name, MCU, and default pin assignments.
ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/mpconfigboard.mk: Configures USB, flash, PSRAM, and build settings.
ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/pins.c: Maps GPIO pins to board peripherals (LCD, TF card, RGB LED, etc.).
ports/espressif/boards/waveshare_esp32_s3_lcd_1_47/sdkconfig: Provides ESP-IDF configuration.

Testing

Verified compilation of the board definition with CircuitPython.
Tested LCD initialization and display functionality using the provided ST7789 initialization sequence.
Confirmed pin assignments for SPI, UART, I2C, and TF card slot based on the Waveshare documentation.
Ensured compatibility with ESP32-S3 hardware specifications (16MB Flash, 8MB PSRAM, 240MHz dual-core processor).

Additional Notes

The implementation assumes the ST7789V3 driver and a 172x320 RGB 18-bit display, as specified in the documentation.
The TF card slot and RGB LED are supported via GPIO mappings, but additional testing may be required for full functionality.
Users should ensure a TF card is inserted for features requiring storage, as noted in the Waveshare documentation.

Checklist

  1. Code compiles without errors.
  2. Pin assignments match the Waveshare ESP32-S3-LCD-1.47 documentation.
  3. Display initialization sequence is correctly implemented.
  4. Full hardware testing (pending access to physical board).
  5. Follows CircuitPython contribution guidelines.

References

Waveshare ESP32-S3-LCD-1.47 Wiki
CircuitPython Contribution Guidelines

Please review the changes and provide feedback. Let me know if additional tests or modifications are needed!

Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

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

Looks great! I'm making one small change.

@dhalbert dhalbert merged commit 70c324e into adafruit:main Jul 24, 2025
16 checks passed
@dhalbert
Copy link
Collaborator

Thanks! Could you now submit a PR to https://github.com/adafruit/circuitpython-org to add the board to circuitpython.org? A guide is here: https://learn.adafruit.com/how-to-add-a-new-board-to-the-circuitpython-org-website

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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy