The ESP32S3-CAM is a high-performance, low-power development board based on the Espressif ESP32-S3 SoC. It features an integrated camera interface, TF card slot, and USB-C USB for easy debugging. Equipped with dual-core LX7 processors and AI acceleration capabilities, it is ideal for AIoT applications such as image recognition, wireless monitoring, and smart home gateways.
- Powerful Processing: Xtensa® 32-bit LX7 dual-core processor, up to 240MHz.
- AI Acceleration: Built-in vector instructions to accelerate neural network computing and signal processing.
- Easy Programming: Onboard USB-to-Serial (Native USB) via Type-C interface—no external downloader required.
- Rich Storage: Large 8MB PSRAM and 16MB Flash for complex image processing tasks.
- Expandability: Supports TF card (up to 4G) and features multiple GPIOs for sensors.
- Seamlessly Compatibility: Fully compatible with existing ESP32-S3-CAM models, providing access to a wealth of online tutorials and community resources.
- Applications: Home smart devices & video doorbells; Industrial wireless monitoring; QR code recognition & Face detection; DIY educational robot vision, and more.
- Download: Programming can be done directly via the USB-C port without requiring an external download module. Its usage is fully compatible with commercially available ESP32S3-CAM models.
| Feature | Specification |
|---|---|
| Microcontroller | ESP32-S3R8 (Dual-core, 240MHz) |
| Wireless | 2.4GHz Wi-Fi & Bluetooth 5 (LE) |
| SRAM/PSRAM | 512KB SRAM / 8MB Octal PSRAM |
| Flash | 16MB |
| Support Camera | OV3660/0V2640 |
| Interface | Type-C USB, TF Card Slot, PH2.0 Battery JST |
| Onboard Peripherals | Reset/Boot Buttons, Double LED Flashlight, Power Indicator, Charging Circuit |
| Digital I/O | GPIO, SPI, I2C, UART, ADC, PWM |
- Camera Interface: DVP 8-bit interface.
- TF Card: SPI/SDIO (Check schematic for specific GPIO mapping).
- USB: GPIO 19 (D-), GPIO 20 (D+).
Camera pin
| CAMERA | ESP32S3 |
|---|---|
| I2C_SDA | GPIO4 |
| I2C_SCL | GPIO5 |
| CAM_RST | |
| DVP_VSYNC | GPIO6 |
| DVP_HREF | GPIO7 |
| DVP_Y9 | GPIO16(XTAL_32K_N) |
| XMCLK | CPIO15(XTAL_32K_P) |
| DVP_Y8 | GPIO17 |
| DVP_Y7 | GPIO18 |
| DVP_PCLK | GPIO13 |
| DVP_Y6 | GPIO12 |
| DVP_Y5 | GPIO10 |
| DVP_Y4 | GPIO8 |
| DVP_Y3 | GPIO9 |
| DVP_Y2 | GPIO11 |
MMC Mode Pin
| MMC Mode | ESP32S3 |
|---|---|
| CMD | GPIO38 |
| CLK | GPIO39(MTCK) |
| DAT0 | GPIO40(MTD0) |
| DAT1 | NC |
| DAT2 | NC |
| DAT3 | NC |
| VDD | 3.3V |
| VSS | GND |
- Option 1: Use Onboard Antenna.
- Option 2: Use IPEX Antenna.
The ESP32-S3-CAM supports both the Onboard PCB Antenna and an External IPEX Antenna. By default, the board is configured to use the onboard antenna. To switch to an external antenna, you need to relocate the 0Ω resistor near the IPEX connector.
- Official SDK: ESP-IDF
- Third-party Platforms: Arduino IDE, MicroPython
Arduino IDE Config: Board: Tools-->Board-->ESP32-->ESP32S3 Dev Module USB CDC On Boot: Tools-->USB CDC On Boot-->Enabled Flash Size: Tools-->flash Sizes-->8MHZ(64Mb) Partition Scheme: Tools-->Partition Scheme-->8M with spiffs(3MB APP/1.5MB SPIFFS) PSRAM: Tools-->PSRAM-->OPI PSRAM Upload Mode: Tools-->Upload Mode-->UART0/Hardware CDC USB Mode: Tools-->USB Mode-->Hardware CDC and JTAG
Configure Wi-Fi: In the code, replace the values of the SSID and PASSWORD variables with your own 2.4GHz Wi-Fi credentials.
Enable Serial Communication: After uploading the program, open the Serial Monitor to view device logs and status.
Download the Arduino example
Open the serial monitor, open the web page, Enter the address information displayed by the serial port in the browser.
This guide provides a quick start for using MicroPython on the emakefun ESP32-S3-CAM. Our board is fully compatible with standard ESP32-S3-CAM firmware and existing online tutorials.
We recommend the following tools for a seamless experience:
- Thonny IDE: Best for beginners. It has built-in support for ESP32S3.
- VS Code (with Pymakr extension): Best for professional developers.
This document describes the API and configuration for the ESP32-S3-CAM camera module.
Initializes the camera module, The camera must be initialized before it can be used.
-
Key Parameters
-
format: Image data format
Format Description camera.JPEGJPEG format (default) camera.YUV422YUV422 camera.RGB565RGB565 camera.GRAYSCALEGrayscale -
framesize: Resolution (Frame size)
Resolution (Frame size) Description camera.FRAME_96X9696×96 camera.FRAME_QQVGA160×120 camera.FRAME_QCIF176×144 camera.FRAME_HQVGA240×160 camera.FRAME_240X240240×240 camera.FRAME_QVGA320×240 camera.FRAME_CIF352×288 camera.FRAME_HVGA480×320 camera.FRAME_VGA640×480(default) camera.FRAME_SVGA800×600 camera.FRAME_XGA1024×768 camera.FRAME_HD1280×720 camera.FRAME_SXGA1280×1024 camera.FRAME_UXGA1900×1200 camera.FRAME_FHD1920×1080 camera.FRAME_P_HD2560×1440 camera.FRAME_P_3MP2048×1536 camera.FRAME_QXGA2048×1536 camera.FRAME_QHD2560×1440 camera.FRAME_WQXGA2560×1600 camera.FRAME_P_FHD2560×1600 camera.FRAME_QSXGA2560×2048 -
quality: JPEG quality. Default: 12, Range: 0~63
-
d0: D0 pin. Default: 11 (ESP32S3 CAM pin value)
-
d1: D1 pin. Default: 9 (ESP32S3 CAM pin value)
-
d2: D2 pin. Default: 8 (ESP32S3 CAM pin value)
-
d3: D3 pin. Default: 10 (ESP32S3 CAM pin value)
-
d4: D4 pin. Default: 12 (ESP32S3 CAM pin value)
-
d5: D5 pin. Default: 18 (ESP32S3 CAM pin value)
-
d6: D6 pin. Default: 17 (ESP32S3 CAM pin value)
-
d7: D7 pin. Default: 16 (ESP32S3 CAM pin value)
-
vsync: VSYNC pin. Default: 6 (ESP32S3 CAM pin value)
-
href: HREF pin. Default: 7 (ESP32S3 CAM pin value)
-
pclk: PCLK pin. Default: 13 (ESP32S3 CAM pin value)
-
pwdn: POWER pin. Default: -1 (not used)
-
reset: RESET pin. Default: -1 (not used)
-
xclk: XCLK pin. Default: 15 (ESP32S3 CAM pin value)
-
sda: SDA pin. Default: 4 (ESP32S3 CAM pin value)
-
scl: SCL pin. Default: 5 (ESP32S3 CAM pin value)
-
xclk_freq: XCLK signal frequency. Default: camera.XCLK_10MHz, Options: camera.XCLK_20MHz
-
fb_size: Number of frame buffers. Default: 1
-
fb_location: Frame buffer location. Default: camera.DRAM, Options: camera.PSRAM
-
-
Parameter:
typespecifies the camera sensor model (e.g.,camera.OV2640). -
Return: Returns
Trueif initialization is successful,Falseotherwise.
Deinitializes the camera and releases used resources.
Captures a single frame.
- Return: A
bytesobject containing the image data (e.g., JPEG format).
Controls the onboard LED flash.
- Parameter:
Trueto turn the flash ON,Falseto turn it OFF.
To reconfigure the resolution (frame size), please refer to the specific parameter values mentioned in the preceding section.
Set the JPEG compression quality using the quality parameter, with an adjustable range of 0 to 63 (where lower values correspond to lower quality and higher compression).
Flip the image vertically(True or False).
Flip the image horizontally (mirror left-right).
Set the image contrast using the contrast parameter. Default value is 0, with an adjustable range of -2 to 2 (where positive values increase contrast and negative values decrease it).
Configure the color saturation using the saturation parameter. Default value is 0, with an adjustable range of -2 to 2, where: -2: Grayscale (fully desaturated)
0: Normal saturation
+2: Maximum color saturation
Set the image brightness using the brightness parameter. Default value is 0, with an adjustable range of -2 to 2 (where positive values increase brightness and negative values decrease it).
Apply Image Effects
| Effect | Description |
|---|---|
camera.EFFECT_NONE |
Original Image(Default) |
camera.EFFECT_NEGATIVE |
Color negative (inverted colors) |
camera.EFFECT_GRAYSCALE |
grayscale |
camera.EFFECT_SEPIA |
Sepia tone |
camera.EFFECT_RED |
Red tint |
camera.EFFECT_GREEN |
Green tint |
camera.EFFECT_BLUE |
Blue tint |
camera.EFFECT_ANTIQUE |
Vintage |
camera.EFFECT_SKETCH |
Sketch |
camera.EFFECT_SOLARIZE |
Sunlight |
camera.EFFECT_POSTERIZE |
Poster |
camera.EFFECT_WHITEBOARD |
Whiteboard |
camera.EFFECT_BLACKBOARD |
Blackboard |
camera.EFFECT_AQUA |
Crystal |
Configure White Balance
| Mode | Description |
|---|---|
camera.WB_NONE |
Automatic white balance(Default) |
camera.WB_SUNNY |
Sunny/outdoor |
camera.WB_CLOUDY |
Cloudy |
camera.WB_OFFICE |
Office/fluorescent |
camera.WB_HOME |
Home/incandescent |







