A weather display sounds trivial — until you leave the screen on all day just to glance at it twice. That's the tension this ESP32 project solves. By pairing a touchscreen with a millimeter-wave presence sensor, you get a desk display that stays dark when you're away and lights up the moment you sit down.
A recent Reddit build demonstrates the approach. It uses a Freenove board with an ESP32-WROOM-32E chip and a 4-inch LCD touchscreen, pulls weather data from the free Open-Meteo API, and relies on mmWave radar to detect whether someone's at the desk. Total parts cost: around $50.
The Core Build
The Freenove FNK0103S board integrates the ESP32 and display in one package, keeping wiring minimal. The mmWave radar module connects separately — the creator swapped its stock pin header for a 90-degree variant to fit everything inside the enclosure.
Once assembled, the display cycles through current conditions, hourly and daily forecasts, and the time. Configuration happens on the touchscreen: Wi-Fi setup, location, language, temperature units. No phone app or computer needed after initial setup.
Why mmWave Beats Motion Sensors
A standard PIR motion sensor detects movement — but sit still for more than a few seconds and it declares the room empty. A desktop weather display that shuts off while you're reading it defeats the purpose.
Millimeter-wave radar detects micro-movements: breathing, the subtle shift of weight in a chair. It knows you're present without requiring visible motion. Walk in, display wakes. Leave, and after a configurable delay the backlight switches off.
The practical detection range is several meters under good conditions, which easily covers a desk setup. Results vary with room geometry and antenna positioning, but for single-user presence detection at close range, mmWave performs reliably.
The Software Side
The firmware pulls data from Open-Meteo — free, no API key required. It's written in Rust using ESP-IDF, which offers more control than typical ESPHome setups. The creator released the code and 3D-printable enclosure files on GitHub, so you can flash and build without writing anything from scratch.
Who Should Care About This Build
| Use Case | Why It Works | Trade-off |
|---|---|---|
| Desk workers** needing quick weather checks without phone juggling | Glanceable, always-off unless you're there | Requires desk space for the device |
| Home Assistant users | Can substitute components (Cheap Yellow Display + ESPHome) | May need to adapt firmware or create custom integration |
| ESP32 beginners | Well-documented build, minimal wiring, flashing only | Rust-based firmware is less common than ESPHome |
| Smart home optimizers | Same mmWave approach works for photo frames, dashboards, control panels | Sensor adds cost (~$10-15) and wiring complexity |
The key insight: presence detection isn't just for security systems. Any "always-on" display project benefits from knowing whether someone's there to see it. The power savings add up if you run multiple devices.
Bottom Line
For around $50 in parts and a couple hours of assembly, you get a weather display that behaves like smart hardware — on when you need it, off when you don't. The mmWave presence sensor is the difference that matters most. If you want a practical ESP32 weekend project you'll actually use daily, this is a strong candidate.
Key takeaways
- A Freenove ESP32 board with touchscreen runs about $50 in parts
- MmWave radar detects sitting presence; motion sensors don't
- The Open-Meteo API provides free weather data without a key
- Firmware is available to flash; no custom coding required
- The same sensor approach works for other always-on display projects
Frequently asked questions
How does the mmWave sensor detect presence without motion?
MmWave radar picks up micro-movements like breathing and subtle body shifts. It doesn't need visible motion to detect that someone is in the space.
Do I need coding experience to build this?
The creator released ready-to-flash firmware written in Rust. Basic familiarity with flashing ESP32 boards helps, but you don't need to write code yourself.
What's the power consumption like?
The display draws most power when the screen is on. With the backlight controlled by the mmWave sensor, it spends most of the day in a low-power state.
Can I use a different weather API?
The firmware as released uses Open-Meteo, which is free and requires no key. You could modify the firmware to use another API if you prefer, but that's not required.
How far can the mmWave sensor detect presence?
Under optimal conditions, several meters. For a desk setup, the sensor covers the intended area easily. Results vary with room geometry and antenna positioning. **END**
