Skip to content

About

Physically proven ForgeUI Studio live weather dashboard for the Waveshare ESP32-P4 7B. Open-Meteo over HTTPS, ESP-Hosted Wi-Fi, live forecasts, network time and dynamic weather backgrounds.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

ForgeUI P4 Live Weather — ESP32-P4 HTTPS Weather Dashboard

Running ForgeUI P4 Live Weather dashboard

A physically proven, standalone ESP-IDF weather dashboard for the Waveshare ESP32-P4-WIFI6-Touch-LCD-7B. It combines an ESP32-P4, LVGL 9, ESP-Hosted Wi-Fi through the onboard ESP32-C6, Open-Meteo over HTTPS/TLS, SNTP network time, and condition-aware dynamic backgrounds on a 1024×600 touch display.

What is this repository for? It is a functional ForgeUI Studio live-weather project exported as an independent ESP-IDF application, showing how a generated ForgeUI UI can be connected to real hardware, network services, and application logic.

ForgeUI Ecosystem

ForgeUI is developed by RTechAI.

The ForgeUI website is the official home of the ForgeUI embedded UI/HMI development ecosystem. ForgeUI Studio is the current visual embedded UI/HMI development environment for supported ESP32 hardware. ForgeUI Hosted Studio is the hosted, browser-based ForgeUI Studio application and is available for public registration.

RTechAI's GitHub organization hosts ForgeUI public repositories, hardware references, framework baselines, examples, and related open development work. This repository is a functional ForgeUI ESP32-P4 weather example.

Overview

After Wi-Fi is available, the firmware starts SNTP, fetches current conditions from Open-Meteo, and updates the ForgeUI/LVGL dashboard. It is configured for Tauranga, Bay of Plenty, New Zealand; the location structure in main/99_Hardware_Example_04_Weather.c contains the coordinates and can be changed in application code.

The exported project runs independently after flashing: neither ForgeUI Studio nor a PC is required at runtime.

Hardware Target

Component Verified configuration
Board Waveshare ESP32-P4-WIFI6-Touch-LCD-7B
Application MCU Espressif ESP32-P4
Wi-Fi coprocessor Onboard ESP32-C6
Display 7-inch 1024×600 MIPI-DSI LCD, EK79007 driver
Touch GT911 capacitive touch controller
Wi-Fi link ESP-Hosted SDIO, 4-bit bus at 40 MHz

Software Stack

Layer Verified version or component
Build framework ESP-IDF 5.5.4
UI runtime LVGL 9.2.2 via esp_lvgl_port
Board support waveshare/esp32_p4_wifi6_touch_lcd_7b 1.0.2
Connectivity esp_hosted 1.4.7 and esp_wifi_remote 0.14.5
HTTPS ESP-IDF HTTP client with the ESP certificate bundle

The repository locks these managed-component versions in dependencies.lock. sdkconfig.defaults enables ESP-Hosted for an ESP32-C6 slave over SDIO and enables the certificate bundle.

What This Project Demonstrates

  • A ForgeUI Studio-generated LVGL dashboard running as an exported ESP-IDF project.
  • Live current weather: temperature, apparent temperature, relative humidity, wind speed, precipitation, weather code, and day/night state.
  • Five visible daily forecast cards in the generated UI.
  • Certificate-bundle-backed HTTPS requests over ESP-Hosted Wi-Fi.
  • SNTP time using pool.ntp.org and the configured Pacific/Auckland timezone.
  • Dynamic weather backgrounds selected from ten bundled visual states.

Live Weather Pipeline

ESP32-P4 → ESP-Hosted SDIO → onboard ESP32-C6 → Wi-Fi → HTTPS/TLS → Open-Meteo → ForgeUI/LVGL dashboard

The application requests Open-Meteo at api.open-meteo.com/v1/forecast. The source requests current temperature, apparent temperature, humidity, 10 m wind speed, precipitation, weather_code, and is_day, along with daily sunrise and sunset times. It requests one daily record for sunrise/sunset calculations, rather than a multi-day forecast data feed.

Successful weather updates are scheduled every 15 minutes. When Wi-Fi is unavailable, a request fails, or SDIO DMA headroom is insufficient, the task retries after one minute; a failed fetch retains the last displayed values.

Networking and Time

The project uses the ESP-IDF certificate bundle (esp_crt_bundle_attach) for its Open-Meteo HTTPS client and sets a 10-second request timeout. It starts SNTP after Wi-Fi becomes ready, using pool.ntp.org. The UI clock is refreshed once per minute once a usable local time is available.

is_day is initially received from Open-Meteo. After a successful weather response, cached sunrise and sunset epochs are compared with local SNTP time once per minute, allowing the day/night visual state to change without an additional transition-only weather request.

Weather UI and Dynamic Backgrounds

The weather-code mapping is implemented in main/99_Hardware_Example_04_Weather.c and drives the generated UI through FG_Set_Weather_Background_Key. The ten source-backed states are clear day/night, partly cloudy day/night, overcast, fog, rain day/night, snow, and thunderstorm. Weather codes are also grouped into readable dashboard labels such as clear sky, rain, snow, and thunderstorm.

Physical Validation

This repository’s initial-release commit is explicitly labelled “physically proven,” and the current exported firmware includes the live hardware weather application. The selected hero image is labelled as a flashed ESP32-P4 weather theme and is presented here as a running-dashboard screenshot, not as a photograph of the physical board. The two other root PNGs are also dashboard screenshots/theme variants; no physical-board photograph or serial-log capture was found in the repository.

Project Structure

ForgeUI-P4-Live_Weather/
├── c6/                                ESP32-C6 ESP-Hosted profile
├── components/bsp_extra/              Board-specific support extensions
├── docs/                              Setup references and design assets
├── main/
│   ├── 90_Studio_Export.c             Generated ForgeUI Studio UI
│   ├── 95_UserEvents.c                Export extension point
│   ├── 99_Hardware_Example_04_Weather.c Live-weather application logic
│   └── assets/                        Bundled backgrounds and icons
├── dependencies.lock                  Resolved managed-component versions
├── sdkconfig.defaults                 ESP32-P4, LVGL, TLS, and ESP-Hosted defaults
└── CMakeLists.txt                     ESP-IDF project definition

Build and Flash

Use an ESP-IDF 5.5.4 environment. The project defaults already select esp32p4.

git clone https://github.com/RTechAI/ForgeUI-P4-Live_Weather.git
cd ForgeUI-P4-Live_Weather
idf.py set-target esp32p4
idf.py build
idf.py flash monitor

The board’s ESP-Hosted configuration is represented by sdkconfig.defaults and c6/esp-hosted-2.9.7-waveshare-7b.defaults. Ensure the board’s ESP32-C6 coprocessor is provisioned with the compatible ESP-Hosted firmware before expecting Wi-Fi connectivity.

ForgeUI Studio Context

This project was generated by ForgeUI Studio and then exported manually as a standalone ESP-IDF project. main/90_Studio_Export.c and .h are generated Studio output; the developer guide identifies main/95_UserEvents.c/.h as the developer-owned extension area after export. The weather application itself is included as main/99_Hardware_Example_04_Weather.c.

This repository does not establish that ForgeUI Hosted Studio generated the firmware.

Current ForgeUI Studio

The ForgeUI website is the official home of the ForgeUI embedded UI/HMI development ecosystem.

ForgeUI Studio is the current visual embedded UI/HMI development environment for supported ESP32 hardware.

ForgeUI Hosted Studio is the hosted, browser-based ForgeUI Studio application and is available for public registration.

Related ForgeUI Projects

About ForgeUI

ForgeUI is developed by RTechAI.

ForgeUI Studio provides visual embedded UI/HMI development workflows for supported ESP32 hardware, while ForgeUI Hosted Studio provides the hosted browser-based Studio application.

RTechAI is the GitHub home for ForgeUI public repositories and reference work.

License and Third-Party Software

ForgeUI-owned code is distributed under the repository’s ForgeUI Source Available License. This is not an MIT license.

The project also uses third-party components including ESP-IDF (Apache-2.0), LVGL (MIT), Espressif ESP-Hosted and managed components, and the Waveshare BSP. See THIRD_PARTY_LICENSES.md and the component sources for their applicable terms.

License audit note: THIRD_PARTY_LICENSES.md retains stale “ForgeUI One” wording and says that project is MIT-licensed, which conflicts with this repository’s root LICENSE. This README does not repeat that claim; legal files were intentionally not changed in this documentation-only update. Open-Meteo is identified as the external weather provider; no Open-Meteo attribution requirement was found in this repository.

Support

For ForgeUI information, visit forgeui.co.nz. For public project work and issue tracking, use the RTechAI GitHub organization.

About

Physically proven ForgeUI Studio live weather dashboard for the Waveshare ESP32-P4 7B. Open-Meteo over HTTPS, ESP-Hosted Wi-Fi, live forecasts, network time and dynamic weather backgrounds.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages