Build your craft.
manta writes the math.

A Python-first, CasADi-backed framework for simulation, state estimation, and control. Multirotors, fixed wings, boats, rockets, submarines, satellites, ekranoplans — you name it. Declare the model in a few lines of Python, then lower it to a variety of backends: run differentiable simulations with JAX, or export to embedded C++.

Read the docs GitHub ↗
$ pip install mantapilot
showcase reel · coming soon

A handful of primitives.
Any vehicle.

The same parts — masses, thrusters, aero surfaces, sensors — compose into different craft. On the left is the model; on the right it's flying live, compiled to WebAssembly. Click in to take the controls.

A library to build on,
not a black box to fight.

manta exists to take the hard, mathy parts off your plate — state estimation and control — and hand you something small enough to actually read, hack, and make your own.

Simple enough to hack

manta is a library, not a firmware — no monolith to fork, no build flag for every airframe. Projects like ArduPilot get you flying on off-the-shelf parts; manta gives you a few primitives and a grand loop you control, small enough to read and build your own firmware around.

Kept lightweight

It isn't plug-and-play, on purpose. You bring your own hardware and write your own drivers; manta handles the estimation and control math. It's for people who want to go past what an autopilot hands them — and in the age of coding agents, a driver is the easy part.

One source of truth

The same model drives simulation, estimation, and control — not three copies quietly drifting apart. Fitting your model to real flight data is part of the workflow, not an afterthought.

Readable Python, generated speed

You write the model, not the firmware. The Kalman and control math stays legible in Python; manta optimizes and generates the fast code. A little visibility traded for a clean interface.