Mikronix is a Unix-like operating system for microcontrollers, written in pure C99, built the NetBSD way. It boots on the ESP32-C6 and on any POSIX host — the same kernel, different machine backends.
"It is Unix-like because that is the way to compute."
Status
v0.0.1 — the whole boot chain runs live on the Waveshare
ESP32-C6 2.06" AMOLED board and ends at an interactive
mikronix> shell prompt.
What it is
- A freestanding kernel, no libc. It links
-nostdliband is - An ELF program loader with a kernel export table — userland
- A scheduler, a POSIX-shaped fd layer on a virtual filesystem,
- Everything is a node in
/dev. Devices registerfops, apps - Kernel configuration is a NetBSD-style
GENERICfile per - Drivers attach through an autoconf model in the NetBSD
its own libc (sys/lib/libkern/).
programs are real ELF files on a filesystem, imports resolved
against elf_ksyms[] at runtime.
OpenBSD-style init (/etc/rc), and an interactive shell.
find them with dev_lookup_class().
board; tools/config turns it into the device table
(ioconf.c), exactly like config(8).
tradition: cfdriver, cfattach, cfdata — rtc0 at iic0,
reported in dmesg style at boot.
The machines
esp32-c6-amoled206— Waveshare ESP32-C6 2.06" AMOLED:host— the same kernel on Linux/BSD, built with cc,esp32-classic— the Xtensa LX6 port, in progress.
SH8601 display, FT5x06 touch, AXP2101 PMIC, PCF85063 RTC, ES8311 codec — register-level drivers, no vendor blobs.
pthreads, and dlopen. make kernel-host.
How it is built
The tree is laid out after NetBSD: a machine-independent sys/
tree (kern, dev, net, fs, conf), per-machine backends under
sys/arch/<machine>/, userland in bin/ sbin/ usr.bin/,
man pages in share/man/. Reference priority: NetBSD, then
- 4BSD-Lite2, Unix v6, OpenBSD. KNF formatting, C99, no fixed
buffers, no mnx_ prefixes on functions.
Provenance
Mikronix is AI-developed — every line of C was written by a small fleet of LLM agents (Qwen3.6-35B on llama.cpp) under agent orchestration. Konrad Lother, the inventor, had no plan of his own: he steers, decides, fixes the hardware, and reads the result to learn from it. See AI-PROVENANCE.md — and read the git log to watch an AI team build a Unix.
Repository
git.hiddenbox.org/lotherk/mikronix — kernel, drivers, userland, man pages, and this website, all in the open.