nat-os
CART
Engineering Reports — The Primary Record

40 Reports · Measured on Hardware

From /opt/build/repo/nat-os-test/docs — rendered live from markdown. The book is synthesis; these are the record. Every report ends with what it does not establish.

Also published as 6×9 paperback (390pp) + KDP wrap. See /book.
UM-NATOS-001
UM-NATOS-001 — System Architecture and Scope
# UM-NATOS-001 — System Architecture and Scope **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: current --- ## 1. Abstract nat-os is an operating system written from scratch for the ESP32-based "Cheap
READ →
UM-NATOS-002
UM-NATOS-002 — Boot Chain and Image Format
# UM-NATOS-002 — Boot Chain and Image Format **Used Medias LLC — Embedded Systems Division** Revision 2.0 · 2026-08-19 · Status: current — L1 is now this project's own > **Revised.** When this was written the second stage was Espressif's.
READ →
UM-NATOS-003
UM-NATOS-003 — Xtensa ABI Selection
# UM-NATOS-003 — Xtensa ABI Selection **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: current — verified by codegen inspection --- ## 1. Abstract The Xtensa LX6 supports two calling conventions: the w
READ →
UM-NATOS-004
UM-NATOS-004 — Memory Map and Allocation Policy
# UM-NATOS-004 — Memory Map and Allocation Policy **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: current — **contains one open risk (§5)** --- ## 1. Abstract This report records the ESP32 address reg
READ →
UM-NATOS-005
UM-NATOS-005 — Build and Flash Pipeline
# UM-NATOS-005 — Build and Flash Pipeline **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: current --- ## 1. Abstract This report documents how nat-os source becomes a bootable image, every compiler an
READ →
UM-NATOS-006
UM-NATOS-006 — Milestone 0 Verification Report
# UM-NATOS-006 — Milestone 0 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: **PASS** — all assertions verified on hardware --- ## 1. Abstract Milestone 0 establishes that nat-os o
READ →
UM-NATOS-007
UM-NATOS-007 — Development Roadmap M1–M5
# UM-NATOS-007 — Development Roadmap M1–M5 **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-16 · Status: **all milestones complete** — §2 state updated, §2.1 added --- ## 1. Abstract This report defines the milesto
READ →
UM-NATOS-008
UM-NATOS-008 — Milestone 1 Verification Report
# UM-NATOS-008 — Milestone 1 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-15 · Status: **PASS** — §9 added, a second writer to the comparator --- ## 1. Abstract Milestone 1 establishes that
READ →
UM-NATOS-009
UM-NATOS-009 — Milestone 2 Verification Report
# UM-NATOS-009 — Milestone 2 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.3 · 2026-08-15 · Status: **PASS** — §11.4 added, ageing bounds the starvation strict priority allows --- ## 1. Abstract Mileston
READ →
UM-NATOS-010
UM-NATOS-010 — Milestone 3 Verification Report
# UM-NATOS-010 — Milestone 3 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: **PASS** — all three exit criteria met on hardware --- ## 1. Abstract Milestone 3 delivers the kernel a
READ →
UM-NATOS-011
UM-NATOS-011 — Flash Cache and Read-Only Data Placement
# UM-NATOS-011 — Flash Cache and Read-Only Data Placement **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-14 · Status: **Complete, verified on hardware** --- ## 1. Abstract Read-only data now lives in flash, mappe
READ →
UM-NATOS-012
UM-NATOS-012 — Milestone 4 Verification Report
# UM-NATOS-012 — Milestone 4 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-15 · Status: **PASS** — all exit criteria met on hardware; §10 added, seven syscalls since --- ## 1. Abstract Milest
READ →
UM-NATOS-013
UM-NATOS-013 — Milestone 5 Verification Report
# UM-NATOS-013 — Milestone 5 Verification Report **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-15 · Status: **PASS** — all three exit criteria met on hardware; §8 added, applications can now communicate --- ## 1.
READ →
UM-NATOS-014
UM-NATOS-014 — Locking Primitives
# UM-NATOS-014 — Locking Primitives **Used Medias LLC — Embedded Systems Division** Revision 1.3 · 2026-08-15 · Status: **Complete, verified on hardware** — §10 added, the same defect from the other side. **§9's central claim is WITHDRAWN:
READ →
UM-NATOS-015
UM-NATOS-015 — Display Driver
# UM-NATOS-015 — Display Driver **Used Medias LLC — Embedded Systems Division** Revision 1.4 · 2026-08-15 · Status: **Complete, verified on hardware** — §5.8 added; the framebuffer claim in §5.7 is overturned --- ## 1. Abstract nat-os d
READ →
UM-NATOS-016
UM-NATOS-016 — Display Syscalls, and a Total System Freeze
# UM-NATOS-016 — Display Syscalls, and a Total System Freeze **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-15 · Status: **Complete, verified on hardware** --- ## 1. Abstract Two things happened after the display
READ →
UM-NATOS-017
UM-NATOS-017 — Touchscreen, and a Verification Method That Failed Three Times
# UM-NATOS-017 — Touchscreen, and a Verification Method That Failed Three Times **Used Medias LLC — Embedded Systems Division** Revision 1.2 · 2026-08-15 · Status: **Complete, verified on hardware** — §4.1 and §7.1–7.3 added after the laun
READ →
UM-NATOS-018
UM-NATOS-018 — Persistence, and a Read Defect That Looked Like the Wrong Thing
# UM-NATOS-018 — Persistence, and a Read Defect That Looked Like the Wrong Thing **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-15 · Status: **Complete, verified on hardware** --- ## 1. Abstract nat-os now has st
READ →
UM-NATOS-019
UM-NATOS-019 — Failure Handling, and Three Mechanisms That Had Never Fired
# UM-NATOS-019 — Failure Handling, and Three Mechanisms That Had Never Fired **Used Medias LLC — Embedded Systems Division** Revision 1.2 · 2026-08-15 · Status: **Complete, verified on hardware** --- ## 1. Abstract The kernel had three
READ →
UM-NATOS-020
UM-NATOS-020 — microSD over SPI, and a Pad Table That Is Not in Pin Order
# UM-NATOS-020 — microSD over SPI, and a Pad Table That Is Not in Pin Order **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-15 · Status: **Complete, verified on hardware** --- ## 1. Abstract The first storage in t
READ →
UM-NATOS-021
UM-NATOS-021 — The Launcher, and Four Defects It Found by Existing
# UM-NATOS-021 — The Launcher, and Four Defects It Found by Existing **Used Medias LLC — Embedded Systems Division** Revision 1.3 · 2026-08-15 · Status: **Complete, verified on hardware** — §6.6 corrected: the cause WAS found, and it was n
READ →
UM-NATOS-022
UM-NATOS-022 — The Note Pad, and a Workaround Wearing a Costume
# UM-NATOS-022 — The Note Pad, and a Workaround Wearing a Costume **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-15 · Status: **Complete, verified on hardware** --- ## 1. Abstract The first thing in this project
READ →
UM-NATOS-023
UM-NATOS-023 — The Interrupt Matrix, and Four Ways to Deliver an Edge to Nobody
# UM-NATOS-023 — The Interrupt Matrix, and Four Ways to Deliver an Edge to Nobody **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-16 · Status: **Infrastructure verified; the first consumer is not** --- ## 1. Abstra
READ →
UM-NATOS-024
UM-NATOS-024 — The ADC, and a Wrong Bit in a Right Register
# UM-NATOS-024 — The ADC, and a Wrong Bit in a Right Register **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-16 · Status: **Verified on hardware** --- ## 1. Abstract Every driver before this one talked to a devic
READ →
UM-NATOS-025
UM-NATOS-025 — I²C, and Why a Preempted Master Is Legal
# UM-NATOS-025 — I²C, and Why a Preempted Master Is Legal **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-16 · Status: **Bus verified electrically; protocol unexercised** --- ## 1. Abstract The ADC turned one pin
READ →
UM-NATOS-026
UM-NATOS-026 — The Shell on the Panel, and Not a Menu of It
# UM-NATOS-026 — The Shell on the Panel, and Not a Menu of It **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-16 · Status: **Complete, verified on hardware** — §4.1 added, scrollback --- ## 1. Abstract The shell h
READ →
UM-NATOS-027
UM-NATOS-027 — Audio, and Three Ways to Be Silent
# UM-NATOS-027 — Audio, and Three Ways to Be Silent **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-16 · Status: **Working on hardware** --- ## 1. Abstract The first output this system has that is not the screen.
READ →
UM-NATOS-028
UM-NATOS-028 — WiFi, Touch, and the Column That Ate the 3D View
# UM-NATOS-028 — WiFi, Touch, and the Column That Ate the 3D View **Used Medias LLC — Embedded Systems Division** Revision 1.2 · 2026-08-16 · Status: **Receive working, transmit not. The display fault this report left open was found — see
READ →
UM-NATOS-029
UM-NATOS-029 — Two Mysteries, One Confirmed Bug, and a Novel That Called It First
# UM-NATOS-029 — Two Mysteries, One Confirmed Bug, and a Novel That Called It First **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-18 · Status: **Superseded — both mysteries resolved in [UM-NATOS-030](UM-NATOS-030-o
READ →
UM-NATOS-030
UM-NATOS-030 — One Bit
# UM-NATOS-030 — One Bit **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-18 · Status: **Fixed and confirmed on hardware** --- ## 1. Abstract The 3D view fault is closed. It was one bit. `SPI_DMA_OUT_LINK_REG` on
READ →
UM-NATOS-031
UM-NATOS-031 — The Device Model, and What a Narrow Interface Survives
# UM-NATOS-031 — The Device Model, and What a Narrow Interface Survives **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-18 · Status: **Shipped; six devices and bulk transfer verified on hardware** --- ## 1. Abstrac
READ →
UM-NATOS-032
UM-NATOS-032 — Containment, and Why It Is Not Security
# UM-NATOS-032 — Containment, and Why It Is Not Security **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-18 · Status: **Shipped; verified on hardware** --- ## 1. Abstract UM-NATOS-031 finished the device model: se
READ →
UM-NATOS-033
UM-NATOS-033 — The Path That Had Never Run
# UM-NATOS-033 — The Path That Had Never Run **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-18 · Status: **Fixed and confirmed on hardware** --- ## 1. Abstract UM-NATOS-030 fixed one bit and the 3D view came righ
READ →
UM-NATOS-034
UM-NATOS-034 — The Second Receiver
# UM-NATOS-034 — The Second Receiver **Used Medias LLC — Embedded Systems Division** Revision 3.2 · 2026-08-19 · Status: **CLOSED as a negative** — §30 corrects three overstatements about the i2c traces; §31 corrects a load-bearing one abo
READ →
UM-NATOS-035
UM-NATOS-035 — The Last Borrowed Thing
# UM-NATOS-035 — The Last Borrowed Thing **Used Medias LLC — Embedded Systems Division** Revision 1.2 · 2026-08-19 · Status: **Running on hardware; §8's verification was incomplete — see UM-NATOS-036. §14 is the mechanical reference.** >
READ →
UM-NATOS-036
UM-NATOS-036 — The Half-Speed Board
# UM-NATOS-036 — The Half-Speed Board **Used Medias LLC — Embedded Systems Division** Revision 1.1 · 2026-08-19 · Status: **Fixed, and now verified against an independent clock (§11); one consequence still open (§7)** --- ## 1. Abstract
READ →
UM-NATOS-037
UM-NATOS-037 — Code in Flash, and Three Things That Only Move Reveals
# UM-NATOS-037 — Code in Flash, and Three Things That Only Move Reveals **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-19 · Status: **Shipped; verified on hardware, both bootloaders** --- ## 1. Abstract `kernel/l
READ →
UM-NATOS-038
UM-NATOS-038 — Running the Vendor Stack from Flash
# UM-NATOS-038 — Running the Vendor Stack from Flash **Used Medias LLC — Embedded Systems Division** Revision 1.2 · 2026-08-20 · Status: **Blocked on one kernel limitation. Transmit path runs; nothing on air.** --- ## 1. Abstract `next_
READ →
UM-NATOS-039
UM-NATOS-039 — The Phantom Window Bits and the Writer in the Restore
# UM-NATOS-039 — The Phantom Window Bits and the Writer in the Restore **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-21 · Status: **Init-time double exception root-caused, fixed and verified. One new downstream fai
READ →
UM-NATOS-040
UM-NATOS-040 — The Heap That Wasn't There and the Bit That Held
# UM-NATOS-040 — The Heap That Wasn't There and the Bit That Held **Used Medias LLC — Embedded Systems Division** Revision 1.0 · 2026-08-22 · Status: **Boot-blocking memory-map defect root-caused, fixed and verified on hardware. X20 answer
READ →
Standing Rules (extracted)
  • A yield must never defer the clock it depends on — CCOMPARE1 only moves earlier.
  • A hardware register with a software shadow has one safe shape: one writer, or every writer maintains the shadow.
  • When an instrument says its reading is invalid, that outranks the value beside it.
  • Tolerating a defect is not fixing it — record which you did, where a reader would assume the fix.
Full set in docs/README.md § Standing rules.