What it is
Block Designer is a visual, block-diagram design tool for embedded control systems: draw your control loop as wired-together blocks, simulate it with a real DAE solver, then flash the exact same logic to an STM32 as generated Rust firmware. No C, no hand-written driver code, no separate
"now port it to the real MCU" step.
Think of it as a small, self-contained take on model-based design, but scoped to what a hobbyist or embedded engineer actually needs to get a control loop from idea to running hardware.
Backstory
This started as a personal project: I kept hitting a gap in easy-to-use tools for programming real-time dynamic control systems onto microcontrollers. Over the last ~6 months I've poured my spare time into it: 3–4 hours a day after work on weekdays, and 8–10 hours a day on weekends. It's a weekend passion project.
I first shared it with family and friends, who found plenty of bugs, since fixed, and encouraged me to share with the public. A lot of the current feature set came directly from their feedback.
I develop on macOS, so Windows support currently lags a little.
How it works
Design. Drag blocks from a searchable palette (100+ blocks across Math, Logic, Dynamics, Sources, Sinks, State/Control, and Hardware I/O) onto an infinite canvas. Wires auto-route around other blocks with A pathfinding and re-route live as you move things.
Simulate. Run the design in-app before it ever touches hardware. A high-fidelity solver handles continuous-time dynamics, an integrated oscilloscope-style Signal Monitor shows every signal, and the system is automatically linearized after each run so you can see pole locations and sweep a "Gain Probe" block to trace a root locus live.
Flash. Export generates real Rust firmware for STM32 (F4 families) — no C in the loop. There's an optional "auditable" codegen style that keeps generated names traceable back to your canvas blocks, so you can actually read and review what's going to run on the chip before you trust it. Flashing is one click over OpenOCD/ST-Link.
Status
Actively developing. See https://www.projectdayoff.com for downloads and a 7-lesson tutorial.