Isotope WIP
The planned firmware for Valence accessories: small ESP32 boards, such as a peristaltic pump or a motorized stand, that join a hub over ESP-NOW and show up in its catalog as ordinary channels.
Accessory network
Status
The repo holds the design document and validation plans. There is no firmware yet; building starts once the radio numbers it depends on are measured on dev boards. No license is chosen yet, so nothing in the repo is licensed for reuse.
Nucleus runs Espressif's stock radio image, which has no ESP-NOW, so the hub also needs work before an accessory can join.
Design
- Hub and spoke
Accessories talk only to the hub. A client such as Phosphor sees accessory channels like any other channel in the hub's catalog, so it needs no accessory-specific code.
- Join and declare
You open a pairing window on the hub. The accessory sends a join request, then declares its own channels, and the hub stores them. Adding an accessory needs no change to the hub or the client.
- The hub runs the logic
The relationships that drive an accessory live in the hub, so an accessory behaves the same from any client.
- 5sFails safe on its own
The hub sends a beacon once a second. With no beacon for 5 seconds, or on a goodbye message or an e-stop, each actuator goes to the safe value it declared in advance.
- Unencrypted
Accessory traffic is not encrypted. To make up for it, the accessory clamps every actuating value, and the hub never treats accessory telemetry as safety-grade.
- 19Small fleets
A hub addresses at most 19 accessories; 3 is typical. The limit comes from ESP-NOW's peer table.
Build order
- Config and generator
A declarative config, shaped like ESPHome's, is the one place an accessory is described. The generator turns it into an image.
- Web flasher
A browser page takes a config, makes the image and flashes it over Web Serial.
- Visual builder
A blueprint-style editor on top of the config. It writes the same config and never does anything the config cannot.
Related
Isotope uses Valence and takes every wire number from the spec. Anything it needs that the spec lacks goes through an RFC first. The hub is Nucleus. A plain on/off or PWM load, like a pump, does not need Isotope: the Flagship PCB has a pin for it. See the diagrams and Components for the whole system.