DOCS & PROJECT MAP

Understand the runtime model before you extend it.

ESPClaw is easiest to work with once the primitives are clear: components for reuse, apps for features, tasks for live execution, behaviors for persistence, and events for decoupling.

RUNTIME PRIMITIVES

The shortest reliable mental model

componentReusable driver, helper, or shared module
appInstallable feature bundle built from logic and components
taskLive running instance of an app
behaviorPersisted task definition that can autostart
eventNamed local signal for decoupled coordination

GOOD DEFAULTS

How the stack should usually be composed

  • Use a component for a shared sensor driver like MS5611.
  • Use an app for the weather station or vario feature itself.
  • Use a task when the user says “run it now”.
  • Use a behavior when it should survive reboot.
  • Use events only when multiple consumers need decoupled delivery.
Repository GitHub

Source, issues, releases, and contribution workflow.

Start here README

Project framing, quick start, and the high-level architecture.

Reuse Components

How shared drivers and modules are packaged and installed.

Programmability Apps

Installable Lua bundles, permissions, and runtime behavior.

Large artifacts Blob transfer

Chunked uploads, install-from-file, install-from-blob, and large context flows.

Public site Web flasher

How the browser flasher and WebAssembly lab are built and deployed.

GOAL

Make embedded experimentation feel less like firmware surgery.

Browser flashing, OTA, apps, components, and logs should reduce iteration friction.

QUALITY BAR

Keep the stack inspectable and operator-visible.

Debuggability matters as much as raw capability on small hardware.

OPEN SOURCE

Useful contributions are reusable components and good examples.

Drivers, board definitions, example apps, and reproducible bug reports all help.