Skip to main content

iot-dashboard

:::warning [UNTESTED] — v0.5 paper-correct Builds clean on native_sim/native/64. Real-silicon bring-up + an MQTT broker round-trip land later. :::

A live temperature / humidity / pressure dashboard with sparkline + MQTT/TLS publish — sensor → local screen + cloud telemetry, all on one E1M-AEN module.

Source: examples/connectivity/iot-dashboard/.

Components

  • BME280 — T / RH / P environment sensor via <alp/chips/bme280.h>.
  • ST7789 TFT — 240×320 panel rendering the dashboard.
  • mbedtls — the TLS implementation behind the MQTT publish.
  • LVGL — composes the T/H/P dashboard with sparkline + status strip.
  • OPTIGA Trust M — declared as the planned TLS trust-anchor / handshake offload.

The app uses the portable <alp/iot.h> alp_wifi_connect path so the same source builds against AEN (Wi-Fi via the on-module CC3501E bridge) or V2N (on-module Murata) — only som.sku changes.

:::note TLS runs the software path today The OPTIGA Trust M driver is probe-only, so TLS goes through mbedTLS in software. The hardware TLS backends remain status: planned — the optiga_trust_m entry in chips: reserves the trust anchor, it does not offload the handshake yet. :::

Display bring-up

The dashboard opens its panel via alp_display_open() and binds LVGL with alp_gui_lvgl_attach() after the sensor and Wi-Fi/MQTT bring-up, with CONFIG_LV_Z_AUTO_INIT=n in prj.conf. See lvgl-widgets-demo for the reference sequence.

board.yaml

libraries:
- name: lvgl
cores: [m55_hp]
- name: mbedtls
cores: [m55_hp]

som:
sku: E1M-AEN801

preset: e1m-evk

pins:
- { e1m: E1M_I2C0, macro: EVK_I2C_BUS_SENSORS, doc: "Shared sensor + IO-expander + INA236 bus" }
- { e1m: E1M_SPI1, macro: EVK_SPI_BUS_ARDUINO, doc: "Arduino UNO header SPI" }

cores:
a32_cluster:
os: "off"
m55_hp:
app: ./src
iot:
wifi: true
mqtt: true
tls: true
peripherals:
- i2c # BME280.
- spi # Display.
- gpio # Display ancillaries + CC3501E control GPIOs.

chips:
- bme280 # Environment sensor.
- optiga_trust_m # Planned TLS trust-anchor / handshake offload.
- st7789 # 240x320 TFT.

diagnostics:
log_level: info

Wi-Fi connectivity comes through the <alp/iot.h> alp_wifi_* surface; on AEN the generator resolves on_module.wifi_ble: cc3501e and emits the CC3501E bridge backend.

See also

Questions about this page? Discuss in Community Forum