Hardware Guide
Edge Impulse provides an end-to-end pipeline for deploying object detection on the ESP32-S3. You collect images, train a FOMO or MobileNet-SSD model in the cloud, and export an optimized C++ library that runs inference at 5-10 FPS on the S3's dual-core Xtensa LX7.
| Spec | ESP32-S3 |
|---|---|
| Processor | Dual-core Xtensa LX7 @ 240 MHz |
| SRAM | 512 KB |
| Flash | Up to 16 MB (external) |
| Key Features | Vector instructions (SIMD), USB OTG, LCD/Camera interface, Up to 8 MB PSRAM |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 5.0 LE |
| Price Range | $3 - $8 (chip), $10 - $25 (dev board) |
Edge Impulse has first-class ESP32-S3 support with a dedicated firmware target. The FOMO (Faster Objects, More Objects) architecture was specifically designed for constrained devices and runs faster than standard MobileNet-SSD on the S3. With 512 KB SRAM and vector instructions, the ESP32-S3 handles Edge Impulse's exported SDK comfortably. The SDK binary is larger than raw TFLite Micro (~100 KB overhead for the full inference pipeline), but 16 MB external flash eliminates storage concerns. Edge Impulse's data collection tools work directly with the ESP32-S3-EYE's built-in camera, closing the loop from data capture to deployment without external tools.
Create an Edge Impulse project
Sign up at edgeimpulse.com and create a new image classification or object detection project. Select ESP32-S3 as your target device in project settings.
Collect and label training data
Use the Edge Impulse CLI (edge-impulse-daemon) to stream images directly from an ESP32-S3-EYE board, or upload images from your dataset. Label bounding boxes in the web UI.
Train and optimize the model
Choose FOMO for speed or MobileNet-SSD for accuracy. Edge Impulse automatically quantizes to int8 and optimizes for the Xtensa architecture. Check the estimated RAM and latency in the deployment preview.
Deploy to ESP32-S3
Export as ESP-IDF library from the Deployment tab. Add the generated SDK to your project's components/ directory. The library includes the model, preprocessing, and inference loop — call run_classifier() from your application code.
More control over the model pipeline and smaller binary size, but requires manual model training, quantization, and deployment. Better for teams with ML experience.
Double the RAM (1 MB) and faster clock (480 MHz) enable higher-resolution detection. No Wi-Fi, higher cost, but better raw inference performance.
Orchestrate your Edge Impulse detection pipeline visually — from sensor input to action output on the ESP32-S3.
Get Started Free