Building a Weather System with an ESP32-S3 Smart Display
In this project, an ESP32-S3 Smart Display is connected with multiple sensors to create a compact weather station capable of monitoring…
Building a Weather System with an ESP32-S3 Smart Display

In this project, an ESP32-S3 Smart Display is connected with multiple sensors to create a compact weather station capable of monitoring temperature, humidity, atmospheric pressure, altitude, rainfall, and ambient light conditions. Instead of using separate development boards and display modules, the entire application is built around a single 2.8-inch ESP32-S3 smart display, resulting in a cleaner and more compact design.
Weather Monitoring System Working
Measuring Multiple Environmental Parameters
The system relies on three different sensors, each contributing specific information.
BME280 Environmental Sensor
The BME280 is a digital sensor designed to measure:
- Temperature
- Relative humidity
- Atmospheric pressure
Using pressure data, altitude can also be estimated. Since the sensor communicates through the I2C interface, only two signal lines are required for data exchange.
Rain Sensor
Detecting rain can be useful for irrigation systems, greenhouse automation, and weather stations.
The rain sensing plate contains conductive tracks. When water droplets bridge these tracks, the conductivity changes and produces a varying analog voltage.
Ambient Light Sensor
Light intensity can provide information about day and night conditions.
An LDR (Light Dependent Resistor) changes its resistance according to the amount of incident light. Bright conditions lower the resistance, while darkness increases it.
Data Processing Inside the ESP32-S3
At the heart of the system lies the ESP32-S3 processor integrated within the smart display module.
Its responsibilities include:
- Reading sensor values continuously.
- Acquiring analog inputs from the rain and light sensors.
- Communicating with the BME280 over I2C.
- Computing altitude from atmospheric pressure measurements.
- Detecting rainfall conditions.
- Determining day or night status.
- Updating the graphical dashboard.
Because all sensors operate at 3.3V, they can share the same power rail and common ground, simplifying hardware implementation.
Visualizing Weather Information
Raw sensor readings are difficult to interpret directly. Therefore, presenting information through a graphical interface significantly improves usability.
The project uses LVGL (Light and Versatile Graphics Library), an open-source framework widely adopted in embedded display applications.
In this weather station, the dashboard continuously refreshes and presents:
- Temperature
- Humidity
- Atmospheric pressure
- Altitude
- Rain status
- Day and night indication
Instead of relying on simple text output, weather information becomes easier to understand through visual elements and dynamic updates.
Real-Time Data Acquisition
Once powered, the system performs continuous sensing.
Environmental measurements are obtained from environmental sensors.
The collected information is processed in real time and displayed instantly on the touchscreen dashboard.
Such a design can easily be extended with additional sensors and wireless connectivity, making it suitable for more advanced IoT applications.
Building the Weather Monitoring System
After understanding the working principle of the smart weather station, the next step is assembling the hardware. The project is centered around a 2.8-inch ESP32-S3 Smart Display, which combines the microcontroller and TFT display into a single module. This eliminates the need for separate display hardware and keeps the overall design compact.
To measure environmental conditions, a BME280 sensor is used. Since the sensor communicates over the I2C interface, only two signal lines are required. The sensor receives its power from the 3.3 V supply available on the display module. Its SDA pin is connected to GPIO9, while the SCL pin is connected to GPIO10. Through these connections, the ESP32-S3 continuously acquires temperature, humidity, and atmospheric pressure readings and also estimates altitude from the pressure data.
Rain detection is accomplished using an analog rain sensor. The module is powered from the same 3.3 V supply and shares a common ground with the ESP32-S3 display. The analog output of the sensor is connected to GPIO7, which is configured as an ADC input. Whenever water droplets fall on the sensing plate, the conductivity between the tracks changes, causing the output voltage to vary. By monitoring this voltage level, the controller can determine whether the sensor is dry or exposed to rainfall.
Ambient light monitoring is achieved using an LDR sensor module. Similar to the rain sensor, it operates from a 3.3 V supply and shares the common ground connection. The analog output pin of the module is connected to GPIO6. As the amount of light falling on the LDR changes, its resistance changes accordingly, resulting in a varying output voltage. The ESP32-S3 measures this voltage and determines whether the surrounding environment corresponds to daytime or nighttime conditions.
All three sensors are powered directly from the ESP32-S3 Smart Display. Sharing the same 3.3 V supply and common ground simplifies the circuit and ensures reliable communication and accurate measurements.
Once power is applied, the ESP32-S3 starts collecting information from each sensor. The BME280 provides temperature, humidity, pressure, and altitude data, while the rain sensor reports the presence of water and the LDR module provides information about ambient light levels. These measurements are processed in real time and displayed on a graphical weather dashboard created using LVGL. Weather icons, numerical values, and status indicators are continuously updated, allowing the system to function as a compact and interactive weather station.

Potential Applications
A weather monitoring system based on the ESP32-S3 can be adapted for various scenarios:
- Smart home automation
- Greenhouse monitoring
- Agricultural applications
- Indoor air quality observation
- Educational laboratories
- IoT weather stations
- Environmental research projects
Final Thoughts
Combining the ESP32-S3 Smart Display with environmental sensors and LVGL results in an elegant weather dashboard capable of delivering real-time information in an intuitive format.
Beyond simply displaying numbers, such projects demonstrate how embedded systems, sensor technologies, and graphical interfaces can work together to build practical and visually appealing IoT solutions.
If you would like to build the project, including the ESP-IDF project files, circuit diagram, software setup, and code explanation, we have covered those details in a comprehensive tutorial on Play with Circuit:
메타데이터
- post_id
- 50f63e7c834d
- slug
- building-a-weather-system-with-an-esp32-s3-smart-display-50f63e7c834d
- url
- https://medium.com/@playwithcircuit/building-a-weather-system-with-an-esp32-s3-smart-display-50f63e7c834d
- canonical_url
- https://medium.com/@playwithcircuit/building-a-weather-system-with-an-esp32-s3-smart-display-50f63e7c834d
- author_url
- https://medium.com/@playwithcircuit
- status
- ok
- fetched_at
- 2026-06-23 17:05:31