EXP-003 / Embedded
Edge Vision Sensor Node
An ESP32-S3 camera node that performs local image classification and reports compact events over MQTT.
BUILD SPECIFICATION
EXP-003- Status
- Prototype
- Started
- 2025
- Last updated
- Mar 12, 2025
- Category
- Embedded
- Hardware
- ESP32-S3 camera board
- Software
- C++ firmware, TensorFlow Lite, MQTT
- Estimated cost
- Prototype parts; total to add
- Repository
- View source ->
Context
The Edge Vision Sensor Node explores how much useful computer vision can run on constrained hardware without continuously streaming video to a server.
What I wanted to build
- Keep raw images on the device.
- Recover cleanly from network interruptions.
- Fit inference, capture, and networking into limited memory.
- Make power and latency measurable rather than assumed.
System design
The camera feeds a small local classifier. Only the class, confidence, timestamp, and device health leave the board.
Hardware and software
The prototype combines an ESP32-S3 camera board, C++ firmware, TensorFlow Lite, and MQTT.
Build process
I brought up capture, inference, and networking separately before measuring them together.
Problems encountered
Frame buffers, the tensor arena, and networking tasks competed for a small memory budget.
How I solved them
I reduced frame-buffer pressure and reused temporary memory rather than optimising the model first.
Final result
The final firmware publishes class, confidence, timestamp, and device health as a small MQTT payload. A rolling event buffer preserves results while the broker is unavailable.
What I learned
On constrained hardware, measuring the entire memory timeline is more useful than looking only at model size.
What I would improve next
I would measure power use across longer runs and test recovery under repeated Wi-Fi failures.