This is an ESP32 firmware project that turns a low-power E-Paper display into a weather dashboard. The device runs on battery power with USB-C recharging, periodically fetches weather forecasts from a remote JSON API, and renders them on the screen alongside indoor sensor readings and battery status.
The project includes a build-time SVG-to-C header converter that embeds weather icons directly into the firmware binary, and those icons can be rotated programmatically to align with wind direction before display. An error state machine handles API failures, low battery, time sync issues, and Wi-Fi disconnection by showing distinct error screens to aid troubleshooting.
Users can personalize the dashboard display by configuring language, units, time and date formats, and air quality scales. The firmware manages Wi-Fi connectivity, NTP time synchronization, battery health monitoring, and charging control for unattended operation.