Model-based design for embedded systems

Control models.
Running on the chip.

Visual modeling environment to generate deterministic C code for embedded controls.

Try Modeloop Free

Open in your browser and start designing.

2 Code targets — C & Python
2 Editors — Diagram & MDL
3 Execution levels — MIL, SIL & PIL
2 Platforms — Web & Desktop

Create your algorithms

Design and test each component.

Modeloop provides the building blocks to create your algorithm and the harness to test atomic functions rapidly.

Workflow

From models to final firmware.

Design algorithms visually, review every change, test their behavior and deploy to your hardware.

01 · Design

Design your components.

Bring your architecture to life on a modern visual canvas. Build every software component by wiring blocks, state machines and calibration parameters

Start designing free

02 · Canvas & Text

Switch to text.

Prefer typing? Every component can be edited either graphically on the canvas or via text.

Read about MDL
main
A
Baseline8f2c1a7
speed_errorKp0.008×Ki0.002×Σraw_voltage
B
Working3 uncommitted changes
speed_errorKp0.010×Ki0.0025×Σraw_voltage
AddedRemovedBehavior changedLayout only

03 · Version Control

Review model changes

Make changes and review them. Modeloop separates behavior changes from layout-only edits to easily inspect model modifications

Explore version control

Requirements

System requirement
Requirement

04 · Requirements

Keep requirements with the model.

Capture model-scoped intent in a structured hierarchy. Save it as versionable format and exchange it with existing toolchains.

Manage requirements

05 · Test

Test before hardware.

Define model tests, run verification workflows and inspect results while the system is still easy to change.

Test your first model
Modeloop firmware being flashed over USB from a laptop to a microcontroller board

06 · Deploy

Deploy to hardware.

Connect board resources and peripherals to your components. Your firmware is now ready to be deployed.

Deploy your first model

Features

standard_library.mdl

d(t)

y(t)

r(t)

51

blocks in one

standard library

Math

18

Logic

12

Input / Output

08

Sources

04

Tensor

03

Routing

03

Lookup

02

Processing

01

Math

Σ

×

|x|

xⁿ

Integrator

lim

tan

d/dt

Logic

(A ∧ B) ∨ C

A

B

C

AND

OR

Q

Sources

u(t)

SINE

1.0 Hz

sin

ramp

step

pulse

Maps

f(x, y)

y

x

Tensor

transpose

3 × 4

4 × 3

supervisor.sfc
Idle entry/ count=0 during/ tick++ Active entry/ run() exit/ stop() [start] reset
formal-mapping
Formal Semantics User Model Controller synthesizes Mathematical Model x'(t) = A·x(t) + B·u(t) y(t) = C·x(t) + D·u(t)
testing.spec

UNIT TESTING

TEST CASE

step_response

INPUTS

ref_speed

120.0

load_torque

0.0

EXPECTED OUTPUT

motor_speed

120.0

TOLERANCE

motor_speed

± 0.5

motor_speed [rpm]

0

60

120

180

t = 1.84 s

0 s

1 s

2 s

3 s

4 s

ASSERTION RESULT

eventually

motor_speed = 120 ± 0.5

SIMULATION

EXECUTION TARGETS

Same specification

01

MIL

02

SIL

Generated C

Δ 0.0002

03

PIL

Cortex-M

Δ 0.0008

MAX TARGET DELTA

< 0.001

numeric parity

PlotLab — results
Signals ref F_out x_out err 12 signals t [s]

Build your algorithm using elementary blocks. Compose your diagram hierarchically through subsystems.

Model your Finite State Machine (FSM) with visual states, transitions and events

Establish range boundaries for each signal and mathematically verify that the model remains valid across the entire input space.

Write unit tests and run simulations to validate the functional correctness of your model.

Run your model and inspect every signal trace in real time

Designed for
AutomotiveRoboticsIndustrial Automation

Start Designing Today

No install required. Open your browser and build your first system.

Want the native desktop app?

Join the waitlist for early desktop access

By joining, you ask us to manage your waitlist registration and referral progress under our Privacy Policy and Terms. Unrelated promotional or marketing email requires a separate opt-in.