LVGL UI · ESP32 FIRMWARE · GPL-3.0

Weather on a
$10 embedded GUI.

Aurigae is open-source firmware for the ESP32 "Cheap Yellow Display" — a widget dashboard of live conditions, air quality, UV index and lunar phase, rendered with LVGL on a 2.8″ screen you flash yourself.

PlatformIO build LVGL 9.2.2 No cloud account GPLv3 licensed
Screenshothero.png
ILI9341 · 240×320 · XPT2046 TOUCH

Component gallery

Four widgets, redrawn live

Every readout is a native LVGL widget — meters, bars, labels — repainted on a schedule you control. No app, no notifications: glance at the desk and it's already showing you the sky.

Screenshotweather.png

Weather

Current conditions and short-range forecast from your chosen provider.

Screenshotair-quality.png

Air quality

AQI pulled from OpenWeather's air-pollution endpoint, when configured.

Screenshotuv-index.png

UV index

Sun exposure risk alongside the day's forecast, no separate sensor needed.

Screenshotmoon-phase.png

Lunar phase

Calculated locally from date and location — works even offline.


Under the hood

Built on the boring, reliable stack

Nothing exotic — a standard PlatformIO project, pinned library versions, and a fork of the espressif32 platform via pioarduino. Clone it, open it, pio run -t upload.

platformio.ini
; board: esp32-2432S028R (ILI9341, 2.8")
platform = pioarduino/espressif32 ; fork

lib_deps =
    lvgl/lvgl @ 9.2.2
    bodmer/TFT_eSPI @ 2.5.43
    bblanchon/ArduinoJson @ 7.4.1
    tzapu/WiFiManager @ 2.0.17
    PaulStoffregen/XPT2046_Touchscreen @ 1.4

Bill of materials: one board

The hardware spec

The whole point of "CYD" boards — an ESP32, a TFT, and a touch controller already wired together on a single cheap PCB. No breadboard, no soldering, just flash it.

BoardESP32-2432S028R
MCUESP32, dual-core Wi-Fi
Display2.8″ ILI9341, 240×320
TouchXPT2046 resistive
PowerUSB, 5V
SetupWiFiManager captive portal
192.168.1.42/
Weather provideropen-meteo
Locationgeocoded search
Clock format24h
Units°C
Languageen
NTP serverpool.ntp.org

Every setting above is configured from the device's own web server on port 80 — no companion app, no third-party account. Switch to OpenWeather with a free API key for 5-day/3-hour forecasts, UV and AQI.


Why this exists

A DIY project, on purpose

Nothing to subscribe to

Runs entirely on the board you flashed. No account, no server dependency beyond the weather API itself.

Fork it, change it

GPLv3 — read the source, redesign the LVGL layout, swap the weather provider, ship your own variant.

Built for hobbyist hardware

Targets a board that already exists in thousands of maker drawers — no custom PCB to order.

 src/ firmware + generated UI assets
 include/ board & feature config headers
 assets/ source artwork
 tools/ helper scripts
 docs/ user guide
Licensing

Firmware source is licensed under the GNU GPL v3.0. A few visual assets ship under separate terms:

  • Weather icons are Google's property, redistributed as-is.
  • Moon-phase and Santa icon provenance is unconfirmed — used as-is, not covered by the GPL grant.