On-Device Vision Training, Deployment, and Inference on a Thumb-Sized Microcontroller
Abstract
This paper presents a complete, end-to-end on-device vision machine learning pipeline, comprising data acquisition, two-layer CNN training with Adam optimization, and real-time inference, executing entirely on a microcontroller-class device costing $15-40 USD. Unlike cloud-based workflows that require external infrastructure and conceal the computational pipeline from the practitioner, this system implements every step of the core ML lifecycle in approximately 1,750 lines of readable C++ that compiles in under one minute using the Arduino IDE, with no external ML dependencies. Running on the Seeed Studio ESP32-S3 XIAO ML Kit (8 MB PSRAM), the firmware achieves three-class 64x64 image classification in approximately 9 minutes per training run, with real-time inference at 6.3 FPS. Key contributions include: correct batch-level gradient accumulation; pre-computed resize lookup tables for inference; dual-format weight export for SD-free baked-in deployment; a three-tier weight priority system (SD binary > baked-in header > He-initialization) resolved automatically at boot; a single-constant network reconfiguration interface; and PSRAM-aware memory management suited to microcontroller constraints. All source code and reference datasets are released under the MIT License at https://github.com/webmcu-ai/on-device-vision-ai
Cite
@article{arxiv.2604.23012,
title = {On-Device Vision Training, Deployment, and Inference on a Thumb-Sized Microcontroller},
author = {Jeremy Ellis},
journal= {arXiv preprint arXiv:2604.23012},
year = {2026}
}
Comments
25 pages; 3 figures; 3 tables. Code and datasets available at https://github.com/webmcu-ai/on-device-vision-ai. Paper 1 of the webmcu-ai series. Implements end-to-end on-device CNN training and inference on a thumb-sized microcontroller (ESP32-S3) the XIAO ML Kit in ~1,750 lines of single-file C++ without external ML dependencies