IOnode: Flash Any ESP32 — It Speaks NATS. Zero-SDK Fleet Management for Mass Sensor Deployment

IOnode is an open-source ESP32 firmware that turns any ESP32 into a NATS-addressable hardware node. Every GPIO pin, ADC channel, sensor, and actuator becomes reachable over the network via simple request/reply. No SDK, no cloud, no account required. Flash it, name it, point it at a NATS server — done.

IOnode is part of the WireClaw ecosystem, extending the NATS-based hardware control philosophy to mass-market ESP32 devices.

Flash Any ESP32 — It Speaks NATS

Telegram chat with IOnode hardware
IOnode responds to Telegram messages, reads sensors, and controls actuators

The core philosophy is beautifully simple: flash any ESP32, and it immediately speaks NATS. Supported chips include:

  • ESP32-C6 — Wi-Fi 6 + Bluetooth 5.3, latest generation
  • ESP32-S3 — Powerful dual-core for AI/ML workloads
  • ESP32-C3 — RISC-V single core, budget-friendly
  • ESP32 — Classic original, still supported

Just flash the firmware, connect to WiFi, and your ESP32 becomes a first-class NATS citizen on your network.

Serial interface to IOnode
Connect any UART device: Arduinos, GPS, CO2 sensors

Zero SDK. Zero Cloud. Zero Account.

Unlike other IoT platforms that lock you into their cloud, require account registration, or force SDK installation, IOnode is radically simple:

  1. Flash the firmware
  2. Connect to WiFi
  3. Done. No drivers, no SDKs, no cloud account

Everything communicates via NATS request/reply — the same lightweight message bus used in WireClaw. Use the CLI, raw NATS messages, scripts in any language, or pair it with OpenClaw for natural language control.

21 Built-in Device Types

IOnode comes with native support for 21 sensor and actuator types out of the box:

Sensors:

  • Temperature: NTC thermistor, DHT11, DHT22
  • Light: LDR (photoresistor)
  • Environmental: BME280 (temp/humidity/pressure), SHT31
  • Light intensity: BH1750
  • ADC: ADS1115 (16-bit precision)

Actuators:

  • GPIO output (digital on/off)
  • PWM (dimming, speed control)
  • Relays
  • Displays: SSD1306, SH1106 OLED (I2C)
  • RGB LED
  • UART (serial devices)

Every pin gets a NATS address. Read a temperature. Drive a display. Manage a fleet. All through simple NATS messages.

Fleet Management Made Simple

IOnode isn’t just about single devices — it’s designed for fleet-wide management:

  • Tags & Groups: Tag nodes, query groups, perform fleet-wide operations
  • Health Heartbeats: Periodic health reports with automatic dead node detection
  • Threshold Events: Push notifications when sensor values cross thresholds — no polling needed
  • Remote Configuration: Add sensors, set tags, configure events — all over NATS

Example Fleet Setup

Your laptop / server / Raspberry Pi
 |
 +-- NATS server
 |-- ionode-01.hal.* <-- BME280 + OLED display + relay
 |-- ionode-02.hal.* <-- NTC temp + LDR + PWM fan
 +-- ionode-03.hal.* <-- ADS1115 ADC + GPIO + UART

Three Ways to Interact

1. CLI Tool

28 commands, true color output. Discover devices, read sensors, write GPIO, configure everything — directly from your terminal.

ionode discover
ionode read temp sensor1
ionode write gpio 2 on
ionode config sensor add bme280

2. Web Dashboard

Live heartbeats, actuator controls, event log. Monitor your entire fleet from a browser — no app installation required.

3. Telegram Bot

Chat with your hardware in natural language:

“Show ‘Good morning!’ and the temperature on the OLED”

Done. Display template set:
Good morning!
T:23.5°C H:60%
Auto-refreshes every 5s ⚡

“If any node goes above 30°C, message me”

Done. Monitoring bme_temp on all 3 nodes. I’ll ping you on Telegram if anything crosses 30°C. 🌡️

The AI agent reads sensors, drives displays, toggles relays, and codes custom features — whatever you describe.

OpenClaw Integration

Like its sibling project WireClaw, IOnode integrates seamlessly with OpenClaw for natural language hardware control:

“Set the LED to red when the CI build fails”

“Build a dashboard: IP, temperature, humidity, uptime”

“Log humidity from every node every 5 minutes”

OpenClaw translates your words into NATS commands. IOnode executes them on the hardware. The intelligence lives wherever you want it — IOnode just makes the hardware available.

NATS commands for hardware control
Every sensor and actuator is a NATS subject — script in any language

Technical Architecture

Component Technology
Communication NATS (request/reply)
Supported Chips ESP32, ESP32-S3, ESP32-C6, ESP32-C3
Built-in Sensors/Actuators 21 types
CLI Commands 28
Interfaces CLI, Web Dashboard, Telegram, NATS
Fleet Features Tags, Groups, Heartbeats, Events
Flashing PlatformIO or Browser-based (no tools)

IOnode vs WireClaw

IOnode and WireClaw are sibling projects in the same ecosystem:

Feature IOnode WireClaw
Hardware Any ESP32 ($5) ESP32-C6/S3/C3
AI Agent Via OpenClaw integration Native on-device AI Agent
Tools 20+ sensor/actuator types 20 tools (read/write/execute)
Complexity Zero-SDK fleet management Full edge AI with rules engine
Use Case Mass sensor deployment Intelligent autonomous agents

Choose IOnode for simple fleet management with many sensors. Choose WireClaw for intelligent agents that can make decisions on-device.

Getting Started

Hardware needed:

  • An ESP32 board (C6, S3, C3, or classic)
  • A NATS server on your network

Flash methods:

  1. Browser-based: Visit ionode.io/flash.html — no tools required
  2. PlatformIO:
    git clone https://github.com/M64GitHub/IOnode && cd IOnode
    pio run -t upload
    

On first boot: IOnode starts a WiFi AP called “IOnode-Setup”. Connect to it and fill in your WiFi credentials and NATS server address at 192.168.4.1.

Resources

Conclusion

IOnode brings the NATS-based hardware philosophy to the masses. While WireClaw focuses on intelligent on-device AI agents, IOnode provides simple, scalable, zero-SDK fleet management for any ESP32. Flash it, name it, point it at NATS — and your hardware is instantly accessible from any language, any platform, with zero dependencies.

For makers deploying multiple sensors across a home or office, IOnode offers the fastest path from “I have an ESP32” to “my sensors are live on the network” — no cloud required, no account needed, just pure NATS.

发表评论