Repository navigation
Conversation
Add a root .gitignore for ESP-IDF build outputs and generated configuration. Project settings remain in each example's sdkconfig.defaults.
Use the centered header with quick links and semantic section icons on both homepages. Add README_ZH.md for the ESPHome and U8g2 example pages with reciprocal language links, and correct the sketch filename in the U8g2 example page.
Move ESP-IDF examples to examples/esp-idf/, Arduino sketches and bundled libraries to examples/arduino/, the ESPHome and XiaoZhi examples to examples/esphome/ and examples/xiaozhi/, and the pre-built firmware to firmware/. Firmware binaries are unchanged. Update the homepages and .gitignore for the new paths and add a table mapping the previous paths to the current ones.
.github/workflows/build.yml is the template skeleton caller of waveshareteam/esp32-repo-template. product.json holds the product values: target esp32s3, ESP-IDF v5.5.5 and v6.1, Arduino core 3.3.12 and the FQBN from the Arduino IDE configuration reference. tier is 1 until a release goes through the template's tag flow.
- examples/arduino/libraries/ReadMe.txt told users to copy one of the two LVGL versions into their library folder by hand. The repository keeps a single LVGL version, so the note no longer applies. - .gitignore is the template skeleton version: build outputs, generated sdkconfig and dependencies.lock in every example, the local release output paths and local AI coding agent directories.
firmware/01_Factory_V1.bin is byte-identical to ESP32-S3-RLCD-4.2_FactoryOnly.bin and firmware/02_XiaoZhi_V2.1.0.bin to the image in v2.1.0_XiaoZhi_Firmware.zip, both attached to the v1.1.0 Release. History is not rewritten, so the files stay reachable in earlier commits.
All sketches share examples/arduino/libraries, which can hold one LVGL version. 09_LVGL_V9_Test keeps covering LVGL on Arduino; the LVGL 8 sketch and lvgl8/ are removed. The ESP-IDF 08_LVGL_V8_Test example is unaffected, since ESP-IDF examples declare their own LVGL version.
lvgl9/lvgl/ moves to lvgl/ and lvgl9/lv_conf.h to lv_conf.h, so the library is found directly in examples/arduino/libraries and LVGL still finds lv_conf.h two levels above its src/. Directory moves only.
Each bundled third-party library keeps src/, its root headers, library.properties / library.json and every license file, including the LVGL font licenses outside src/. Upstream examples, docs, tests, demos and build files for other systems are removed. Tracked files under examples/arduino/libraries: 4658 -> 1510 (259 MB -> 120 MB on disk). The CI compiles every sketch against them.
The README follows the template homepage structure: overview with the device table, quick start with the combined packages, example tables, the version table from product.json, resources and support. - The product photo moves from assets/ to docs/images/ and the Arduino IDE settings screenshot from the repository root to docs/images/; the Arduino example READMEs link the screenshot. - The repository layout, old-path mapping and contributing sections are removed; ESPHome and XiaoZhi sources are linked from the examples section. - The repository has no schematic; Resources points to the wiki.
Each ESP-IDF example and Arduino sketch gets README.md and README_ZH.md with the five template sections: what it does, hardware required, how to run, expected result and troubleshooting. The 10_U8G2_Test README is rewritten into the same sections. Troubleshooting notes the hard-coded Wi-Fi credentials and the fixed RTC start time.
The repository bundles LVGL 9 only, and this sketch still used the LVGL 8 display driver API (lv_disp_drv_t), so it no longer compiled. - The flush callback takes the LVGL 9 signature. - src/app_bsp/lvgl_bsp.* is the LVGL 9 display port already used by 09_LVGL_V9_Test. The GUI Guider screen and fonts compile unchanged. The display output has not been checked on hardware yet.
03_ADC_Test (Arduino) and 11_U8G2_Test (ESP-IDF) included freertos/freeRTOS.h, which only resolves on case-insensitive file systems such as Windows. Builds on Linux and macOS failed.
The examples were created with ESP-IDF 5.4 and 5.5 and were never built with v6. Six of them need code changes for v6 (the split I2C driver component, a newer esp_codec_dev and gpio_num_t casts), which are left for a separate change. product.json and the README version tables list v5.5.5 until then.
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.
Do not merge. This pull request only runs the template CI on a branch whose source is the internal GitLab repository. The change is reviewed and merged there and reaches this repository through the regular sync; this pull request is closed after CI finishes.
The branch moves the repository to the shared layout of
waveshareteam/esp32-repo-template: the template CI caller and.github/product.json, a single bundled LVGL 9 for Arduino, slimmed Arduino libraries, a user-facing README and a README pair for every example. Example source code is unchanged.