This Weather Monitoring System is an ESP32-S3 and LVGL-based embedded project designed for real-time environmental monitoring and visualization. The system uses a BME280 sensor together with a rain sensor and an LDR module to measure temperature, humidity, atmospheric pressure, altitude, rainfall conditions, and ambient light intensity. Sensor data is continuously processed by the ESP32-S3 and displayed through an interactive graphical dashboard built with the Light and Versatile Graphics Library (LVGL). The project demonstrates how multiple sensors and modern embedded GUI frameworks can be combined to create a compact and user-friendly weather station. Built using ESP-IDF, the software follows a modular architecture that separates sensor acquisition from display management, making it easier to maintain and extend. The design can serve as a foundation for IoT applications, environmental monitoring systems, smart home projects, and educational embedded systems.
Features
- Real-time monitoring of temperature, humidity, atmospheric pressure, altitude, rainfall conditions, and ambient light intensity.
- Interactive graphical dashboard developed using LVGL (Light and Versatile Graphics Library).
- ESP32-S3-based architecture for high-performance embedded applications.
- BME280 sensor support for accurate environmental measurements.
- Rain detection using an analog rain sensor.
- Day and night detection using an LDR sensor module.
- Real-time display updates with weather icons and status indicators.
- Modular software architecture based on ESP-IDF.
- Separation of sensor acquisition and graphical user interface logic for improved maintainability.
- Provides a practical platform for learning sensor interfacing and embedded GUI development.
- Low wiring complexity through I2C communication with the BME280 sensor.
- Can be expanded with Wi-Fi connectivity, MQTT communication, cloud dashboards, and data logging capabilities.