Skip to main content

ESP32 Setup

ESP32 is a powerful WiFi/Bluetooth microcontroller from Espressif. ZeroClaw currently supports ESP32 in host-mediated mode (serial transport), with edge-native mode (WiFi + onboard AI) planned for future releases.

Supported Variants

ESP32-C3 (RISC-V) is recommended due to better Rust support and simpler build process.

Hardware Features

  • MCU: RISC-V 32-bit, 160 MHz
  • GPIO: 22 pins
  • WiFi: 802.11 b/g/n
  • Bluetooth: BLE 5.0
  • Flash: 4MB (typical)
  • USB: Native USB CDC (no FTDI chip needed)

Prerequisites

1. Python 3.12

ESP-IDF requires Python 3.10–3.13 (not 3.14):

2. virtualenv

Required by ESP-IDF tools:

3. Rust Tools

Quick Start (ESP32-C3)

1. Set Python Path

2. Build Firmware

The first build downloads and compiles the ESP-IDF framework. This is a one-time setup and can take 5–15 minutes.

3. Flash Firmware

4. Find Serial Port

5. Add to Configuration

6. Test Connection

Building for Xtensa (ESP32, S2, S3)

For original ESP32 (Xtensa architecture):

1. Install espup

2. Edit Target

Edit .cargo/config.toml in the firmware directory:

3. Build and Flash

GPIO Pin Mapping

ESP32-C3

Original ESP32

Serial Protocol

Same JSON protocol as Arduino/STM32:

Request

Response

Supported Commands

Firmware Architecture

Source: firmware/zeroclaw-esp32/src/main.rs Built with:
  • Language: Rust
  • Framework: ESP-IDF (via esp-idf-sys)
  • HAL: esp-idf-hal
  • Protocol: JSON-over-UART
  • Toolchain: nightly Rust + build-std (RISC-V) or espup (Xtensa)

Troubleshooting

”No space left on device"

"can’t find crate for core"

"externally-managed-environment"

"Failed to open serial port”

10,000+ files in git status

Build very slow

Edge-Native Mode (Future)

Phase 6 of the hardware roadmap includes running ZeroClaw on the ESP32:
  • WiFi connectivity for remote control
  • Local LLM inference (TinyLlama, GGML)
  • WebSocket for agent communication
  • OTA firmware updates
This is currently in development. The current firmware is for host-mediated GPIO control.

Performance Notes

  • GPIO speed: ~1 MHz toggle rate
  • Serial latency: ~15ms round-trip
  • Flash time: ~10 seconds
  • Boot time: ~1-2 seconds
  • WiFi connect: ~2-5 seconds (when implemented)

Example Projects

WiFi-Controlled LED

Remote Sensor

Next Steps

Supported Boards

Compare all hardware platforms

Arduino Setup

Similar Arduino-style board

Hardware Architecture

Understand the peripheral system

Firmware Source

View firmware source code

Reference