Lesson 7 of 7
Flash to hardware
This is the payoff: the same design you simulated, running on a real microcontroller. Block Designer generates safe, pure-Rust firmware from your blocks and flashes an STM32 directly — no separate toolchain, no hand-written code.
Connect the board
Plug in a supported STM32 board over USB. Block Designer targets the F4 family and probes the attached chip directly, so it knows exactly what's connected.
Need an external debug probe? STM32 Nucleo boards include a built-in ST-Link, so a single USB cable is all you need. Bare boards like the Black Pill have no on-board probe — connect an external one (ST-Link, DAPLink, etc.) over SWD. The interactive SWD wiring guide walks you through the four connections one jumper at a time.
Program it
Click Program STM32. Block Designer will:
- Generate safe, pure-Rust firmware from your design — not a black box.
- Compile it for the detected chip.
- Flash it over ST-Link / OpenOCD.
When it finishes, the board runs your logic. In the clip above, Blinky's output reaches a real pin and the on-board LED starts blinking — the full design → simulate → deploy loop, closed on hardware.
Tip: if the connected chip differs from your design's target, Block Designer detects the mismatch at program time and offers to update the design to match — so a swapped board doesn't mean a failed flash.
Where to next
You've covered the full loop. From here, Block Designer goes further than this tutorial:
- Real-Time Trace (RTT) — live, bi-directional telemetry from running firmware for on-the-fly tuning.
- Subsystems — collapse parts of a large design into reusable, self-contained modules.
- Auditable code — an optional codegen style that emits clearly structured Rust, with names mapped back to your canvas, so you can review exactly what runs on the chip.
Ready to build something of your own? Download Block Designer and start from a blank canvas — or an example.