A lightweight ESP-IDF demo project showcasing how to drive an ILI9341 LCD panel with an ESP32 / ESP32-S3 to display a frame-by-frame startup animation (preloaded video frames / GIF).
This project is ideal for boot screens, splash animations, and UI intros on embedded devices.
- ✅ ESP-IDF based (ESP32 / ESP32-S3 compatible)
- ✅ ILI9341 LCD controller support
- ✅ Frame-by-frame animation rendering
- ✅ GIF-to-frame workflow for embedded displays
- ✅ Clean and extensible project structure
- ✅ GitHub Actions to build the firmware and Release it.
- ESP32 or ESP32-S3 development board
- ILI9341 LCD panel (SPI)
- USB cable for flashing
git clone https://github.com/viralpatel9/esp32-lvgl-video.git
cd esp32-lvgl-video. $IDF_PATH/export.sh💡 Make sure ESP-IDF is correctly installed and configured.
idf.py buildidf.py -p /dev/ttyUSB0 flashReplace /dev/ttyUSB0 with the correct serial port for your system.
esp32-lvgl-video/
├── main/ # Application source code
├── images/ # GIFs and converted frame assets
├── scripts/ # Image / animation utility scripts
├── tools/ # Helper tools and resources
├── CMakeLists.txt
└── README.mdBoard Definitions can be found here: ./main/config/custom_board.h
- Create a tag with the feature branch.
# Push the changes to the feature branches
# Create a tag
git tag -a v1.0.0 -m "Release v1.0.0"
# Push the tag
git push origin v1.0.0- Create a PR with the develop. Squash and merge, else merge commit if needed the history.
- Then create a PR for the main with all the changes, this should come from develop only and should be "Merged commit", to avoid any conflict later.
This project is licensed under the MIT License. See the LICENSE file for detail
