Supported Boards
ZeroClaw supports a wide range of microcontrollers and single-board computers. Each board has different capabilities, transport protocols, and use cases.Board Comparison
| Board | Architecture | Transport | GPIO | ADC | I2C/SPI | Flash Tool | Status |
|---|---|---|---|---|---|---|---|
| Raspberry Pi | ARM (all models) | Native | ✅ | ✅ | ✅ | N/A (native) | ✅ Stable |
| STM32 Nucleo-F401RE | ARM Cortex-M4 | USB Serial | ✅ | ✅ | ✅ | OpenOCD | ✅ Stable |
| Arduino Uno | ATmega328P | USB Serial | ✅ | ✅ | ✅ | avrdude | ✅ Stable |
| Arduino Uno R4 WiFi | RA4M1 + ESP32 | USB Serial / Bridge | ✅ | ✅ | ✅ | Custom | ✅ Stable |
| ESP32 (RISC-V) | ESP32-C3, C2 | Serial / WiFi | ✅ | ✅ | ✅ | espflash | ✅ Stable |
| ESP32 (Xtensa) | ESP32, S2, S3 | Serial / WiFi | ✅ | ✅ | ✅ | espflash | 🚧 Experimental |
Raspberry Pi
Models Supported
- Raspberry Pi 5 (8GB recommended for robots)
- Raspberry Pi 4 (4GB+)
- Raspberry Pi 3 B+
- Raspberry Pi Zero W (ARMv6, requires special build)
- Raspberry Pi Zero 2 W
Features
- GPIO: 40-pin header, BCM pin numbering
- Transport: Native (rppal library)
- Firmware: None required (ZeroClaw runs directly on Pi)
- Use Cases: Edge-native AI, autonomous robots, production deployments
Configuration
Build Requirements
Raspberry Pi Setup
Detailed Raspberry Pi setup guide
STM32 Nucleo
Models Supported
- Nucleo-F401RE (primary support)
- Other STM32 Nucleo boards (experimental)
Features
- GPIO: Arduino-compatible headers + Morpho connectors
- Architecture: ARM Cortex-M4, 84 MHz
- Transport: USB Serial (ST-LINK VCP)
- Firmware:
firmware/zeroclaw-nucleo/ - Use Cases: Embedded development, rapid prototyping
VID/PID
- Vendor ID: 0x0483 (STMicroelectronics)
- Product ID: 0x374b (ST-LINK/V2.1)
Configuration
Flashing Firmware
STM32 Nucleo Setup
Detailed STM32 Nucleo setup guide
Arduino
Models Supported
- Arduino Uno (ATmega328P)
- Arduino Uno R4 WiFi (RA4M1 + ESP32-S3)
Arduino Uno (Classic)
Features:- GPIO: 14 digital pins (6 PWM), 6 analog inputs
- Architecture: AVR ATmega328P, 16 MHz
- Transport: USB Serial (CH340 or ATmega16U2)
- Firmware:
firmware/zeroclaw-arduino/zeroclaw-arduino.ino - Use Cases: Education, simple projects
- CH340: 0x1a86:0x7523
- ATmega16U2: 0x2341:0x0043
Arduino Uno R4 WiFi (Uno Q)
Features:- GPIO: 14 digital pins, 6 analog inputs
- Architecture: Renesas RA4M1 (ARM Cortex-M4, 48 MHz)
- WiFi: ESP32-S3 co-processor
- Transport: Bridge (WebSocket to Arduino Cloud)
- Use Cases: IoT projects, remote control
Arduino Setup
Detailed Arduino setup guide
ESP32
Variants Supported
ESP32-C3 / ESP32-C2 (RISC-V) — Recommended
- Architecture: RISC-V 32-bit, 160 MHz
- Transport: Serial (USB CDC)
- Firmware:
firmware/zeroclaw-esp32/(Rust, ESP-IDF) - Status: ✅ Stable
ESP32 / ESP32-S2 / ESP32-S3 (Xtensa)
- Architecture: Xtensa 32-bit, 240 MHz
- Transport: Serial
- Firmware: Same, requires espup toolchain
- Status: 🚧 Experimental
Features
- GPIO: 34+ pins (varies by model)
- WiFi: 802.11 b/g/n
- Bluetooth: Classic + BLE (ESP32 classic)
- Use Cases: IoT, edge-native AI (future)
VID/PID
- CH340 USB-UART: 0x1a86:0x7523
- CP2102 USB-UART: 0x10c4:0xea60
Configuration
Building Firmware
Flashing
ESP32 Setup
Detailed ESP32 setup guide
Pin Mapping Reference
Arduino Uno
Raspberry Pi (40-pin header, BCM numbering)
ESP32-C3
STM32 Nucleo-F401RE
Board Selection Guide
Choose Raspberry Pi if:
- Running edge-native AI agents
- Need full Linux environment
- Building autonomous robots
- Want offline LLM inference (Ollama)
Choose STM32 Nucleo if:
- Embedded development with real-time constraints
- Learning ARM Cortex-M architecture
- Need precise timing or low-level control
- Prototyping custom PCBs
Choose Arduino if:
- Education or hobby projects
- Simple GPIO control
- Quick prototyping
- Large ecosystem of shields/libraries
Choose ESP32 if:
- IoT projects with WiFi
- Battery-powered applications
- Remote sensing/control
- Future edge-native AI (in development)
Adding New Boards
To add support for a new board:- Implement the
Peripheraltrait insrc/peripherals/ - Write firmware (if serial transport) in
firmware/ - Add board type to config schema
- Add VID/PID to hardware registry
- Document in
docs/datasheets/
Troubleshooting
Board not detected
Serial connection fails
- Verify baud rate matches firmware (usually 115200)
- Check port path (
/dev/ttyUSB0vs/dev/ttyACM0) - Ensure firmware is flashed correctly
- Try unplugging/replugging USB cable
GPIO operation fails on Raspberry Pi
Next Steps
Raspberry Pi
Set up Raspberry Pi GPIO
STM32 Nucleo
Set up STM32 Nucleo board
Arduino
Set up Arduino board
ESP32
Set up ESP32 board