Skip to content

viralpatel9/esp32-lvgl-video

Repository files navigation

📟 ESP32 LVGL Video (ILI9341 + ESP-IDF)

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.


✨ Preview

ILI9341 Demo Animation

🚀 Features

  • ✅ 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.

🧰 Hardware Requirements

  • ESP32 or ESP32-S3 development board
  • ILI9341 LCD panel (SPI)
  • USB cable for flashing

📦 Getting Started

1️⃣ Clone the Repository

git clone https://github.com/viralpatel9/esp32-lvgl-video.git
cd esp32-lvgl-video

2️⃣ Set Up ESP-IDF Environment

. $IDF_PATH/export.sh
💡 Make sure ESP-IDF is correctly installed and configured.

3️⃣ Build the Project

idf.py build

4️⃣ Flash to the Board

idf.py -p /dev/ttyUSB0 flash
Replace /dev/ttyUSB0 with the correct serial port for your system.

📁 Project Structure

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.md

Board Definitions can be found here: ./main/config/custom_board.h


GitHub Build

  • 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.

Convert Videos to Frames and then to C array

📚 Resources


📜 License

This project is licensed under the MIT License. See the LICENSE file for detail

About

A startup animation demo for ESP32 using an ILI9341 LCD — render GIFs as frame-by-frame video with ESP-IDF.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages