Board: Waveshare ESP32-S3-Touch-LCD-7 - #15
Merged
Merged
Conversation
…g.lcd7) The 4.3" board's sdkconfig.board and partition table (same chip, memory and flash layout; boards flashed as the 4.3 keep their filesystem), then this board's fragment, appended last so it wins: - SPIRAM_MALLOC_ALWAYSINTERNAL 8192 -> 512, fewer Wi-Fi RX buffers, a 16 KB TCP window: internal DMA RAM, which the RGB panel's bounce buffers, the Wi-Fi driver, hardware AES and the USB host all need, sat at 24 bytes free with the shared settings, then esp-aes failed and Wi-Fi dropped. - FREERTOS_HZ 100 -> 1000: sleep_ms() under a tick busy-waits with the GIL held, keeping the UI thread 54 % busy while idle. Measured 2026-09-25 with spotapi's remote on the panel and earful streaming into a USB sound card (earful docs/lcd-7.md). Built from this directory the sdkconfig is identical to the image those measurements ran on. The board's board_config.py side is PyDevices/pydevices#96 (bounce_rows=10, 14 MHz).
bdbarnett
added a commit
that referenced
this pull request
Sep 25, 2026
#17) Follow-up to #15. Measured with a Spotify remote UI on the panel, no playback: full-screen redraw 176 → 146 ms with 64-byte data cache lines alone (no memory cost), then 117 ms with a 32 KB instruction cache as well. A list row went 66 → 44 ms, and a panel switch 176 → 146 ms. The instruction cache costs 16 KB of internal RAM: DMA-capable free goes from 64 to 48 KB (minimum 45 KB), measured via the speaker app's debug endpoint. A 64 KB data cache got rows to 30 ms but left ~13 KB, too little for Wi-Fi to be safe, so it isn't included.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A board directory for the ESP32-S3-Touch-LCD-7: the 4.3" board's
sdkconfig.boardand partition table, plussdkconfig.lcd7, which keeps internal DMA RAM free (SPIRAM_MALLOC_ALWAYSINTERNAL=512, fewer Wi-Fi RX buffers, a 16 KB TCP window) and setsFREERTOS_HZ=1000, becausesleep_ms()under one tick busy-waits holding the GIL. Each setting's reason is in the fragment.Measured on the board with a Spotify remote UI on the panel and a Spotify Connect speaker usermod playing into a USB sound card. The resulting sdkconfig is identical to the image those runs used. Companion PRs: PyDevices/pydevices#96 (board_config) and PyDevices/displayif#42 (
bounce_rows).