Abstract
Esp Rlottie is an open-source Internet of Things (IoT) project. IDF component for using rLottie in ESP32 projects. Lottie is a JSON-based animation file. Lottie allows designers to move animations as easily as images. It is built using C++, ESP32. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
Lottie is a JSON-based animation file. Lottie allows designers to move animations as easily as images. It is small in size, works on any device, and can be freely resized without losing resolution.
2. Objective
IDF component for using rLottie in ESP32 projects.
This project demonstrates how C++, ESP32 can be applied to a real-world Internet of Things (IoT) problem.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C++ compiler (g++)
- Target board (e.g. Arduino, ESP32) where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/0015/esp_rlottie.git
cd esp_rlottie- Setting Up ESP-IDF Environment:
- Ensure that the ESP-IDF is installed and set up correctly on your development machine.
- Follow the official ESP-IDF installation guide(https://idf.espressif.com/) to get started if you haven't already.
- Preparing the Display Driver
- Each hardware device is different, so you need to prepare and ensure your display driver is ready to run LVGL in the IDF environment.
- Recommended Components:
- espressif/esp_lvgl_port
- espressif/esp_lcd
mkdir components
cd components
git clone https://github.com/lvgl/lvgl.gitgit clone https://github.com/0015/esp_rlottie.gityour_project/
├── components/
│ ├── esp_rlottie/
│ │ ├── rlottie/
│ │ │ ├── inc/
│ │ │ ├── src/
│ │ │ ├── CMakeLists.txt
│ │ │ └── ...
│ │ └── CMakeLists.txt
│ ├── lvgl/
│ │ ├── lvgl.h
│ │ ├── env_support/
│ │ │ ├── cmake/
│ │ │ │ ├── esp.cmake
│ │ └── CMakeLists.txt
├── main/
│ ├── main.c
│ └── CMakeLists.txt
├── CMakeLists.txt
└── sdkconfigidf_component_register(SRCS ${SOURCES} ${EXAMPLE_SOURCES} ${DEMO_SOURCES}
INCLUDE_DIRS ${LVGL_ROOT_DIR} ${LVGL_ROOT_DIR}/src ${LVGL_ROOT_DIR}/../
${LVGL_ROOT_DIR}/examples ${LVGL_ROOT_DIR}/demos
REQUIRES esp_timer esp_rlottie)Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by 0015 and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship