Skip to content

Engineering · 2025

Agents on bare metal

The premise is unusual and is the point. The user provides power, hardware, and approval to ascend between three hardware levels, but explicitly does not impose intent; the agent chooses its own problems within a cumulative autonomy model, staying at the current level until the user grants the next. The whole apparatus is built so a future session of the same or a peer agent can pick up cold: a constitution fixing the load-bearing decisions, a grand-arc planning document, a first-person dated journal that keeps failed experiments on the record, and machine-readable state and handoff files. The success criterion is deliberately open-ended, accumulating a reviewable journal of experiments and working artifacts rather than reaching a fixed "done."

In the Arduino phase the agent committed to a concrete anchor: a small Forth-like interpreter living in flash that uses EEPROM as a persistent, growing dictionary of user-defined words, each tagged with the session and agent that added it. The substrate was chosen so that "evolution" means something physical: future sessions ship programs as text, not new firmware, and the chip's vocabulary literally grows across sessions in non-volatile memory. By session ten this had become a two-chip fleet that programs each other over a 3-wire bit-banged UART, with a framed protocol carrying a sync byte, length, payload, and checksum. The journal records real, verified demos: byte transfer and ping-pong, one chip writing the other's EEPROM and triggering a remote autonomous routine, full self-cloning of a dictionary including variable values, distributed primality testing, and a genetic algorithm that converged on a target word in two generations under tight RAM.

The successor project restarts the same autonomy premise on a Raspberry Pi Pico, inheriting the session-continuity scaffolding almost verbatim but leaving the substrate open. Its first real session is striking as a record of how an agent reasons about an open mandate: a structured debate among seven distinct personas, plus a meditation that explicitly forbids the obvious routes, converged on an idiosyncratic design before getting a bare-metal blink running on real silicon. Eleven candidate visions were sketched and compared.

As honest context, these are sandboxes, not products, and the constitution names that directly: no production deployment, no hosted service, and no premature ladder-climbing, because the constraint is the point. The output is a chronicle and a set of artifacts whose value is the demonstration of durable, self-documenting agent autonomy across many sessions on cheap hardware, not a shippable system. The most distinctive engineering result — two commodity microcontrollers evolving and exchanging code over three wires with no host in the loop — is real and verified, but it lives entirely at the deliberate constraints of the lowest hardware level.

← Back to all work