← Back to Skills Marketplace
p697

ESP32-CAM Eyes

by Cavano · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
313
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install esp32-cam-eyes
Description
Set up ESP32-S3-CAM modules as visual sensors (eyes) for OpenClaw agents. Covers hardware identification, firmware flashing, WiFi configuration, and HTTP cam...
README (SKILL.md)

ESP32-CAM Eyes

Give your OpenClaw agent physical eyes using ESP32-S3-CAM modules.

Overview

Each ESP32-CAM module runs a lightweight HTTP server exposing /capture (single JPEG snapshot) and /stream (MJPEG live stream). Once connected to WiFi, the agent can grab images via curl for vision analysis.

Prerequisites

  • Hardware: ESP32-S3 development board with camera sensor (Hiwonder, Freenove, or similar)
  • Software: macOS or Linux with Python 3 installed
  • Tools: PlatformIO CLI (pip3 install platformio), pyserial (pip3 install pyserial)

Quick Start

  1. Plug in the ESP32-CAM via USB
  2. Identify the serial port: ls /dev/cu.usb* (macOS) or ls /dev/ttyUSB* (Linux)
  3. Identify the sensor model (critical — determines firmware config)
  4. Create PlatformIO project, flash firmware
  5. Connect to WiFi, test with curl -o photo.jpg http://\x3CIP>/capture

For the complete step-by-step guide with firmware code, pin definitions, performance benchmarks, and troubleshooting: read references/setup-guide.md.

Key Decision: Sensor Type

The sensor model determines your firmware strategy:

Sensor PID Hardware JPEG Recommended Format
OV2640 0x2640 ✅ Yes PIXFORMAT_JPEG directly
OV5640 0x5640 ✅ Yes PIXFORMAT_JPEG directly
GC2145 0x2145 ❌ No PIXFORMAT_RGB565 + software frame2jpg()

If buying new boards, prefer OV2640 — hardware JPEG is significantly faster.

API Endpoints

Once flashed and connected:

Path Function
/capture Single JPEG snapshot
/stream MJPEG live stream
/ Web UI with stream viewer

Multi-Camera Deployment

Multiple ESP32-CAMs can join the same WiFi network for multi-angle coverage. Bind fixed IPs via router DHCP reservation to avoid IP changes on reboot.

Common Pitfalls

  • Wrong sensor ID: Always verify PID before choosing firmware config
  • Upload speed: Use 460800 baud, not 921600 (causes flash verification failures on many boards)
  • WiFi band: ESP32 only supports 2.4GHz — ensure your router has a 2.4GHz SSID available
  • QQVGA is slower than VGA: Counter-intuitive but true due to PSRAM DMA buffer efficiency; use XGA (1024×768) for best speed/quality balance
Usage Guidance
This guide appears coherent and linked to its stated purpose, but review the code before flashing: 1) The firmware requires your WiFi SSID/password — avoid hard-coding secrets into repos; prefer entering them locally or using a secure config file. 2) Follow the PlatformIO install in an isolated environment (virtualenv or user install) rather than using --break-system-packages to avoid altering system packages. 3) Be mindful of network exposure: the device runs an HTTP server on port 80, so if you attach it to a network with internet access consider firewall rules, router configuration, or use a private LAN/VLAN to prevent unintended access. 4) Verify device model/PID before choosing firmware (the guide emphasizes this); flashing incorrect configs can brick devices. Overall there is no indication of malicious instructions or external data exfiltration in the provided files.
Capability Analysis
Type: OpenClaw Skill Name: esp32-cam-eyes Version: 1.0.0 The skill provides a legitimate and detailed guide for setting up ESP32-S3-CAM hardware as visual sensors for an agent. It includes standard PlatformIO configurations, C++ firmware for an HTTP camera server, and Python snippets for serial port communication to identify hardware sensors. While the instructions involve installing development tools (platformio, esptool) and executing shell commands, these actions are transparently documented and strictly necessary for the stated purpose of flashing and configuring microcontrollers.
Capability Assessment
Purpose & Capability
Name/description (ESP32-CAM setup and HTTP camera server) match the included instructions and firmware source. Required tools (PlatformIO, esptool, pyserial) and steps (serial port detection, flashing, WiFi config) are appropriate for this hardware-focused task.
Instruction Scope
The SKILL.md and setup-guide instruct the agent/user to read local serial output, create and flash firmware, and embed WiFi SSID/password into the source before flashing. Those actions are necessary for flashing and connecting the device, but the guide directs inserting WiFi credentials into code (which has security/privacy implications) and reads /dev serial devices — both are expected for this purpose but worth noting.
Install Mechanism
This is instruction-only (no install spec), so nothing is written by the skill itself. The guide tells users to pip-install PlatformIO/esptool/pyserial and warns that PlatformIO will download a large toolchain (~1.5–2GB). The pip invocation includes --break-system-packages, which can be intrusive on some Linux systems; using a virtualenv or user install is a safer alternative.
Credentials
The skill declares no required environment variables or credentials, which aligns with a local hardware setup. However, the instructions require you to supply your WiFi SSID and password by placing them into the firmware source before flashing — this is necessary for operation but is sensitive and should be handled carefully (don't commit secrets to public repos, prefer runtime config or secure provisioning when possible).
Persistence & Privilege
always is false and the skill is user-invocable only. There is no code that attempts to modify other skills or system-wide agent settings. The skill does not request persistent/privileged presence.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install esp32-cam-eyes
  3. After installation, invoke the skill by name or use /esp32-cam-eyes
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: complete ESP32-S3-CAM setup guide for giving OpenClaw agents physical vision
Metadata
Slug esp32-cam-eyes
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is ESP32-CAM Eyes?

Set up ESP32-S3-CAM modules as visual sensors (eyes) for OpenClaw agents. Covers hardware identification, firmware flashing, WiFi configuration, and HTTP cam... It is an AI Agent Skill for Claude Code / OpenClaw, with 313 downloads so far.

How do I install ESP32-CAM Eyes?

Run "/install esp32-cam-eyes" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ESP32-CAM Eyes free?

Yes, ESP32-CAM Eyes is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does ESP32-CAM Eyes support?

ESP32-CAM Eyes is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ESP32-CAM Eyes?

It is built and maintained by Cavano (@p697); the current version is v1.0.0.

💬 Comments