Reference project
hmi_waveshare_7 — the full source these examples are drawn from.
The shape of an integration
- Register command handlers for the commands your dashboard sends.
- Push sensor values to dashboard widgets by their widget ID.
- Respond to commands so the UI can confirm.
Handling a command and responding
Pushing sensor values to widgets
Push readings to the widget IDs your dashboard uses (here a Gaugew_temp and a
Label w_hpa):
Reading a color-picker command
The dashboard Color Picker auto-injectsrgb:{ r, g, b } (and hex, hsl, …). Pull the channels out of the params:
Configurable widget bindings
A common pattern from the reference project: don’t hardcode widget IDs — let the dashboard send them via aconfig command and store them in NVS. Then your
update_widget_* calls use the stored IDs, so the same firmware works with any
dashboard layout.
This mirrors the Arduino library’s model — see the
Arduino examples for the same patterns in C++.
API reference
Every function these examples use.
Configuration
Kconfig toggles and the board port.

