§1 KEY FEATURES
- ▸Power-on reset OK — ULTRA·MCU core brought up clean
- ▸CPU: P89C51 — 8051 core @ 11.0592 MHz, console up
- ▸insmod c.ko ········· close to the metal
- ▸insmod mcu.ko ······· bare-metal native
- ▸insmod go.ko ········ ships tested libs on pkg.go.dev
- ▸harness ············· AI co-proc attached ▸ I command, it executes
- ▸bughunter: scan ····· reproducible fixes, upstreamed
ready ▸ _
§2 BLOCK DIAGRAM
┌──────────────────────────┐
│ [ CORE ] ULTRAMCU-1 │
│ 8051 · AI-harness · BDD │
└────────────┬─────────────┘
│
┌────────────┬─────────┴─┬────────────┬────────────┐
│ │ │ │ │
┌─────┴──────┐ ┌───┴────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
│ DART/ │ │ GO·LIB │ │ C/ │ │ RESEARCH │ │ UPSTREAM │
│ FLUTTER │ │ │ │ FIRMWARE │ │ ·ROM │ │ ·PR │
│ pub.dev ×8 │ │ go ×6 │ │ C ×10 │ │ IEEE ×2 │ │ merged │
└─────┬──────┘ └────────┘ └──────────┘ └──────────┘ └──────────┘
│
┌─────┴───────────────────────────────────────────┐
│ PINOUT ▸ 2 LIVE demo pins — run in your browser │
└─────────────────────────────────────────────────┘§3 PINOUT // highlighted pins = live in your browser
ULTRAMCU-1 · DIP-8
┌───────────·∪·───────────┐
VDD 1 ┤ ├ 8 GND
GP0 2 ┤ ┌───────────────────┐ ├ 7 GP3
▶LIVE 3 ┤ │ ULTRA · MCU │ ├ 6 ▶LIVE
GP1 4 ┤ └───────────────────┘ ├ 5 GP2
└─────────────────────────┘
PIN 3 → thai_promptpay_flutter
— PromptPay (EMVCo) QR widgets — gallery + decode demo
[▶ LIVE]
[src]
PIN 6 → thai_provinces_flutter
— Cascading Thai address picker — every widget, interactive
[▶ LIVE]
[src]
§4 MEMORY MAP // address space overview
| Address range | Region | Project | Description |
|---|---|---|---|
| 0x0000–0x06FF | FLASH / DART | pub.dev ×8 | Thai Dart/Flutter packages — see §5.1 |
| 0x0700–0x0CFF | GO·LIB | pkg.go.dev ×6 | Dep-free Go libraries — see §5.2 |
| 0x0D00–0x0DFF | TOOLS | dev tools ×3 | Developer tooling (API client + Claude harness) — see §5.3 |
| 0x0E00–0x17FF | C / FW | firmware ×10 | Embedded C / MCU firmware — see §5.4 |
| 0x1800–0x18FF | RESEARCH·ROM | IEEE ×2 | Published research artifacts — see §5.5 |
| 0xFF00–0xFFFF | PR·REGISTERS | upstream ×18 | Patches merged into other trees (18 PRs across 9 repos) — see §5.6 |
§5 REGISTER DESCRIPTIONS
Thai Dart/Flutter packages. Bit-field: data core → widgets → adapters.
- [8]sql_formatter — SQL pretty-printer (standard / PostgreSQL / MySQL / SQLite), pure DartLIVE[src]
- [7]thai_provinces — TH province/district/subdistrict + postal — data coreLIVE[src]
- [6]thai_provinces_flutter — cascading address picker widgets, no codegenLIVE[src]
- [5]thai_provinces_geo — offline GPS reverse-geocoding (lat/lng → area)LIVE[src]
- [4]form_builder_thai_provinces — flutter_form_builder address field adapterLIVE[src]
- [3]thainum — Thai number toolkit — numerals, baht text, reverse parseLIVE[src]
- [2]thai_promptpay — PromptPay EMVCo QR codec — encode + decode + CRCLIVE[src]
- [1]thai_promptpay_flutter — PromptPay QR widgets (built on the codec + qr_flutter)LIVE[src]
Dep-free Go libraries. Bit-field: algorithms, drivers, AI/MCP tooling.
- [5]go-dijkstra — shortest path — Dijkstra + goal-directed A*, dep-freelib[src]
- [4]go-ict — serial drivers: L77 bill acceptor + SP1 thermal printerlib[src]
- [3]go-imgfeed — provider-agnostic image loader/feed for LLMslib[src]
- [2]go-thaiaddress — TH admin areas + postal codes (embedded, no DB)lib[src]
- [1]go-thainum — Thai number toolkit for Go — words, baht text, parselib[src]
- [0]mcpharness — testing toolkit for Go MCP server authorslib[src]
Developer tooling. Bit-field: HTTP API client, Claude memory plugin, hardware usage display.
- [2]yon — minimal Go + Fyne desktop HTTP API client — offline, no accountapp
- [1]claude-compact-memory — Claude Code plugin — save/restore work across /compacttool
- [0]claude-usage-display — always-on Claude usage display on an M5Stack Core2tool
Embedded C / MCU firmware — close to the metal.
- [9]c-ulib — small umbrella of C99 libraries for MCU useCC
- [8]micro-json — tiny byte-fed JSON parser for small MCUs, no heapCC
- [7]c-ARM-bootload — pure-C99 ARM bootloader, Motorola S-recordsLD
- [6]c-TM4C129x-AES — HW-accelerated AES-128-CBC on TI TM4C129xCC
- [5]c-B5800-gpio — drive QY-B5800 industrial-PC GPIO via inb/outbCC
- [4]acom-digimon — M5Core2 firmware talking to real Digimon V-PetsCXX
- [3]QHY-Capture — single-frame capture for QHYCCD astronomy camerasCC
- [2]Open32-AQI — ESP32 air-quality station — SPS30 → US EPA AQICXX
- [1]v20bits-reader — Orange Pi: 20 digital inputs via MCP23008 + MQTTGO
- [0]FR24-Feed-monitor — graduated-recovery monitor for FR24 feeders (RPi/SDR)SH
Published research artifacts (read-only mask ROM).
- [1]ros-l2-aes — Layer-2 AES-CBC for ROS1 topics — ICSEC 2023[paper]DOC
- [0]api-lang-bench — PHP/Python/Node/Go REST API benchmark — InCIT 2023[paper]DOC
- eclipse-paho/paho.golang — MQTT v5 Go — leaks, quota underflow, DeleteRouteMERGED
- eclipse-paho/paho.mqtt.golang — MQTT v3 Go — spurious BUG log, FileStore fail-fastMERGED
- golang-jwt/jwt — MapClaims GetAudience type validation + OAuth2 extractor[ open ]
- jackc/pgx — pgtype geometry parsers — panic → errorMERGED
- labstack/echo — gzip Writer io.Writer-contract fix[ open ]
- gocarina/gocsv — partial tag prefix-match column bugMERGED
- DeRuina/timberjack — compressed-backup umask + BackupTimeFormatMERGED
- bugst/go-serial — enumerator EOF abort + Linux VID/PID uppercaseMERGED
- thClaws/thClaws — agent harness (Rust) — Anthropic usage, LINE reconnect, edit guardMERGED
- imaNNeo/fl_chart — touched-stack index + toDashedPath RangeError[ open ]
- cfug/dio — FormData.clone + QueuedInterceptor cancel-stall (both merged)MERGED
- warpdotdev/warp — render Thai/Lao SARA AM on its consonant[ open ]
- espressif/arduino-esp32 — NetworkUDP::write() NULL tx_buffer guard (HW-verified on M5 Camera)MERGED
■ = bit set (MERGED) · □ = bit clear (open) — 9 of 13 set. PASS — pub.dev 160/160 · Go Report A+ · firmware builds clean.