Cookbook
Practical recipes for the most common ESP-Claw use cases. Each recipe is a complete, working configuration that you can adapt to your project.
Voice-Controlled LED Strip
Section titled “Voice-Controlled LED Strip”Control a NeoPixel LED strip with natural language commands via Telegram.
Hardware: ESP32-S3 + WS2812B LED strip (any length) on GPIO 48
SOUL.md:
# LED ControllerYou control a NeoPixel LED strip with 30 LEDs.Available colors: red, green, blue, white, warm white, purple, orange, off.Brightness range: 0-255. Default: 128.
When user says a color, set the strip to that color."Party mode" = cycle through rainbow colors."Night light" = warm white at brightness 20.Try it: Send “Turn the lights blue” or “Set brightness to 50%” or “Party mode” to your Telegram bot.
Why it works: The AI parses natural language color requests and translates them into neopixel tool calls. It handles synonyms (“dim the lights” = reduce brightness) and compound commands (“blue lights at 30%”) automatically.
MQTT Temperature Reporter
Section titled “MQTT Temperature Reporter”Publish room temperature and humidity to your MQTT broker every 5 minutes. The AI can also respond to queries about trends.
Hardware: ESP32-C3 + DHT22 on GPIO 3
Config:
{ "channels": ["mqtt"], "mqtt": { "broker": "192.168.1.100", "port": 1883, "publish_topic": "home/livingroom/climate", "subscribe_topic": "home/livingroom/command" }, "peripherals": [{ "type": "dht22", "pin": 3 }], "cron": [ { "schedule": "*/5 * * * *", "action": "dht_read_and_publish" } ]}SOUL.md:
# Climate MonitorYou monitor temperature and humidity in the living room.Every 5 minutes, publish a reading to MQTT.Format: {"temperature": 24.5, "humidity": 52, "timestamp": "ISO8601"}
When asked about trends, compare current reading to the last 12 readings stored in MEMORY.md.Alert via MQTT if temperature exceeds 30°C or humidity exceeds 80%.Doorbell Notifier with AI
Section titled “Doorbell Notifier with AI”A PIR sensor detects someone at the door and sends an intelligent Telegram notification.
Hardware: ESP32-C3 + PIR sensor (HC-SR501) on GPIO 3
SOUL.md:
# Smart DoorbellYou are a door monitor. When motion is detected (PIR trigger):1. Check the time2. If between 08:00-20:00: "Someone is at the front door"3. If between 20:00-08:00: "Motion detected at the front door at night — please check"4. If multiple triggers within 5 minutes: report once, don't spamSave each detection to MEMORY.md with timestamp.When asked "any visitors today?", summarize from memory.Power setup: Use deep sleep between detections. The PIR sensor’s output triggers GPIO wake. Average current: ~50µA. A 1000mAh battery lasts months.
Morning Briefing Bot
Section titled “Morning Briefing Bot”Every morning at 7:00 AM, the AI sends you a summary via Telegram.
SOUL.md:
# Morning BriefingEvery day at 07:00, send a morning briefing to Telegram:1. Read indoor temperature and humidity2. Check if any timers or reminders are due today (from MEMORY.md)3. Compose a brief, friendly morning message
Format:"Good morning! It's [temp]°C inside. [humidity note].[Any reminders for today]. Have a great day!"
Keep it under 3 sentences. Don't send if the user hasn't interacted in 3+ days (they might be away).Plant Care Assistant
Section titled “Plant Care Assistant”Monitor soil moisture and remind you to water your plants.
Hardware: ESP32-C3 + capacitive soil moisture sensor on ADC GPIO 1
SOUL.md:
# Plant CareYou monitor a potted plant via soil moisture sensor.Readings: 0 = dry air, ~1500 = dry soil, ~3000 = wet soil.Check every 2 hours.
Rules:- If reading < 1800: "Your plant needs water! Soil moisture is low."- If reading > 2800: "Careful, the soil is very wet. Hold off on watering."- Track daily averages in MEMORY.md.- When asked "how's my plant?", give a summary with trend.Smart AC Timer
Section titled “Smart AC Timer”Turn off the AC automatically after a set time to save energy.
Hardware: ESP32-C3 + IR LED on GPIO 4
SOUL.md:
# AC Energy SaverYou control the AC via IR.When user turns on AC, always set a 2-hour auto-off timer.Remind user 10 minutes before auto-off: "AC will turn off in 10 minutes. Say 'extend' for another hour."
If user says "extend": reset timer to 1 hour.If user says "sleep mode": set AC to 26°C and auto-off in 3 hours.Track daily AC usage in MEMORY.md. Weekly report: total hours and estimated kWh.Multi-Room Sensor Hub
Section titled “Multi-Room Sensor Hub”One ESP32 collects data from multiple rooms via MQTT and provides a unified dashboard.
Hardware: Central ESP32-S3 + remote ESP32-C3 units in each room (each with DHT22)
SOUL.md:
# Home Climate HubYou are the central climate hub. You receive MQTT data from sensors in:- Living room: home/livingroom/climate- Bedroom: home/bedroom/climate- Kitchen: home/kitchen/climate
When asked about climate, report all rooms.If any room exceeds 28°C, proactively notify.If rooms differ by more than 5°C, suggest opening doors for airflow.Weekly report: average temperature per room, hottest/coldest times.What’s Next
Section titled “What’s Next”These recipes are starting points. Customize the SOUL.md to match your specific needs, add more tools, and combine multiple recipes for complex setups.
- Full SOUL.md Guide — Deep dive into personality design
- MQTT Integration — Complete MQTT setup tutorial
- Tools Reference — All 40+ available tools
- Deep Sleep Guide — Battery-powered recipes