Build archive

EXP-003 / Embedded

Edge Vision Sensor Node

An ESP32-S3 camera node that performs local image classification and reports compact events over MQTT.

  • ESP32-S3
  • C++
  • TensorFlow Lite
  • 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.