Skip to content

Datasheet

I planned to use a camera for my final project, so after a bit of research, I found that there’s a combo that includes the ESP32-S3 and a camera called ESP32 Sense

The main specs are:

XIAO ESP32-S3 Sense Technical Specifications

Feature Specification
Processor ESP32-S3R8 Xtensa® 32-bit LX7 Dual-Core, up to 240 MHz
Wireless 2.4GHz Wi-Fi (802.11 b/g/n), Bluetooth 5.0, BLE, and Mesh
Memory 8MB PSRAM (on-chip) and 8MB Flash (on-board)
Camera Detachable OV2640 (1600 x 1200 resolution) or OV3660 (2048 x 1536)
Audio Integrated Digital Microphone (on the expansion board)
Storage On-board microSD Card Slot (supports up to 32GB FAT)
I/O Pins 11x GPIO (all PWM capable), 9x ADC
Interfaces 1x UART, 1x I2C, 1x I2S, 1x SPI
Programming USB Type-C (Native), supports Arduino, MicroPython, ESP-IDF
Power Input 5V via USB-C or 3.7V via Battery pads
Charging Built-in Lithium battery charging management (100mA charge current)
Dimensions 21 x 17.5 x 15 mm (including the sense expansion board)
Deep Sleep ~ 3mA

For the camera usage I plan, here are some interesting power requirements:
Type-C:
- Average power Consumption: 5V/~140mA
- Peak power consumption(Image Capture): 5V/~347mA

Battery:
- Average power Consumption: 3.8V/~155mA
- Peak power consumption(Image Capture): 3.8V/~366mA

Also for the Wi-Fi Enabled Power Consumption usage, this should also be of interest:
- Active Mode:  110 mA (with expansion board)

The pins functions are multiplexed, and can be configured for different functions.
Here’s how they are set:

And from the back:

And the buttons and other connectors:

I searched for the datasheet for the ESP32-S3, and while the technical reference has a staggering 1531 pages 🤯, the regular datasheet only has 87 pages 😌

I skimmed through it and picked up a couple of interesting tidbits which could prove useful in the future:

Ultra-Low-Power Coprocessor (ULP)

The ULP coprocessor is designed as a simplified, low-power replacement of CPU in sleep modes. It can be also used to supplement the functions of the CPU in normal working mode. The ULP coprocessor and RTC memory remain powered up during the Deep-sleep mode. Hence, the developer can store a program for the ULP coprocessor in the RTC slow memory to access RTC GPIO, RTC peripheral devices, RTC timers and internal sensors in Deep-sleep mode. ESP32-S3 has two ULP coprocessors, one based on RISC-V instruction set architecture (ULP-RISC-V) and the other on finite state machine (ULP-FSM). The clock of the coprocessors is the internal fast RC oscillator.

Since I plan to control some motors, this could also be useful:

Motor Control PWM (MCPWM)

ESP32-S3 integrates two MCPWMs that can be used to drive digital motors and smart light. Each MCPWM peripheral has one clock divider (prescaler), three PWM timers, three PWM operators, and a capture module. PWM timers are used for generating timing references. The PWM operators generate desired waveform based on the timing references. Any PWM operator can be configured to use the timing references of any PWM timers. Different PWM operators can use the same PWM timer’s timing references to produce related PWM signals. PWM operators can also use different PWM timers’ values to produce the PWM signals that work alone. Different PWM timers can also be synchronized together

While it’s good to know the overall characteristics of the chip, most of these features are to be consulted when you need them, and users don’t usually have to read a full novel before they can use the microcontroller 😉