Hi everyone! ![]()
I’m excited to share a major update to the ESPHome AI Component. This project lets you turn an ESP32 camera into a fully offline, privacy-first meter reader (water, gas, electricity, or analog dials) that integrates natively with Home Assistant.
What makes this different? Unlike standalone firmwares (which are great!), this is a native ESPHome component.
- Config in YAML: You configure it just like any other ESPHome sensor.
- Native API: No MQTT required (unless you want it!).
- OTA Updates: Manage it directly from your ESPHome dashboard, along with all your other ESPHome components.
Performance & modularity
- Optimized for ESP32: Leveraging
esp-nnhardware instructions, inference time for digit recognition is now under 270ms (down from ~2.7s on older chips, but still works great on legacy ESP32 boards!). - Reuse the Core: The
tflite_micro_helperis now a standalone component you can use to run any TFLite model in your own ESPHome projects. - Memory Safety: The core has been rewritten in modern C++ (C++20 compliant) with
std::spanand zero-copy buffers to be robust and leak-free.
Key Features
- Digital & Analog (Dev State): Reads 7-segment displays AND analog dial needles (currently in development, not production ready).
- Active Learning: Optional “Data Collector” to upload low-confidence images to help train the global model.
- Visual Config: A web-based tool to easily draw your crop regions.
Call for Contributors (We need you!) This project has grown to over 20k lines of C++.
- Note on Development: While the legacy code was manual, v2.0 leverages AI assistance to achieve complex dual-core optimizations and memory management. It works great, but it adds complexity!
- We need: C++ developers to review code, power users to test edge cases, and documentation helpers.
- Promoters: I don’t use social media (personal choice to keep my life quiet), so I rely on you to talk about this project!
If you love the idea of On-Device AI without the cloud, please check it out and consider contributing!
GitHub: GitHub - nliaudat/esphome_ai_component: A component to run AI model on esphome
Wiki: Home · nliaudat/esphome_ai_component Wiki · GitHub