# TinyMPC/TinyMPC

Model-predictive control for microcontrollers, ICRA 2024 Best Paper Award

Repository: https://github.com/TinyMPC/TinyMPC
Canonical: https://ross.abutalabs.com/products/tinympc
Homepage: https://tinympc.org
Language: C++
License: MIT
License Family: permissive
Topics: admm-algorithm, model-predictive-control, solver, embedded, microcontroller
Last push: 2026-09-02T17:59:57+00:00

## Health v2 (maintenance only)
Score: 73/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 100, release rhythm 35, longevity 80
- inputs: {"age_days": 1127, "days_push": 0, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1081, forks 131 (observed 2026-09-03T02:15:08.419980+00:00)

## What it is
TinyMPC is an open-source C++ solver for convex model-predictive control with a small memory footprint, designed for resource-constrained microcontrollers and robotics. It uses an ADMM-based algorithm, supports state/input bounds and second-order cone constraints, and offers Python, Julia, and MATLAB interfaces for code generation.

## Use cases
- run model-predictive control on a microcontroller
- control a quadrotor with MPC
- generate embedded C++ code for a controller
- implement obstacle avoidance on resource-constrained robots
- compare MPC solver performance on MCUs
- recover a drone from extreme poses

## When to choose
- you need fast MPC with a tiny memory footprint on embedded hardware
- you're building control for small robots like the Crazyflie
- you want code generation from Python/MATLAB/Julia to C++

## When to avoid
- you need large-scale or nonconvex MPC on desktop/server hardware
- you want a batteries-included robotics framework rather than a solver
- you need a solver with extensive third-party integrations out of the box

## Facets
- artifact type: library
- maturity: active
- function: simulation, embedded, math, sdk
- domain: robotics, embedded-systems, autonomous-vehicles
- platform: cpp, embedded, python, cross-platform
- tags: model-predictive-control, admm, control-solver, microcontroller, code-generation, quadrotor, convex-optimization, algorithms, linux

## Member repositories
- TinyMPC/TinyMPC (main) score 73

## Provenance
- Observed fields: from GitHub, fetched 2026-09-03T02:15:08.419980+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:53:19.728643+00:00, confidence not recorded.
  - readme: https://github.com/TinyMPC/TinyMPC (fetched 2026-09-03T02:15:08.419980+00:00, sha e0d09edde62c)
  - homepage: https://tinympc.org (fetched 2026-08-29T12:54:37.614182+00:00, sha bbbcee9b2db3)
  - site_page: https://tinympc.org/get-started/installation (fetched 2026-08-29T12:54:37.617292+00:00, sha d0758d07e391)
- Data as of 2026-08-30T08:39:29.467469+00:00.
