Schematics & Design
ESP-Claw is designed to work with off-the-shelf ESP32 development boards, so you don’t need a custom PCB to get started. However, for those building dedicated devices or custom enclosures, this page documents the reference design and key circuit considerations.
Reference Design Philosophy
Section titled “Reference Design Philosophy”The ESP-Claw hardware design follows three principles:
-
Use commodity boards: The ESP32-C3 SuperMini and ESP32-S3 DevKitC are mass-produced, inexpensive, and well-tested. Building on these rather than designing a custom board reduces cost and risk.
-
Modular peripherals: Sensors, actuators, and displays connect via standard interfaces (I2C, SPI, GPIO). This lets users add only what they need.
-
Minimal external components: The ESP32 integrates Wi-Fi, Bluetooth, ADC, DAC, PWM, and more. The only external components needed are the sensors and actuators you choose to add.
Basic Setup Schematic
Section titled “Basic Setup Schematic”The minimum viable ESP-Claw setup requires only the ESP32 board and a USB cable for power. No external components are needed for basic text-based AI agent functionality.
For a typical home assistant setup with temperature sensing and IR control:
USB 5V ──→ ESP32 Dev Board │ ├── GPIO 3 ──→ DHT22 Data (10K pull-up to 3.3V) │ DHT22 VCC → 3.3V │ DHT22 GND → GND │ ├── GPIO 4 (SDA) ──→ SSD1306 OLED SDA (4.7K pull-up) ├── GPIO 5 (SCL) ──→ SSD1306 OLED SCL (4.7K pull-up) │ OLED VCC → 3.3V │ OLED GND → GND │ ├── GPIO 12 ──→ IR LED (through 100Ω resistor) │ IR LED cathode → GND │ └── GPIO 11 ──→ SG90 Servo Signal Servo VCC → 5V (from USB) Servo GND → GNDComponent Selection Guide
Section titled “Component Selection Guide”Temperature and Humidity Sensors
Section titled “Temperature and Humidity Sensors”| Sensor | Interface | Accuracy | Price | Recommendation |
|---|---|---|---|---|
| DHT22 | Single-wire | ±0.5°C, ±2% RH | ~$2 | Best for beginners. Simple wiring, one GPIO pin. |
| BME280 | I2C | ±1°C, ±3% RH + pressure | ~$3 | Best for advanced projects. Adds barometric pressure. |
| SHT30 | I2C | ±0.3°C, ±2% RH | ~$4 | Most accurate. Industrial-grade. |
| DS18B20 | OneWire | ±0.5°C (no humidity) | ~$1 | Cheapest. Waterproof versions available. |
Recommendation for ESP-Claw: Start with the DHT22 for simplicity. Upgrade to BME280 if you want barometric pressure (useful for weather prediction) or need to share the I2C bus with a display.
Displays
Section titled “Displays”| Display | Interface | Resolution | Price | Notes |
|---|---|---|---|---|
| SSD1306 OLED 0.96” | I2C | 128x64 | ~$2.50 | Most popular. Low power, good contrast. |
| SH1106 OLED 1.3” | I2C | 128x64 | ~$3.50 | Larger, easier to read. |
| ST7789 TFT 1.3” | SPI | 240x240 | ~$3 | Color display. Higher power consumption. |
| ILI9341 TFT 2.4” | SPI | 320x240 | ~$5 | Large color display. Touch variants available. |
Recommendation for ESP-Claw: The SSD1306 OLED is ideal — it shares the I2C bus with other sensors (no extra GPIO needed), has extremely low power draw, and excellent readability in dark environments.
IR Control
Section titled “IR Control”To control air conditioners, TVs, and other IR-controlled devices:
- IR LED: Any 940nm IR LED works. Drive through a 100-ohm resistor from a GPIO pin. For longer range, use a transistor driver circuit.
- IR Receiver: VS1838B is the standard. Connect to a GPIO pin with a 100-ohm resistor and 22µF decoupling capacitor.
The ESP-Claw firmware includes a learning mode: point your existing remote at the IR receiver, press buttons, and the AI agent captures the codes for replay.
Audio (ESP32-S3 Only)
Section titled “Audio (ESP32-S3 Only)”For voice interaction:
- Microphone: INMP441 I2S MEMS microphone. Digital output, no ADC needed. Requires 3 GPIO pins (BCK, WS, DATA).
- Speaker: MAX98357A I2S amplifier with a small 3W speaker. Requires 3 GPIO pins (BCK, WS, DATA).
Both share the same I2S interface but use separate instances (the S3 has two I2S peripherals).
Power Considerations
Section titled “Power Considerations”USB Power (Recommended)
Section titled “USB Power (Recommended)”A standard USB port provides 5V at 500mA — sufficient for the ESP32 plus several peripherals. A phone charger (5V/1A or 2A) provides extra margin for power-hungry accessories like servos or LED strips.
Battery Power
Section titled “Battery Power”For portable or solar-powered setups:
- LiPo battery: 3.7V single-cell LiPo connects directly to the board’s LiPo connector (if available) or through a voltage regulator.
- Battery life: With a 1000mAh LiPo and deep sleep between interactions, the ESP32-C3 can last 2-3 days. With aggressive sleep management and wake-on-GPIO, up to a week.
- Solar: A 5V/1W solar panel with a TP4056 charge controller can keep an ESP32-C3 running indefinitely in moderate sunlight.
Power Budgeting
Section titled “Power Budgeting”| Component | Active Current | Sleep Current |
|---|---|---|
| ESP32-C3 (Wi-Fi active) | 130mA | 5µA (deep sleep) |
| ESP32-S3 (Wi-Fi active) | 180mA | 7µA (deep sleep) |
| DHT22 | 1.5mA (during read) | 50µA (standby) |
| SSD1306 OLED | 20mA | 0 (power off) |
| IR LED (transmitting) | 20-100mA (pulsed) | 0 |
| SG90 Servo (moving) | 200-400mA (peak) | 10mA (idle) |
Note: Servo motors have high peak current draw. If using multiple servos or running on battery, ensure your power supply can handle the peaks.
Design Files
Section titled “Design Files”All hardware design files are open source and available for download:
- KiCad project files: Full schematics and PCB layout for the reference design
- Gerber files: Ready for PCB fabrication at JLCPCB, PCBWay, or OSHPark
- BOM (Bill of Materials): Complete component list with supplier part numbers
- 3D models: STEP files for mechanical integration
Download from the Downloads page or browse on GitHub.