Waveshare reference package
The local ESP32-S3-Touch-LCD-2.1-Demo.zip was downloaded from Waveshare's official resource page on 2026-09-21.
- Source URL:
https://files.waveshare.com/wiki/ESP32-S3-Touch-LCD-2.1/ESP32-S3-Touch-LCD-2.1-Demo.zip - SHA-256:
ddb55c65b37cc204f071b505abc7636504a657485ae9f3fabcf8bcd9418654aa - Relevant sketch:
Arduino/examples/LVGL_Arduino/ - Bundled LVGL library:
Arduino/libraries/lvgl/(Waveshare documents version 8.3.10)
The downloaded archive and extracted reference source are ignored by Git; this file preserves where they came from. The archive includes Waveshare's complete demo and additional third-party libraries. The local extraction currently includes only the Arduino sketch and LVGL library needed for build evaluation.
Arduino's installed ctags helper is x86_64-only on this Apple Silicon laptop. A local arm64 build of Arduino ctags 5.8-arduino11 lives under vendor/ctags-tool/bin/. To compile that older source on current macOS, its internal __unused__ macro was renamed to CTAGS_UNUSED in the ignored source tree to avoid a system-header macro collision. No system toolchain files were changed.
Compile-only verification
The unmodified Waveshare LVGL_Arduino example compiled successfully on 2026-09-21. It was not uploaded to a board. Board settings: ESP32S3 Dev Module, 16 MB flash, OPI PSRAM, 3 MB app partition. Result: 1,431,075 bytes program storage (45%) and 104,656 bytes static RAM (31%).
arduino-cli compile \
--fqbn esp32:esp32:esp32s3:FlashSize=16M,PSRAM=opi,PartitionScheme=app3M_fat9M_16MB \
--libraries vendor/extracted/Arduino/libraries \
--build-path vendor/build \
--build-property runtime.tools.ctags.path="$PWD/vendor/ctags-tool/bin" \
--build-property runtime.tools.ctags-5.8-arduino11.path="$PWD/vendor/ctags-tool/bin" \
--jobs 4 vendor/extracted/Arduino/examples/LVGL_Arduino