Wi-Fi UDP LED Receiver (companion to Wi-Fi Voice Control Light)#

This application runs on a second development board on the same Wi-Fi network as the Wi-Fi Voice Control Light (SiWG917, FreeRTOS) example. It receives UDP packets that the voice application sends after keyword detections and drives a status LED from the payload:

  • ON → the board turns the LED on (for example solid blue).

  • OFF → the LED is turned off.

References#

The AI/ML Sample Apps package readme summarizes all examples and where to read more. In short:

  • Per-application behavior, model file location, and Wi-Fi vs bare-metal differences: see readme.md inside the example folder aiml_wifi_soc_voice_control_light_siwg917_rtos/.

  • Sample applications list on the web: Silicon Labs Sample Applications.

  • Developing ML applications: see aiml/README.md in the AI/ML extension tree (sibling of the aiml_app sources in the packaged extension) and Machine Learning developer documentation.

This Wi-Fi example is grouped under Wireless Integration in that readme: FreeRTOS application with WiseConnect Wi-Fi plus TFL-M voice control for an LED; platform SiWG917 (FreeRTOS), for example BRD2605A.

Install Simplicity Studio 6 with Simplicity SDK, the Silicon Labs Machine Learning (aiml) extension, and WiseConnect. Use versions compatible with the AI/ML extension release you are using.

Important steps#

  1. First board: Create a project from AI/ML - SoC Wi-Fi Voice Control Light for SiWG917 (FreeRTOS) (aiml_wifi_soc_voice_control_light_siwg917_rtos), configure the AP as in the Wi-Fi Voice doc, and set SERVER_IP / SERVER_PORT to the second board’s IPv4 and the same UDP port the receiver uses (default 5000 unless you change both sides).

  2. Second board: Create a project from the UDP LED receiver example in the AI/ML extension (name shown in Studio), assign a static IPv4 on the AP subnet that matches SERVER_IP on the first board, and flash the firmware.

  3. Connect VCOM on both boards to verify association, UDP activity, and LED behavior.

  4. Associate a client to the SoC access point if required for the voice app’s ML loop; speak on / off and confirm LED behavior on the receiver board and logs on both devices as described in each example’s readme.md.

Required hardware and setup#

  • Two supported SiWG917 kits (or one voice board plus a second board as supported by the receiver example—confirm in the template).

  • USB for flash / debug and VCOM on each board.

  • Wi-Fi topology: the voice board is the AP in the reference design; the receiver joins that AP (or follows the topology described in your example readme.md) so it can receive datagrams sent to its station address.

Application notes#

  • Addressing: The sender must target the receiver’s IPv4 (SERVER_IP). Use a static address on the receiver if DHCP would make the address unstable between runs.

  • Port: UDP port must match on both projects (same value as SERVER_PORT and the receiver bind).

  • Payload format: Treat the exact ON/OFF strings (or binary format) as defined in firmware; parse in the receiver task and map to GPIO/LED timing (including blink if implemented on this board only).

Troubleshooting#

  • No LED changes: confirm routing—voice app has a client associated if required, SERVER_IP equals the receiver, firewall off on test hosts, and port unchanged on both sides.

  • Wrong state: verify payload parsing against the sender’s readme.md and serial logs on VCOM.