Block Diagram & Control System Simulator

Model, simulate, and deploy dynamic systems.

Build control systems and signal-processing models as block diagrams, run them with real ODE solvers, and watch results live — right in your browser. Then generate deployable C or Arduino code and take your design to hardware.

Free to use Runs in the browser No installation required
SysDynLab showing a temperature-control block diagram with a live multi-channel scope tracking the response against a setpoint.
What you can build

Everything you need to design and analyze

A complete modeling environment — from continuous dynamics to discrete logic — with no toolboxes to install.

A closed-loop temperature control block diagram in SysDynLab.

Design any system visually

Drag blocks from a rich library and wire them into your model. Sources, math, continuous and discrete dynamics, nonlinearities, routing, and hierarchical subsystems — all on an infinite canvas.

  • 60+ block types — transfer functions, integrators, PID, filters, lookup tables, and more.
  • Continuous & discrete — mix ODE dynamics with sampled/discrete-time blocks.
  • Nested subsystems — group and reuse structure to keep large models clean.
Live multi-channel scope in SysDynLab plotting a control-loop response.

See results the moment you run

Variable-step and fixed-step ODE solvers integrate your model and stream the results to live scopes. Overlay signals, zoom and pan the time axis, and read values right off the plot.

  • Robust ODE solvers — automatic step-size control with stiffness detection.
  • Multi-channel scopes — overlay or subplot, with XY plots and displays.
  • Interactive plots — two-click zoom, pan, and CSV import/export.
The SysDynLab statechart editor with Heating, Cooling and Idle states and guarded transitions.

Add logic with state machines

Model modes, supervisory logic, and event-driven behavior with a built-in Harel statechart editor — states, guarded transitions, entry/exit actions, junctions, and hierarchy.

  • Visual statecharts — draw states and transitions, set guards and actions.
  • Expression language — arithmetic, comparisons, functions, locals, and vectors.
  • Parallel & nested regions — compose complex behavior that still simulates fast.
SysDynLab generating MISRA-clean C code from a state machine diagram.

Generate deployable code

Turn a validated diagram into readable, portable source. Export MISRA-clean C, Python, or a ready-to-flash Arduino sketch — the same behavior you simulated, running on your target.

  • C · Python · Arduino — pick the target that fits your workflow.
  • MISRA C:2012 advisory-clean — generated C passes static analysis.
  • Bit-exact to the sim — generated code matches the browser results.
AI Copilot

Describe your system — the copilot builds it

Type what you want in plain English and get a validated block diagram, wired and parameterized. Bring your own key from Anthropic, OpenAI, or Google.

SysDynLab Copilot
Build a closed-loop PID that controls a DC-motor speed and plot the tracking.
Done ✓ — I wired Step → Sum(+ −) → PID → Motor 1/(0.5s+1) → Scope, with speed feedback into the sum.
Make it settle faster and avoid overshoot.
Retuned to Kp 4, Ki 1.2, Kd 0.3 and added PID output limits with anti-windup. ⚠︎ Advisory: none — feedback sign and units check out.
ClaudeChatGPTGemini your key, stored locally

From words to a working model

The copilot doesn't hand you loose text — it assembles a real model on the canvas, closes the feedback loop, and picks sensible parameters. Ask follow-ups to refine it; it remembers the whole conversation.

  • Always valid — every model is schema-checked before it lands; the copilot self-corrects its own mistakes.
  • Conversation memory — iterate turn by turn, attach files, or clear the chat anytime.
  • Design advisories — flags integral windup, unit mismatches, positive feedback, and half-wired I/O.
  • Your keys stay yours — the API key lives in your browser and only talks to your chosen provider.
A Claude · Anthropic
Default claude-3-5-sonnet-latest. Strong at multi-step, correct wiring.
G ChatGPT · OpenAI
Default gpt-4o. Fast, reliable tool-calling.
G Gemini · Google
Default gemini-2.0-flash. Free tier friendly.

Prefer a specific model? Type any model name to override the default — e.g. a newer Claude, GPT, or Gemini release.

1

Add your key

Open the Copilot panel, pick a provider, and paste your API key. It's saved locally in the browser.

2

Describe the system

“A cruise controller for a car,” “a thermostat with hysteresis,” “read A0 and drive a servo.” Vague is fine.

3

Run & refine

The model appears on the canvas — run it, then ask for changes in the same chat until it's right.

Arduino Edition

Take your model to hardware

The desktop app adds a direct bridge to real boards — so a block diagram becomes running firmware without leaving the app.

● Desktop · Arduino

SysDynLab Desktop

Everything in the browser simulator, plus one-click compile & upload, a live serial link that streams sensor data straight into the scope, and an AI copilot that turns a plain-English description into a validated model.

  • One-click compile & flash — built-in arduino-cli bridge, no IDE needed.
  • Live serial → scope — close the hardware-in-the-loop and plot in real time.
  • AI model copilot — describe a system; it builds the diagram for you.
Sensor 24.3°C PID u(t) PWM 180 ATmega328P ARDUINO UNO LED · D13 SERIAL MONITOR 115200 baud LIVE t=1.00 temp=22.4 pwm=255 t=1.05 temp=22.9 pwm=255 t=1.10 temp=23.4 pwm=240 t=1.15 temp=23.8 pwm=214 t=1.20 temp=24.1 pwm=188 t=1.25 temp=24.4 pwm=162 t=1.30 temp=24.6 pwm=140 t=1.35 temp=24.8 pwm=121 t=1.00 temp=22.4 pwm=255 t=1.05 temp=22.9 pwm=255 t=1.10 temp=23.4 pwm=240 t=1.15 temp=23.8 pwm=214 t=1.20 temp=24.1 pwm=188 t=1.25 temp=24.4 pwm=162 t=1.30 temp=24.6 pwm=140 t=1.35 temp=24.8 pwm=121
Watch

From block diagram to flashed board

Draw a model, generate the Arduino sketch, run the built-in self-check, compile, and upload — all inside the app.

Capabilities

Built for real control engineering

01

ODE Solvers

Variable- and fixed-step integration with automatic stiffness detection and step-size control.

02

PID & Control

Continuous and discrete PID with anti-windup, saturation, and output limiting.

03

State Machines

Harel statecharts with guards, actions, junctions, and hierarchical regions.

04

Code Generation

MISRA-clean C, Python, and Arduino sketches — bit-exact to the simulation.

05

Subsystems

Group, nest, and reuse structure with ports, tags, and virtual wiring.

06

AI Copilot

Describe a system in plain English and get a validated, ready-to-run diagram.

Download

Get SysDynLab Desktop

Free for macOS, Windows, and Linux. Prefer no install? The simulator also runs in your browser at sim.sysdynlab.com.

Other builds: macOS (Intel) · Linux (.deb)

Not code-signed yet — your system warns you on first launch.
  • Windows — “Windows protected your PC” → More infoRun anyway
  • macOS — right-click the app → OpenOpen (first time only)
  • Linuxchmod +x SysDynLab-0.1.1.AppImage

Free · v0.1.1

Start modeling in seconds

No sign-up, no install. Open the simulator in your browser, or get the desktop app for hardware work.

OA

Okan Arpacik

Control Systems Engineer · Creator of SysDynLab
Connect on LinkedIn

B.S. in Control and Automation Engineering from Istanbul Technical University (2017) and M.Sc. in Electrical and Electronics Engineering from Middle East Technical University (2021). Research interests span model predictive control, online optimization, and motion control of mechatronic systems. SysDynLab grew out of a simple goal: let engineers and students model, simulate, and analyze dynamic systems in real time — with nothing to install.

Model Predictive Control Online Optimization Motion Control Mechatronics Dynamic Systems