Disclaimer: this project is built with the help of several different AI systems — code, docs, and design included.

Emergent

/ɪˈmɜːdʒ(ə)nt/ — adj. arising from a system's interactions, not present in any of its parts alone

A synthetic ethology platform for ESP32-class hardware.

The problem is simple to state and hard to do well: make a small, cheap, battery-powered machine look alive.

Not intelligent in the large-model sense, not conversational, and not necessarily useful for a fixed task. Instead, we want a machine that appears to have:

Humans are extremely sensitive to motion, timing, and contingency — a few sensors, motors, delays, and feedback loops are enough for us to describe behavior using words like curious, cautious, bored, or interested. In this project, such words are observer-level summaries of dynamics, not claims about subjective experience. The concrete engineering goal is:

Construct a machine whose behavior is best understood in terms of internal regulation, learning, and interaction with its environment, rather than in terms of fixed scripts.

The central constraints are deliberate:

LayerFact
Implemented20 Hz loop: sense → physiology → drives → memory → action → actuate → learn. Learned sensor→actuator reflexes trained by drive reduction. Named-channel body. SoftAP dashboard. Life-state JSON. Station firmware as a separate state machine.
TestedHost-native tests for bit packing, age saturation, rate-limit clamp, LEDC cap, and organism behavior (energy dynamics, contingency bias, reflex learning rule) against a fake body. Not real hardware.
SimulatedThe unmodified engine in a modelled room with a station (src/sim): learned reflexes lift mean lifespan from 1.26 h to 1.86 h (hand-wired bound 2.46 h). Learns to reach and stay on the dock; not yet to leave when full, and nothing accumulates across lives. Watch one organism.
Hardware testedNothing. No board has run this.
Designed / plannedBody declared in a JSON file with per-input ranges, stepper and mic-envelope channel kinds (example build); approach-and-dock on hardware; extra boards.
HypothesisThat drives + decaying memory + learned reflexes + noise will look alive on real hardware, including charging as an attractor. Unverified.
cd src/esp32
pio run -e esp32dev              # or -e esp32-s3-devkitc-1
pio run -e esp32dev -t uploadfs   # flash the dashboard filesystem
pio run -e esp32dev -t upload     # flash the firmware
pio test -e native                # host-native unit + behavior-scenario tests

Full spec: the paper (PDF). Firmware layout, adding a board/channel, and the dashboard API: src/esp32/README.md. Firmware releases: GitHub Releases.

↑