The Toss Project
Giving AI agents real-world awareness and the ability to act.
An OS for ESP32 that turns a pile of sensors into one device your LLM can drive.
Free, open-source firmware. Optional plug-and-play kits, no cloud, no app — just a USB cable from your LLM to a single node.
- 01 · flash
Get a board running TOSS.
Run one script to flash any ESP32 / S3 / C3 — or buy a pre-flashed kit and skip ahead.
OPEN SOURCE · MIT - 02 · plug
Plug sensors in. They just work.
TOSS scans I²C, 1-Wire, UART every 30 s. Unknown chip? It downloads a signed driver and caches it forever.
ANY I²C / 1-WIRE / UART - 03 · drive
Hand your LLM a USB cable OR an MCP endpoint.
Nodes auto-mesh over ESP-NOW. Drive them over UART serial, or hit the on-board MCP server when the gateway's on WiFi. Claude, GPT, Ollama — anything that speaks either runs the whole mesh.
MCP · UART · JSON-RPC
Plug a sensor in & It just works.
Bus scanner sweeps I²C, 1-Wire, and UART. Unknown chip?
TOSS fetches a signed driver from the online registry, verifies its ed25519 signature, and caches it forever in on-chip SPIFFS.
No firmware rebuild. No re-flash
registry
drivers.opentoss.io →Every-one knows each other.
ESP-NOW radio. Peer-to-peer. Up to 16 neighbors per node. the entire frame fits in a single 250-byte ESP-NOW packet.
Sensor to the cloud, in under 5 ms.
Each TWP frame carries up to 52 samples. The gateway fans out to UDP, MQTT, and HTTP in parallel — HTTP runs on a dedicated low-priority task so the mesh RX hot path never blocks.
Hand any LLM an MCP endpoint OR a USB cable. That's the SDK.
TOSS speaks two languages: a UART shell and an MCP server.
Claude, GPT, Ollama — anything that talks JSON-RPC or types into a serial port — drives the entire mesh as one device.
How To Get Started.
Bring your own ESP32 and flash it, or grab a board with TOSS already on it. Either way, you end up with the same shell, same mesh, same LLM hookup.
- nothing to flash · plug in & talk
- same firmware as path a
- signed driver registry pre-cached