Skip to main content

SiWx917 and TuyaOpen โ€” Overview

TuyaOpen runs SiWx917 on top of Silicon Labs' official WiseConnect SDK, Simplicity SDK, and FreeRTOS. You can use the same TuyaOpen SDK and APIs as on the Tuya T series, ESP32, Linux, and other supported platforms to build IoT and AI applications on SiWx917 hardware.

Why use TuyaOpen on SiWx917โ€‹

If you already develop on SiWx917, TuyaOpen gives you:

  • Tuya Cloud integration: out-of-the-box device activation, remote control, OTA, and data points (DP) โ€” no cloud protocol stack to write yourself.
  • AI capabilities: access the Tuya AI Agent, voice interaction (ASR/TTS/KWS), and LLM services through the unified AI SDK. The AI dev kit is designed for exactly this โ€” a chat button, an analog microphone and speaker, and a display all on board.
  • Path to product: device authorization, license management, OTA firmware updates, and Tuya Smart app provisioning are built in, from prototype to production.
  • Peripheral libraries: display, audio, button, and LED drivers out of the box, managed through board-level configs.

The chip: two processorsโ€‹

SiWx917 (SiWG917) is a Wi-Fi 6 + Bluetooth LE SoC with two processors inside, which makes its flashing and debugging unusual:

ProcessorRunsFirmware
Cortex-M4Application firmware, FreeRTOS, lwIP, all TuyaOpen codeProduced by your application build (tos.py build); flashed on every update
NWP (network wireless processor)Wi-Fi and BLE stacks, radioTA firmware (RS9117_WC_SI.rps); written once per device

The M4 application cannot start without the TA firmware. tos.py flash reads the device's TA version and only offers to write it when it is missing; see Quick Start.

Relationship to the Silicon Labs SDKsโ€‹

TuyaOpen on SiWx917 builds on top of the vendor SDKs rather than replacing them:

  • Simplicity SDK provides CMSIS, peripheral drivers (GPIO, GSPI, ADC, PWM, RTC, UART), and the FreeRTOS port. The TKL adapter (tkl_gpio.c, tkl_spi.c, โ€ฆ) translates TuyaOpen's cross-platform API into calls on these drivers.
  • WiseConnect SDK provides the host drivers that talk to the NWP, plus the TA firmware image itself. Wi-Fi and BLE both go through it.
  • Silicon Labs SLC and Simplicity Commander are the build and flashing tools, downloaded automatically by the platform bootstrap into platform/SIWX917/tools/ โ€” nothing is written into system directories.

The platform layer and the first buildโ€‹

Each TuyaOpen platform occupies its own directory under platform/, fetched as an independent git repository listed in platform/platform_config.yaml. The SiWx917 layer (platform/SIWX917/) builds differently from the T5AI platform, and is worth understanding before the first compile.

Layout of platform/SIWX917/โ€‹

PathContents
tuyaos_adapter/The TKL adapter (tkl_*.c) โ€” translates TuyaOpen's cross-platform API into Simplicity SDK peripheral-driver and WiseConnect host-driver calls
mcu/Chip-level code and vendor patches (WiseConnect patches, the MP3 internal-RAM scratch pool)
sdks/Vendor SDKs, cloned by the first build: simplicity_sdk/, WiseConnect/
slc/, tuyaopen-si91x.slsdk, script/generate, build_setup.pyThe Silicon Labs SLC project description and the step that generates CMake/sources from it before compiling (build_kconfig2slcp.py writes the Kconfig into the .slcp)
tools/Silicon Labs SLC CLI and Simplicity Commander, installed by the first build
script/bootstrapInstalls the ARM toolchain, a Java runtime (the SiLabs tools are Java programs), and the SiLabs tools
platform_libsdependThe vendor SDK manifest: which repositories, which versions, which patches
platform_prepare.pyRuns on the first build; pulls what the table below lists
platform_flash_bridge.pyThe entry point behind tos.py flash โ€” via Commander + J-Link, or the ISP UART
toolchain_file.cmakeLocates the ARM GNU toolchain under the shared platform/tools/
GETTING_STARTED.mdPlatform documentation, including the ROM bootloader recovery flow

What the first build pulls inโ€‹

The first tos.py build runs platform_prepare.py; everything lands inside platform/SIWX917/ โ€” nothing is installed system-wide.

PulledLands inSize (Linux x64)
GNU Arm Embedded toolchainplatform/tools/~700 MB
Java runtime (Temurin 21, required by the SiLabs tools)platform/SIWX917/tools/jre/โ€”
SLC CLItools/slc/~500 MB
Simplicity Commandertools/commander/~90 MB
Simplicity SDK v2025.6.1 (with submodules)sdks/simplicity_sdk/~2.8 GB
WiSeConnect v4.0.0-ifc2fc + platform patchsdks/WiseConnect/~560 MB

Budget 4โ€“5 GB of disk.

Supported boardsโ€‹

BoardModuleHighlights
SIWX917_AI_DEV_KITSiWG917M111MGTBATuya AI dev kit: ST7789 320ร—240 SPI display, analog microphone + speaker, chat button SW1, SW2/SW3 buttons, RGB LEDs
BRD2605ASiWG917MSilicon Labs dev kit; the on-board debugger exposes a J-Link VCOM, so logs and flashing work over one USB cable with no wiring

SIWX917_AI_DEV_KIT (SEKORM AI dev kit)โ€‹

SK_SIWG917_AI_MB AI dev kit

ResourceLink
Schematic V1.1 (PDF)SK_SiWx917_AI_MB_Schematic_V1.1.pdf
Purchase (SEKORM)https://www.sekorm.com/product/603942256.html

BRD2605A (Silicon Labs dev kit)โ€‹

Silicon Labs BRD2605A evaluation board

An on-board SEGGER J-Link debugger with a virtual COM port (VCOM) covers flashing and logs over a single USB Type-C cable; the board also carries temperature/humidity, ambient-light, and 6-axis sensors plus a Qwiic connector.

ResourceLink
SchematicBRD2605A-A02-schematic.pdf
User guideUG581-BRD2605A-user-guide.pdf
Product pagehttps://www.silabs.com/development-tools/wireless/wi-fi/siwx917-dk2605a-wifi-6-bluetooth-le-soc-dev-kit
Purchase (Digi-Key)https://www.digikey.com/en/products/detail/silicon-labs/SIWX917-DK2605A/24710290

Next stepsโ€‹