ESP32-CAM¶
Planned - not available in the current version
Camera capture is not yet supported at runtime. The camera module (mod_cam) is written
but depends on camera syscalls that are not part of the ESPM ABI yet, so it cannot be loaded.
This page documents the hardware and the provisioning support that already exist; live capture
is targeted for a future release. See planned modules.
Espilon will support ESP32 camera boards for image capture, driven by the mod_cam module once the camera syscalls land. The board pin maps and provisioning profiles are already in place.
Camera board profiles¶
Camera pin maps are defined as board profiles in c3po/provision/config.py. Selecting a camera profile at provisioning fills in the pin map for the firmware.
| Board profile | Description |
|---|---|
esp32s3-cam-n16r8 |
ESP32-S3 camera board, 16 MB flash / 8 MB PSRAM |
esp32-cam-aithinker |
AI-Thinker ESP32-CAM (classic) |
Pin maps¶
| Signal | esp32s3-cam-n16r8 | esp32-cam-aithinker |
|---|---|---|
| XCLK | 2 | 0 |
| SIOD | 4 | 26 |
| SIOC | 17 | 27 |
| VSYNC | 5 | 25 |
| HREF | 14 | 23 |
| PCLK | 6 | 22 |
| PWDN | -1 | 32 |
| D0..D7 | 7,11,10,16,15,9,8,18 | 5,18,19,21,36,39,34,35 |
PSRAM¶
Camera frame buffers are large and require PSRAM. The S3 camera board ships with 8 MB PSRAM.
Planned commands¶
Once camera support lands, mod_cam will expose cam_snap, cam_stream, cam_probe, and cam_stop, streaming JPEG frames to C3PO over the encrypted C2 data channel.