What Mikronix is
Mikronix is a Unix-like operating system for microcontrollers. It boots on the ESP32-C6 and on any POSIX host -- the same kernel, different machine backends. Every line of C was written by a small fleet of LLM agents under agent orchestration. There is no human author behind the code.
What Mikronix IS
- A freestanding kernel. No libc. Links
-nostdlib, provides its - A real ELF loader. Userland programs are real ELF files on a
- POSIX-shaped. The syscall surface, VFS, /dev model, and task
- OpenBSD-style in layout. The tree looks like and is laid out
- Driven by NetBSD reference. Reference priority: NetBSD, then
own libkern. No vendor blobs.
filesystem, imports resolved against the kernel export table at runtime. Not a flat binary, not a shared library.
model follow POSIX semantics. Programs include standard headers only.
after OpenBSD: sys/ (kern, dev, net, fs, init, lib, conf),
userland in bin/ sbin/ usr.bin/, man pages in share/man/.
- 4BSD-Lite2, Unix v6, OpenBSD. When the sources disagree, NetBSD
wins.
- KNF formatted. Tabs, K&R braces, 80 columns,
staticby - Everything is a /dev node. Devices register
fops, apps find - Real hardware, not emulation. Boots on the Waveshare ESP32-C6
default, no fixed-size buffers, no mnx_ prefixes on functions.
them with dev_lookup_class(). Nothing under /dev is hardcoded.
- 06" AMOLED board with serial console and framebuffer.
What Mikronix is NOT
- Not an ESP32 firmware. The ESP32 is the first machine, not the
- Not a framework. It is an operating system. FreeRTOS is a
- Not C++. Pure C in the kernel and drivers. No C++ in
- Not AI-hallucinated. Every line of C was written by language
- No fixed-size buffers, anywhere. Size first (fstat/tree walk),
- Not TCP-first. The network stack is not complete. It has the
definition. Machine-specific knowledge lives strictly in
sys/arch/esp32/. A new machine = a new sys/arch/<machine>/
with zero changes under sys/.
temporary dependency, not a foundation -- drivers attach to the kernel, not to FreeRTOS tasks.
kernel/driver/fs. static by default.
models, but every line is auditable: the git log is public, SOURCE/ORIGIN blocks trace derived code to its reference, and the build is the proof.
allocate exactly, check every bound. No char buf[512] because
it works.
driver model; TCP/UDP are work in progress. That is honest, not a deficiency.
The fork rule
If you fork or redistribute Mikronix, keep the provenance statement with the code. That is the only license condition beyond the BSD 2-clause text in each file.
See references for the full list of sources and standards Mikronix builds on.