Wi-Fi 6 Provisioning and Cloud Telemetry
Scope
This application note covers Wi-Fi 6 provisioning on the on-module combo radio and publishing a JSON telemetry payload to an MQTT broker over TLS. It applies to every E1M / E1M-X SoM (the wireless combo module is mandatory per E1M Spec §6.5).
Table: Scope summary
| Field | Detail |
|---|---|
| Audience | Firmware engineers building connected IoT firmware. |
| Prerequisites | Wi-Fi network credentials, an MQTT broker reachable from the network, QS- guide completed. |
| Outcome | Firmware that joins a Wi-Fi 6 network, opens a TLS-secured MQTT session, publishes telemetry every 10 s, and handles reconnect on link loss. |
| Time | 30– 60 minutes (broker setup is the long pole). |
| Source | docs/tutorials/11-mqtt-tls-publish.md and examples/connectivity/iot-connected-camera/ in alp-sdk. |
Hardware Setup
The Wi-Fi 6 + BLE 5.4 combo radio is on-module on every Alp Lab SoM — no carrier-side wiring required for the radio itself. Antenna setup is required.
Table: Wireless hardware per family
| SoM family | Wi-Fi / BLE combo + antenna outputs |
|---|---|
| E1M-AEN | TI CC3501E. 2.4 GHz only (Wi-Fi 6). Single ANT_2.4GHZ antenna pad (AH1). Either U.FL connector or PCB antenna on the carrier. |
| E1M-X V2N / V2N-M1 | Murata LBEE5HY2FY (Infineon CYW55513). Tri-band 2.4 / 5 / 6 GHz Wi-Fi 6 + BLE 5.4. Three antenna pads (ANT_2.4GHz, ANT_5GHz, ANT_6GHz). |
The EVKs populate U.FL connectors on every antenna pad by default; check the EVK User Guide for the populated set on your revision.
Software Walkthrough
The flow is identical across SoMs (the SDK abstracts the underlying combo radio):
-
Provision credentials. For development, hard-code SSID + PSK in
prj.conf:CONFIG_WIFI_SSID="your-ssid"CONFIG_WIFI_PSK="your-psk"For production, load the credentials from the EEPROM manifest at runtime via
<alp/hw_info.h>instead. -
Build with the example:
west build -b <BOARD> examples/connectivity/iot-connected-camera. -
Flash:
west flash. -
Watch the console; the firmware prints connection state changes.
For production, replace the hard-coded credentials with a BLE-based Wi-Fi provisioning flow built on the SDK's BLE GATT server (<alp/ble.h>), or load them from the EEPROM manifest via <alp/hw_info.h>. The Wi-Fi station and MQTT-over-TLS API itself lives in <alp/iot.h>.
Expected Output
[wifi] starting CC3501E (or LBEE5HY2FY on V2N)
[wifi] join: ssid="your-ssid"
[wifi] joined, IP=192.168.1.42
[mqtt] connecting to broker.example.com:8883 (TLS)
[mqtt] connected
[mqtt] pub telemetry/<som-sku>/000 -> {"t":24.7,"rh":47}
[mqtt] pub telemetry/<som-sku>/001 -> {"t":24.7,"rh":47}
...
Troubleshooting
Table: Common failures
| Symptom | Likely cause / fix |
|---|---|
wifi join times out | Wrong SSID / PSK, or 5 GHz / 6 GHz channel on a 2.4-GHz-only SoM. Confirm in router settings. |
| Join succeeds, MQTT connect fails | Broker URL / port / TLS-CA mismatch. Test the broker with mosquitto_pub from your host first. |
| Connect works, publish silently drops | Topic ACL on the broker. Enable MQTT broker logs. |
| Reconnect loop on weak signal | Antenna placement / gain. Move to a U.FL pigtail with an external antenna to validate. |
Regulatory Reminder
The on-module combo radio is pre-certified for the regions listed in the SoM datasheet (FCC / CE / IC / MIC). Reusing the certifications on a customer's end product requires following the integration guidelines (antenna gain, RF trace, enclosure) from the certification report.
References
- Canonical tutorial:
docs/tutorials/11-mqtt-tls-publish.mdin alp-sdk. - Examples:
examples/connectivity/iot-connected-camera/,examples/connectivity/iot-dashboard/,examples/connectivity/iot-fleet-ota/. CC3501E combo-radio silicon bring-up:examples/aen/aen-cc3501e-bringup/. - SDK API:
<alp/iot.h>(Wi-Fi station + MQTT/TLS),<alp/ble.h>(BLE provisioning),<alp/hw_info.h>(EEPROM credential manifest). - SoM datasheets §7.4 / §7.6 (Wireless RF Characteristics and Regulatory).
Revision History
Table: Revision History
| Revision | Changes | Date |
|---|---|---|
| 0.1 | Initial draft. | May 2026 |
| 0.2 | Corrected SDK references to the current layout: example paths now under examples/connectivity/; replaced non-existent <alp/wifi.h> / <alp/wifi_prov.h> with the actual <alp/iot.h> (Wi-Fi station + MQTT) and <alp/ble.h>; fixed the west build path and prj.conf Wi-Fi Kconfig (CONFIG_WIFI_PSK); added the CC3501E bring-up example and EEPROM-credential (<alp/hw_info.h>) note. | June 2026 |