Skip to main content

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

FieldDetail
AudienceFirmware engineers building connected IoT firmware.
PrerequisitesWi-Fi network credentials, an MQTT broker reachable from the network, QS- guide completed.
OutcomeFirmware that joins a Wi-Fi 6 network, opens a TLS-secured MQTT session, publishes telemetry every 10 s, and handles reconnect on link loss.
Time30– 60 minutes (broker setup is the long pole).
Sourcedocs/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 familyWi-Fi / BLE combo + antenna outputs
E1M-AENTI 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-M1Murata 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):

  1. 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.

  2. Build with the example: west build -b <BOARD> examples/connectivity/iot-connected-camera.

  3. Flash: west flash.

  4. 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

SymptomLikely cause / fix
wifi join times outWrong SSID / PSK, or 5 GHz / 6 GHz channel on a 2.4-GHz-only SoM. Confirm in router settings.
Join succeeds, MQTT connect failsBroker URL / port / TLS-CA mismatch. Test the broker with mosquitto_pub from your host first.
Connect works, publish silently dropsTopic ACL on the broker. Enable MQTT broker logs.
Reconnect loop on weak signalAntenna placement / gain. Move to a U.FL pigtail with an external antenna to validate.

Regulatory Reminder

warning

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.md in 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

RevisionChangesDate
0.1Initial draft.May 2026
0.2Corrected 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
Questions about this page? Discuss in Community Forum