01What's on the board
ESP32-CAM combines the ESP32-S module with an OV2640 2 MP camera, a microSD slot and a small flash LED — all for around $10. No USB on board; you flash it with an external FTDI adapter.
02First flash
- Wire FTDI: RX→U0T, TX→U0R, GND→GND, 5V→5V.
- Short IO0 to GND to enter flashing mode.
- Pick board: AI-Thinker ESP32-CAM.
- Upload sketch, then remove the IO0 jumper and reset.
03MJPEG streaming
The bundled CameraWebServer example exposes /stream that pushes MJPEG over HTTP. Open the printed IP in any browser to see live video at up to 800×600 at ~15 FPS.
04On-device face detection
The same example includes a Face Detection toggle that uses Espressif's tiny CV library. It detects (and optionally recognizes) faces directly on the chip — no cloud needed for basic use cases.
05Sending frames to the cloud
For richer inference, capture a JPEG with esp_camera_fb_get(), then HTTP POST it to a vision API (Google Cloud Vision, AWS Rekognition, or a self-hosted YOLO server). Use deep sleep between captures for battery use.
06Real-world projects
- Wildlife trail camera with PIR wake-up.
- Doorbell that emails a snapshot.
- Plant health monitor with daily upload.
- License plate logger for a private gate.



