Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

jomjol/AI-on-the-edge-device

Hardware & IoT

Digitizes analog water, gas, and electricity meters using an ESP32-CAM and on-device TFLite inference.

8,940
941
C++
NOASSERTION
6 years old

What it does

AI on the Edge Device turns an analog meter (water, gas, electricity) into a smart meter without replacing it. An ESP32 board with a supported camera takes a photo at configurable intervals, extracts regions of interest, and runs a TensorFlow Lite model on the device to read the digits. The resulting value can be pushed to an MQTT broker, written to InfluxDB 1 or 2, or read through a REST API. A local web interface handles administration, and Home Assistant integration is supported.

The project targets hobbyists and home-automation users who want to read an existing mechanical meter. It requires an ESP32-CAM-class board, a FAT-formatted SD card, and a power supply; the README describes the device as roughly 3 x 4.5 x 2 cm and under 10 EUR in hardware. The firmware is written in C++ and the build instructions live in the code directory.

Quick start

  1. Check the hardware compatibility list to confirm your ESP32 camera board is supported.
  2. Download the current firmware from the Releases page.
  3. Flash the ESP32 over USB the first time. The browser-based Web Installer and Console is the preferred method; the Espressif Flash Tool or esptool are alternatives.
  4. Insert a FAT-formatted SD card. After flashing, it can be initialized automatically through the built-in access point, or set up manually following the installation documentation.
  5. Access the device's web interface to configure the camera image, regions of interest, and the data output (MQTT, InfluxDB, or REST).

Subsequent firmware updates can be done over the air through the web interface. The project documentation covers setup and configuration in more detail, and the README links several community videos for initial installation.

Constraints

  • A compatible ESP32 camera board and a FAT-formatted SD card are required; not every ESP32 variant works.
  • Initial flashing requires a USB connection to a computer; OTA updates require Wi-Fi.
  • Reading quality depends on camera alignment, lighting, and correct ROI configuration, so the camera must be mounted steadily in front of the meter.
  • The repository license metadata is marked NOASSERTION, so the exact licensing terms should be checked before redistribution or commercial use.
  • The project README does not document every configuration detail; practical use depends on the separate documentation site.

HotRepo's take

The repository was recorded in the all-language GitHub daily ranking environment on 2026-11-03 with 11 stars gained in the day and a best position of 5 in the C++ daily list. With 8,939 stars and 941 forks overall, it is a mature embedded project rather than a new spike. The day's gain is small relative to the total, so the ranking mostly reflects the C++ list's depth on that date rather than a broad surge. No interesting discussion threads were recorded.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

An analogue water meter reader using ESP32 and TensorFlow Lite
▲ 21 · 1 comment · February 7, 2021