Skip to content

Getting Started Overview

SF32 devices support several software paths. SiFli-SDK and CodeKit are the official first-run paths today. OpenSiFli also has active downstream Zephyr, beta ArduinoCore-zephyr, and work-in-progress Rust support for SF32LB52. MicroPython still needs official firmware images and board-specific instructions before it can become a verified tutorial.

For the current board-by-platform coverage, maturity, and recommended first example, consult the shared Software Support Matrix. Use the table below only to choose where to begin; the matrix is the canonical support reference.

Choose Your Path

Table: Choose Your Path
Path Current status Start here
SiFli-SDK Official SiFli path for reference SF32 development, RT-Thread, Bluetooth, graphics, audio, low power, and board bring-up. SiFli-SDK
SiFli CodeKit Official SiFli VS Code workflow for SDK setup, project creation, build, flash, and serial monitor. SiFli CodeKit
Zephyr OpenSiFli downstream Zephyr support exists for sf32lb52_devkit_lcd, with SiFli HAL, board files, drivers, and sample overlays. Zephyr Downstream
Arduino OpenSiFli beta ArduinoCore-zephyr package exists for the SF32LB52 DevKit LCD. Arduino
Rust OpenSiFli sifli-rs provides a work-in-progress Rust evaluation path; not production-ready. Rust
MicroPython Needs official firmware images, flash commands, REPL settings, and supported API details. MicroPython

What You Need

For any path, prepare the same basic hardware setup:

  • An SF32 development board, such as an SF32LB52-DevKit-LCD-class board.
  • A USB Type-C data cable connected to the board's USB-to-UART port.
  • A computer running Windows, macOS, or Linux.
  • A serial terminal so you can see boot logs and example output.

Use a data cable

Charge-only USB cables are a common cause of first-run failures. If the board powers up but no serial port appears, try a known-good data cable and a direct USB port.

If this is your first SF32 board, start with SiFli-SDK. It is the reference software stack for SF32 and the most reliable baseline for confirming that your board, cable, serial port, flash flow, and toolchain all work.

After hello_world runs successfully, switch to another framework that supports your exact hardware. That gives you a known-good recovery path if later experiments fail.

What Success Looks Like

By the end of a getting-started guide, you should have:

  • Built or loaded a first example.
  • Flashed it to the board.
  • Opened the serial console.
  • Seen predictable output, such as a boot log, hello_world, a shell prompt, or REPL banner.
  • Recorded the board name, serial port, and flash command that worked.

Keep those details with your project notes. They are the fastest way back to a working setup when you start modifying examples.

Continue with Tutorials

Once you can repeat the first-run success criteria, continue to the Tutorials Overview. The tutorials are the next stage of this onboarding path: begin with one peripheral, then combine subsystems, and finally practice the validation work needed for a product.

When to Move to Develop

Getting Started ends when you can reproduce a known-good first run. Develop is the ongoing engineering reference for platform maturity, tools, flash/debug workflows, firmware architecture, and product integration. In particular, use the CodeKit tool reference after the first run for CodeKit's role in the daily development workflow; keep this page for the first-run path.

SiFli Documentation Work to Add

To make the full getting-started section complete, SiFli should add:

  • A public status matrix for SiFli-SDK, CodeKit, Zephyr, Arduino, and MicroPython by board.
  • Exact board names for every supported software path.
  • Flash/download commands for Windows, macOS, and Linux.
  • Expected serial output for each first example.
  • Recovery steps for failed flashes or bad firmware images.
  • Known limitations for each framework, especially Bluetooth, display, storage, USB, and low-power behavior.
  • Release notes that tie SDK, CodeKit, package, firmware-image, and board-support versions together.