FlintOS
Rust · no_std · ESP32 + RP2040 · Apache-2.0 · v0.1
FlintOS is a preemptive real-time operating system for 32-bit microcontrollers, written in no_std Rust. It boots, schedules and preempts on real silicon across two architectures — Xtensa on the ESP32 family, and ARMv6-M on the RP2040 — with 48 priorities banded into Critical, Normal and Background, round-robin within a level, and a 1 ms tick.
The build has no Kconfig, no CMake and no vendor SDK. A clone and a single make flash BOARD=<your board> puts three tasks on a board, and adding a new board is one manifest file. The board argument is deliberately required with no default, because a wrong pin map looks like broken hardware rather than a build error.
It is pre-alpha, and the project says so plainly: it runs on real hardware, but most drivers are thin and the API will change. If you need general-purpose userspace isolation, a filesystem today, or something production-proven, FreeRTOS, Zephyr and Embassy are the better answers.
Advantages & key features
- Preemptive from the first line — 48 priorities, mutexes with priority inheritance, and typed bounded queues with an ISR-safe send
- A three-layer driver model enforced by a CI lint rather than convention: a new sensor is only a device driver, a new peripheral is only a register driver
- Verified on hardware on both architectures — ESP32-DevKitC, three M5Stack boards, the Raspberry Pi Pico and the Wio RP2040 Mini
- On ESP32, Wi-Fi runs as a station: a first-party Rust supplicant completes a WPA2-PSK handshake, then DHCP, DNS and outbound TCP come up over
smoltcp - On RP2040, opt-in isolated compute tasks get private guarded stacks and a restricted supervisor-call API, verified on both cores
- Debugging at zero release cost — levelled logging, metrics, stack high-water marks and postmortem capture all compile out when the feature is off
- 1,216 host test executions, plus on-target self-test suites over serial on Xtensa and over SWD on ARM
What we did
FlintOS is our own project, designed and built in-house and released under Apache-2.0 with its patent grant. The kernel, both architecture ports, the SoC and board layers, the driver stack and the Rust Wi-Fi supplicant are all first-party — there is no vendor SDK underneath.
Products
- flintos.dev ↗ — Quickstart, the layer model, supported boards and pinouts, and the generated API reference.
- GitHub ↗ — Source and issue tracker. Open work lives in the issues, which the project treats as its source of truth.