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.mdinside the example folderaiml_wifi_soc_voice_control_light_siwg917_rtos/.Sample applications list on the web: Silicon Labs Sample Applications.
Developing ML applications: see
aiml/README.mdin the AI/ML extension tree (sibling of theaiml_appsources 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#
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 setSERVER_IP/SERVER_PORTto the second board’s IPv4 and the same UDP port the receiver uses (default 5000 unless you change both sides).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_IPon the first board, and flash the firmware.Connect VCOM on both boards to verify association, UDP activity, and LED behavior.
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_PORTand 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_IPequals the receiver, firewall off on test hosts, and port unchanged on both sides.Wrong state: verify payload parsing against the sender’s
readme.mdand serial logs on VCOM.