References

Every line of Mikronix code is auditable. This page lists the sources Mikronix builds on -- what we took from each, and where it landed in the repository.

Operating systems

NetBSD -- primary reference

NetBSD is the main reference for Mikronix's design decisions. The autoconf model (cfdriver, cfattach, cfdata), the kernel config (GENERIC -> ioconf.c via tools/config.sh), the tree layout, and the reference priority chain all follow NetBSD.

4.4BSD-Lite2

  1. 4BSD-Lite2 is the second reference, especially for the VFS,
  2. file operations, and the struct cdevsw device table.

Unix v6

Unix v6 is the third reference, especially for the process model (proc[0] as scheduler, v6-style task spawning) and the init system.

OpenBSD

OpenBSD is the fourth reference, especially for coding style (KNF), man page format (mdoc), and the general Unix philosophy.

The BSD tradition

Every BSD keeps SOURCE/ORIGIN blocks in derived code. Mikronix does the same -- when code traces to a reference, the block names the origin. This is not unique to Mikronix; it is the BSD way.

Hardware references

ESP32-C6 Technical Reference Manual (TRM)

Espressif's official TRM is the primary hardware reference for register definitions, memory map, and peripheral layouts of the ESP32-C6 SoC.

SH8601 (QSPI AMOLED Display)

The SH8601 drives the 410x502 16-bit AMOLED panel. Mikronix drives it at the register level, derived from the Waveshare BSP.

FT5x06 (Touch Controller)

The FT5x06 I2C capacitive touch controller. Register-level driver.

AXP2101 (Power Management IC)

The AXP2101 PMIC powers the board. Mikronix reads it at the register level -- battery status, voltage, temperature.

PCF85063 (Real-Time Clock)

The PCF85063 I2C RTC provides real-time clock and calendar.

ES8311 (Audio Codec)

The ES8311 handles audio output (ADC + DAC) via I2C control and PDM audio.

ES7210 (Microphone)

The ES7210 is the I2C microphone on the board.

Tools

bb (C99 Static Site Generator)

Mikronix's website is built with bb, a C99 static site generator written by Konrad Lother. Pure C, no dependencies, HTML 4.01 output, no JavaScript.

llama.cpp

Local LLM inference server. Mikronix agents run on llama.cpp servers (Qwen3.6-35B MoE).

litellm

LLM proxy and routing. Manages the agent fleet's inference endpoints.

Standards

POSIX.1-2017

Mikronix targets POSIX.1-2017 (POSIX.1-2008 + Technical Corrigendum 2). The syscall surface, VFS, /dev model, and task model follow POSIX semantics.

C99

All code is C99. No C++ in kernel/drivers/fs. static by default. No fixed-size buffers, anywhere.

BSD 2-clause license

Every file carries the BSD 2-clause header. The only license condition beyond the BSD text is the provenance attribution: if you fork or redistribute Mikronix, keep the statement with the code.

Where to find the proof