Quickstart: your first build
The shortest path to something running: blink the onboard LED on a Core tile. Pick the path that suits you — both target the same hardware.
Path A — Studio (no install)
Studio runs in the browser, so there’s nothing to set up. You compose the system visually, simulate the firmware, then build a binary.
- 1
Open Studio and add a Core
Start a new project and drop a Core tile onto the canvas. The Core is the tile that runs firmware. - 2
Blink the onboard LED
Add a behavior that toggles the Core’s onboard LED on a timer. Studio shows it running live in the simulator — no hardware required yet. - 3
Build & flash
Hit Build to compile a firmware image, connect your Core over USB, and flash it. The real LED blinks.
Path B — The C SDK
Prefer to write firmware directly? The whole program is a dozen lines. Create main.c:
#include "core.h"
int main(void)
{
core_init();
core_led_init();
while (1) {
LED_TOGGLE();
core_delay_ms(250);
}
}What each line does
core_init() brings up the system clock at the Core’s maximum frequency. core_led_init() configures the onboard LED pad as a push-pull output. LED_TOGGLE() flips it, and core_delay_ms(250) waits a quarter second — so the LED cycles every 500 ms, a 2 Hz blink. The while (1) loop never exits; firmware runs until power is removed.
Build and flash
Generate the project for your Core, build it, and flash over USB. From the project directory:
# build for your Core (use your Core's catalog id)
make TILE=Core.ST.L4.1
# flash over USB (triggers the bootloader automatically)
make flash-dfuTILE variant, and how DFU flashing works are covered in Install & flash.Once the LED blinks, you’ve got the full loop — edit, build, flash. From here, add a peripheral tile and read it from your firmware: the per-tile catalog pages document every driver. And as the firmware grows beyond main.c, just add more .c files to the project directory — the build compiles every source it finds there.

