Add Support for Waveshare ESP32-S3-LCD-1.47 Board #10509
Merged
+230
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
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
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!