Python on ESP32

Just a few lines of code
Real-time vision AI

Capture, process, infer, and display — all on your device.

ESP-VISION: object detection, color tracking, edge detection, AprilTag, QR codes and pose estimation
01AI DEVELOPMENT WORKFLOW

Say it. See it work

Object Detection01 / 5
PROMPTA request for your AIYOUR IDEA

Use my ESP-VISION camera to detect a hand, draw a box around it, and show the result in real time.

02CAPABILITIES

Your ideas. Backed by real capabilities.

AI DIY01

AI-Native Development

Describe your goal. Your AI assistant handles firmware, models, and application development, then verifies the result on real hardware.

AI02

On-Device ESP-DL Inference

Object detection, pose estimation, and image classification; load a quantized .espdl model in one line — real-time, offline, on device — or bring your own PyTorch / TensorFlow model.

VLM03

Cloud Vision LLMs

Stream straight to OpenAI-compatible vision APIs and tap multimodal models like GPT-4o — complex scene understanding with no local compute.

IMG04

Image Processing

Drawing, filtering, color tracking, feature detection, QR codes, barcodes, and AprilTags.

CDC05

Hardware Codec

H.264 / MJPEG / RTSP and USB CDC live preview, saturating the on-chip multimedia accelerators.

IO06

Rich Peripheral Support

Cameras, displays, SPI, I2C, UART, SD cards and more work out of the box, with a MicroPython machine-compatible API.

03GET STARTED

Connect your board. Keep it simple.

PROMPTA request for your AI

Set up ESP-VISION for Codex using the instructions at https://www.npmjs.com/package/@esp-vision/plugin and verify the connection.

Browser flashing○ No device connected
Chip
Board
Firmware
Flash ModeUpdates only the application, preserving bootloader, partition table, Wi-Fi settings and user files. A mismatching partition layout stops the update.
Checking flashing support for the selected firmware…
Device Wi-Fi setup
Optional · Develop and debug over your local network.
04AI MODELS

More models, ready to run

14 models

ModelTaskInputDatasetSizeActions
ESPDet Pico Cat
ESPDet Pico · espdl.ESPDet
Parameters

224×224 · RGB565 · 487 KB

Cat

Detects cats in camera images.

cat
Object Detection
224×224
RGB565
Cat487 KBDownload↗
ESPDet Pico Cat & Dog
ESPDet Pico · espdl.ESPDet
Parameters

224×224 · RGB565 · 561 KB

Cat & Dog

Detects cats and dogs in camera images.

catdog
Object Detection
224×224
RGB565
Cat & Dog↗561 KBDownload↗
ESPDet Pico Dog
ESPDet Pico · espdl.ESPDet
Parameters

224×224 · RGB565 · 486 KB

Dog

Detects dogs in camera images.

dog
Object Detection
224×224
RGB565
Dog486 KBDownload↗
ESPDet Pico Face
ESPDet Pico · espdl.ESPDet
Parameters

224×224 · RGB565 · 484 KB

Face

Detects human faces in camera images.

face
Object Detection
224×224
RGB565
Face484 KBDownload↗
ESPDet Pico Hand
ESPDet Pico · espdl.ESPDet
Parameters

224×224 · RGB565 · 486 KB

Hand

Detects human hands in camera images.

hand
Object Detection
224×224
RGB565
Hand486 KBDownload↗
ESPDet Pico Hardhat
ESPDet Pico · espdl.ESPDet
Parameters

320×320 · RGB565 · 561 KB

Hard Hat Workers Computer Vision Model

Detects safety helmets in camera images.

helmet
Object Detection
320×320
RGB565
Hard Hat Workers Computer Vision Model561 KBDownload↗
YOLO11n COCO
YOLO11n · espdl.YOLO11
Parameters

160×160 · RGB565 · 2.7 MB

COCO

Detects the 80 COCO object classes in camera images.

Object Detection
160×160
RGB565
COCO2.7 MBDownload↗
YOLO11n-Pose COCO
YOLO11n-Pose · espdl.YOLO11nPose
Parameters

160×160 · RGB565 · 3.0 MB

COCO

Detects people and estimates 17 COCO body keypoints (human pose) in camera images.

person
Pose Estimation
160×160
RGB565
COCO3.0 MBDownload↗
NanoTrack V2 Template INT8
NanoTrack V2 · espdl.NanoTrack
Parameters

127×127 · RGB565 · 320 KB

Training set of upstream published weights not independently verified

Template branch for touch-selected single-object tracking. Requires all three NanoTrack V2 model files.

tracking
127×127
RGB565
Training set of upstream published weights not independently verified320 KBDownload↗
NanoTrack V2 Search INT8
NanoTrack V2 · espdl.NanoTrack
Parameters

255×255 · RGB565 · 320 KB

Training set of upstream published weights not independently verified

Search branch for touch-selected single-object tracking. Requires all three NanoTrack V2 model files.

tracking
255×255
RGB565
Training set of upstream published weights not independently verified320 KBDownload↗
NanoTrack V2 Head INT8
NanoTrack V2 · espdl.NanoTrack
Parameters

8×8×48 + 16×16×48 · INT8 NHWC features · 236 KB

Training set of upstream published weights not independently verified

Head branch for touch-selected single-object tracking. Requires all three NanoTrack V2 model files.

tracking
8×8×48 + 16×16×48
INT8 NHWC features
Training set of upstream published weights not independently verified236 KBDownload↗
PicoDet Pedestrian Detection
PicoDet · espdl.PedestrianDetect
Parameters

224×224 · RGB565 · 425 KB

Not specified by upstream

Detects pedestrians in camera images with the shared ESP32-P4 model export.

person
Object Detection
224×224
RGB565
Not specified by upstream425 KBDownload↗
Person Detection
MobileNet · tflite.Model
Parameters

96×96 · GRAYSCALE · 294 KB

Visual Wake Words

TensorFlow Lite Micro person-detection model: classifies whether a person is present in a 96x96 grayscale camera frame.

no personperson
Image Classification
96×96
GRAYSCALE
Visual Wake Words294 KBDownload↗
Sine
MLP · tflite.Model
Parameters

1 · FLOAT32 · 2 KB

Synthetic

TensorFlow Lite Micro "hello world" model: approximates sin(x) for x in [0, 2*pi] from a single scalar input.

Regression
1
FLOAT32
Synthetic2 KBDownload↗

Connect your device

Connect your running ESP-VISION board by USB.

05MULTI-PLATFORM DEPLOYMENT

Cross-platform, multi-board support

ImageBoardChipESP-VISION Support
AtomS3R-M12
AtomS3R-M12↗ESP32-S3
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · uvc · storage
ESP32-P4X-EYE
ESP32-P4X-EYE↗ESP32-P4
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · h264 · rtsp · uvc · storage · barcode
ESP32-P4X-Function-EV-Board
ESP32-P4X-Function-EV-Board↗ESP32-P4
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · h264 · rtsp · uvc · storage · barcode
ESP32-P4X-VISION
ESP32-P4X-VISION↗ESP32-P4
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · h264 · rtsp · uvc · storage
ESP32-S3-EYE
ESP32-S3-EYE↗ESP32-S3
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · uvc · storage
ESP32-S31-Korvo-1
ESP32-S31-Korvo-1↗ESP32-S31
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · uvc · storage
ESP32-S31-MOSAICO
ESP32-S31-MOSAICO↗ESP32-S31
Supported
sensor · image · display · lcd_touch · espdl · tflite · imageio · uvc · storage