esp-vision-skill

Guides writing MicroPython computer vision scripts for ESP-VISION firmware on ESP32-P4, S3, and S31 boards.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-vision-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-vision-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-vision
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-vision-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing camera capture, image processing, and ESP-DL inference scripts for ESP-VISION boards is error-prone: wrong initialization order causes bad exposures, reusable frame buffers corrupt cross-frame logic, and chip-specific modules like h264/rtsp fail on unsupported boards. This Skill provides verified recipes, API signatures, and pitfalls sourced from the real ESP-VISION repository so generated MicroPython code works on the first flash. ## Core Features & Use Cases - Scenario Recipes: 16 step-by-step recipes covering camera capture, color blob tracking, QR/AprilTag detection, ESP-DL object detection and pose estimation, LCD display, H.264 recording, RTSP/MJPEG streaming, cloud vision APIs, asyncio pipelines, and firmware customization. - Verified API & Config Reference: Real signatures from stubs/*.pyi plus board-level macros (boardconfig.h, imlib_config.h, mpconfigboard.h) so no hallucinated APIs. - Pitfall Prevention: 12+ documented mistakes with wrong/correct code pairs, such as missing skip_frames, unreleased model handles, and calling P4-only modules on ESP32-S3. - Use Case: Ask for a face-detection script on an ESP32_P4X_EYE board and receive a complete MicroPython program with correct sensor initialization, a single reused espdl.ESPDet instance, bounding-box drawing, and try/finally resource cleanup. ## Quick Start Ask the AI to write an ESP-VISION MicroPython script for your board, for example: create a color blob tracking script for the ESP32_S3_EYE camera.

Frequently Asked Questions about esp-vision-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a camera capture script for ESP-VISION?

Import the sensor module, then call reset(), set_pixformat(sensor.RGB565), set_framesize(sensor.QVGA), and skip_frames(time=1000) before looping on sensor.snapshot(). Call img.flush() in the loop to preview frames on the host over USB CDC.

How do I run ESP-DL object detection on ESP32-P4 with MicroPython?

Construct espdl.ESPDet or espdl.YOLO11 once with the .espdl model path on /sdcard, then call detect(img) per frame inside the loop. Reuse the model across frames and call deinit() in a finally block to avoid PSRAM exhaustion.

Does ESP-VISION support H.264 encoding and RTSP streaming on ESP32-S3?

No. The h264 and rtsp modules are only compiled when IDF_TARGET is esp32p4. On ESP32-S3 or S31, use Wi-Fi MJPEG streaming with img.to_jpeg() and a multipart/x-mixed-replace HTTP response instead.

Why are my first camera frames overexposed or discolored in ESP-VISION?

The auto exposure and white balance have not converged because skip_frames was omitted. Call sensor.skip_frames(time=1000) after setting pixel format and frame size, before taking the first snapshot.

Why does find_apriltags or another image method throw an exception?

The algorithm is not enabled in the board's imlib_config.h; each IMLIB_ENABLE_* macro controls which optional algorithms are compiled. Enable the corresponding macro for your board or switch to a board where it is already enabled.

When should I not use ESP-VISION for a camera project?

ESP-VISION is a MicroPython runtime, so it does not fit bare-metal ESP-IDF C/C++ camera applications; use esp32-camera or esp_video directly instead. It also does not cover model training or quantization, which require the ESP-DL toolchain.