An ESP32-based desktop environmental monitor with temperature/humidity, CO2, and VOC sensing, LCD touchscreen interaction, Wi-Fi upload, OTA updates, real-time weather, and historical data charts accessible on both the device and phone, with bypass charging for battery protection.
Official path: https://oshwhub.com/vrxiaojie/all-in-one-iot-desktop-environme
01 Overview
This is an ESP32-based desktop environmental monitor designed to track indoor air quality in real time, including temperature, humidity, CO2 concentration, and VOC index.
It addresses the need for awareness of indoor environmental conditions, making it suitable for offices, bedrooms, or newly renovated spaces, helping users ventilate or adjust their environment promptly.
The device features an LCD touchscreen for intuitive display and interaction, allowing users to view real-time data, historical charts, and configure settings.
With Wi-Fi connectivity, it can upload data to the cloud or a mobile app, and supports OTA firmware updates for easy maintenance and feature enhancements.
A built-in battery with bypass charging ensures uninterrupted operation during power outages while protecting battery health.
This is not an industrial-grade instrument but a user-friendly desktop gadget focused on convenience and aesthetics.
02 Hardware
MCU: ESP32 family chip with Wi-Fi and Bluetooth, responsible for data acquisition, processing, display, and communication.
Sensors: Temperature/humidity sensor (e.g., SHT30 or DHT20), CO2 sensor (e.g., SGP30 or MH-Z19), VOC sensor (e.g., SGP30 or CCS811); exact models see schematic.
Display: LCD touchscreen (e.g., ST7789 or ILI9341) connected via SPI or parallel interface for data display and touch input.
Power: Li-ion battery with bypass charging circuit (e.g., TP4056 or SX1308 boost converter) to allow operation while charging, with overcharge and over-discharge protection.
Connectors: USB for charging and debugging, plus pin headers for sensors and display; pin definitions see schematic.
Buses: I2C for temperature/humidity and VOC sensors, UART or I2C for CO2 sensor, SPI for LCD.
Layout notes: Keep sensors away from heat sources (ESP32 and power ICs) to avoid temperature measurement errors; ensure antenna clearance for reliable Wi-Fi.
03 Software flow
1. Flash firmware: Compile with ESP-IDF or Arduino framework and flash via USB-UART.
2. Configure Wi-Fi: On first boot, enter provisioning mode to set SSID and password via phone or web, stored in NVS.
3. Initialize peripherals: Set up I2C, SPI, UART, configure sensors and LCD, load calibration parameters.
4. Data acquisition: Periodically read temperature, humidity, CO2, and VOC, apply filtering and calibration, update LCD.