ESP32 Support

critterOS runs on ESP32 D1-mini-footprint boards (e.g. node32s) from the same source code. Flash over USB with the critterOS Uploader (ESP32 button) or with PlatformIO (pio run -e node32s). The D1-mini ESP32 keeps the same GPIO numbers behind the D labels as the ESP8266 (D1=GPIO5, D3=GPIO0, D4=GPIO2, D8=GPIO15…), so panels and shields carry over — the dashboard pin picker shows D labels first, then the bonus inner-row pins.

GPIO notes

A0 is GPIO36. For analog prefer A0 or GPIO32/33/34/35/39 (ADC1, unaffected by WiFi). Warning: clone boards vary — some map D labels to different GPIOs, and GPIO0/2/5/12/15 strap the boot while 34/35/36/39 are input-only, so check your board's silkscreen before wiring relays or buttons to them.

Direct Cloud (ESP32-only)

Unlike the ESP8266, the ESP32 can do HTTPS by itself. When direct cloud mode is enabled, the board pushes panel values to ThingSpeak and sends Telegram alerts over HTTPS without needing the companion bridge.

ThingSpeak

Set in Settings:

  • direct_cloud,1 — enable direct cloud mode
  • ts_write_key,<your write key> — ThingSpeak channel write API key
  • ts_fields,pressure=1,distance=2 — map panel IDs to ThingSpeak fields 1–8 (optional; auto-maps positionally if empty)

The board uploads on the same ~15 s cadence as the bridge. One board = one channel.

Telegram

Set tg_token,<bot token> and tg_chat_id,<chat id> in Settings, then create a Telegram panel in the dashboard with a message template (e.g. Alert: {device}) and an optional source panel. Wire it into an automation rule:

rule main IF pressure > 50 THEN SET tg1 = 1 once

When the condition fires, the panel's value goes to 1, the message is sent via HTTPS, and the value resets to 0. The message supports {device}, {panel}, and {value} (value comes from the source panel if set).

Flashing

Use the critterOS Uploader in Chrome/Edge: click Connect, then the ESP32 button for a full flash (bootloader + partitions + firmware + filesystem — wipes all config). Or flash over USB with PlatformIO: pio run -e node32s -t upload (sketch only) or pio run -e node32s -t uploadfs (filesystem only).

Upgrading from ESP8266

ESP8266 users keep using the bridge — no changes needed. ESP32 users can choose either the bridge (centralized, secrets off-device) or direct cloud (standalone, secrets on-device). Both are supported; the bridge automatically skips forwarding for boards that report direct_cloud: true.