



Water, gas, and industrial meters can be read remotely without touching the meter — by mounting a low-power IoT camera in front of the dial and running OCR locally on an edge AI device. This guide covers the full system architecture: NE101 for battery-powered image capture, NE301 or NG4500 for on-premise digit recognition, and MQTT delivery to your SCADA or BMS — with no cloud dependency.
Most legacy water, gas, and industrial meters have no data port, no pulse output, and no wireless interface. They were designed to be read by a person standing in front of them. Replacing them with smart meters solves the data problem — but at a cost that is often prohibitive at scale: each meter swap requires service interruption, possible regulatory sign-off, and hardware costs of $150–300+ per unit. For a facility manager with 200 sub-meters, or a utility running tens of thousands of meters in the field, full replacement is a multi-year capital project, not a quick integration task.
The camera-based approach addresses this differently: the mechanical meter stays in place and continues operating normally. A compact, battery-powered imaging camera is mounted in front of the dial face. It captures a photo on a configured schedule, transmits the image to a local edge AI device or server, where an OCR model extracts the numerical reading and forwards it to your data system. No pipework. No service interruption. No meter certification re-process.
The architecture works because the two functions — image capture and digit recognition — can be separated across hardware tiers. This guide covers both: how CamThink’s NE101 handles capture and transmission, and how NE301 or NG4500 handles the inference step without sending images to a third-party cloud.
The camera’s job is narrow and stable: capture a sharp image and deliver it reliably. All AI logic — digit recognition, anomaly detection, trend analysis — runs on a separate inference layer that can be updated independently without touching the field hardware. This separation is what makes the system scalable and maintainable at deployment.
NeoEyes NE101 — compact form factor designed for tight meter enclosures
Typical deployment scenario: underground water meter pit, battery-powered camera with LTE uplink
A complete camera-based meter reading system has three layers. Understanding where each CamThink product sits in this stack is the starting point for hardware selection.
The NE101 wakes from deep sleep on a time schedule (e.g., every 4–6 hours) or on an external signal (reed switch, PIR, or MQTT command). Scheduled low-frequency capture keeps standby draw at ≤1 W — the basis for 2–3 year battery operation without a wired power source.
The 5MP OV5640 sensor captures a full-resolution image of the meter face. Lens selection matters: a narrow-FOV module (≈60°) suits close-mounted meters; a wider module (≈120°) works where there’s more stand-off distance. The NE101’s modular lens design allows field swaps without depot return.
The image is compressed and pushed over Wi-Fi 4, or — for meters without reliable WiFi coverage (basements, outdoor pits, remote sites) — optional LTE Cat.1. Transmission typically completes in 2–8 seconds, after which the device returns to deep sleep.
This is where the inference layer runs.
Path A (single-camera, on-device): use NeoEyes NE301 instead of NE101 as the capture node
— it includes a 0.6 TOPS Neural-ART NPU and runs the OCR model directly on the device, with no upstream
server needed.
Path B (multi-camera, local gateway): NE101 units transmit images to a
NeoEdge NG4500 edge box (NVIDIA Jetson
Orin NX, up to 157 TOPS), which aggregates feeds from multiple cameras and runs digit recognition
on-premise. Both paths operate without sending images to a third-party cloud service.
Extracted meter values are published via MQTT (a lightweight IoT pub/sub messaging protocol) to your SCADA, BMS, or custom dashboard. The NE101 and NE301 both support standard MQTT payloads out of the box — see the CamThink Wiki for payload schema and broker configuration.
Path A (NE301, on-device inference) suits deployments where each camera operates independently, network bandwidth is limited, and fully standalone operation per node is preferred. Path B (NE101 + NG4500) suits larger-scale deployments where centralised inference, data aggregation, and fleet management matter more than per-unit autonomy.
OCR recognition accuracy depends on three factors you control: image sharpness (lens alignment, standoff distance), lighting conditions (the NE101 has a built-in fill light configurable for automatic, scheduled, or always-on modes), and model quality. On clean, high-contrast mechanical meter faces under consistent lighting, well-trained digit recognition models routinely achieve over 98% read accuracy. On worn, reflective, or partially obscured dials, accuracy drops and supplemental lighting or a custom-trained model is needed. CamThink’s algorithm customisation service can train and validate a model specifically for your meter type — contact us if you need a turnkey inference layer rather than building it yourself.
For the NE101 hardware side: install batteries, connect to the device’s built-in Wi-Fi AP (SSID: NE101_XXXXXX, no password), open 192.168.1.1 in a browser, configure your MQTT broker address and capture schedule — typically under 15 minutes. The first test image uploads immediately on button press. The OCR layer (extracting the numeric value from the image) is separate: if you are connecting to an existing server-side OCR pipeline or cloud API, add-on time is minimal. If you need to train and deploy a custom model, CamThink provides a full guide from data collection through YOLOv8 training to TFLite deployment. See the NE101 Quick Start guide for the complete setup flow.
The NE101 ships with pre-built open-source firmware including MQTT and HTTP support — no custom firmware needed for day-one image upload. Trigger logic, image compression, and wake schedule are configurable via Web UI or the open SDK. For NE301 on-device inference: the STM32N6 Neural-ART NPU runs quantized YOLOv8 / TFLite models natively. The full pipeline — data collection, YOLO training, INT8 quantization, and deployment — is documented step by step in the NE301 Model Training and Deployment guide. If your team does not have the AI capacity to build the model, CamThink’s customisation service handles the full pipeline from your meter images to a deployed, validated model.
A bare ESP32-S3 camera board can capture images and upload them over WiFi — the core function is achievable with commodity hardware. The practical question for any integrator deploying across 10, 50, or 200+ meter points is not whether it’s technically possible, but what the total cost looks like when you factor in enclosure engineering, field failure rate, battery longevity, and ongoing maintenance overhead.
| Dimension | DIY ESP32 Camera Build | NeoEyes NE101 |
|---|---|---|
| Time to first image | Hours to days (PCB assembly, firmware flash, case fabrication) | Minutes (pre-flashed firmware, Web UI configuration) |
| Weather protection | DIY enclosure — waterproofing quality varies | IP67-rated — dust-tight, built for -20°C to 50°C environments |
| Battery life | Weeks to months depending on hardware selection and sleep configuration | 2–3 years in event-triggered mode (deep sleep: ≤1 W standby) |
| Connectivity options | WiFi (typically); LTE or sub-GHz requires additional module work | WiFi 4 · BT 5.0 · LTE Cat.1 · WiFi HaLow — modular, field-swappable |
| Lens flexibility | Fixed to chosen module; lens swap requires new hardware | Modular, interchangeable lenses — 3D-printable mounts available |
| Scale management | No fleet management — each unit configured manually | Compatible with NeoMind edge AI platform for device fleet management |
| Hardware cost (per unit) | $20–60 (BOM only; excludes engineering time, enclosure, accessories) | $69.90–$112.00 — fully assembled with accessories |
| Open source / hackable | Fully open | Open SDK + GitHub — firmware is modifiable |
The DIY path is not wrong — it is a legitimate starting point for developers learning the stack or validating a concept for a single site. The packaged hardware path becomes more cost-effective once you account for engineering hours, enclosure sourcing, and the ongoing cost of a component that fails in the field because moisture got in. At 10+ units, the per-unit cost delta typically inverts.
NE101 is the right choice when cost-per-unit and battery life are the primary constraints, and your system has a local NG4500 AI Box or server to handle OCR. NE301 (0.6 TOPS Neural-ART NPU, $199.90–$258.00) is the right choice when you need fully autonomous per-node operation — digit recognition runs on the camera itself, with no inference gateway required. Both integrate via the same MQTT payload structure.
The majority of legacy meters are not in server rooms. They are in basement utility closets with no power outlet, in outdoor street-side cabinets, in underground pits, and at agricultural pump stations kilometres from the nearest router. Any camera-based solution that requires mains power or reliable WiFi coverage will fail on this hardware before it starts.
The NE101’s standby power draw is ≤1 W. In event-triggered mode — where the device wakes, captures, transmits, and returns to deep sleep — the active window per event is typically 5–15 seconds. At a capture frequency of once every 4–6 hours (4–6 reads per day), measured field deployments report 2–3 years of operation on a standard lithium pack without replacement. The exact figure depends on transmission distance, LTE signal strength (if used), and image compression settings.
The NE101’s modular communication design supports an optional LTE Cat.1 module. LTE Cat.1 provides adequate throughput for image upload (typically 1–5 MB per image after compression), operates on existing 4G infrastructure, and draws significantly less power than a full LTE modem. For meters in outdoor utility cabinets or rural water supply networks with cellular coverage, LTE Cat.1 removes the WiFi dependency entirely.
The NE101 includes a built-in fill light controllable directly from the Web UI — no external LED or GPIO wiring required. Four modes are available: automatic (light activates when ambient lux falls below a configurable threshold), scheduled (active only during a defined time window), always-on, and always-off. For underground meter pits or enclosed cabinets with no ambient light, automatic mode with a low lux threshold is the standard configuration: the light fires in sync with each capture event and shuts off immediately after, adding negligible power draw to the per-capture energy budget. Light intensity is adjustable from 1 to 100. Full configuration walkthrough is in the NE101 Quick Start guide.
For sites where cellular is unavailable or cost-prohibitive but WiFi range is the limiting factor, the NE101 also supports an optional WiFi HaLow (802.11ah) module. WiFi HaLow operates in the sub-GHz band, giving it significantly better wall and concrete penetration than standard 2.4 GHz WiFi — making it well suited for basement meter rooms, dense building infrastructure, and campus-scale utility networks where a single HaLow access point can cover hundreds of meters. Unlike cellular, HaLow operates on private infrastructure with no SIM card or recurring data cost.
Underground meter pits and dense building environments often combine two constraints: no standard WiFi penetration and no power outlet. The NE101 addresses this with three field-swappable communication modules: LTE Cat.1 for cellular coverage, WiFi HaLow (802.11ah, sub-GHz) for long-range through-wall coverage on private infrastructure, and standard WiFi 4 for connected indoor environments. Battery operation + IP67 casing handles the power and weatherproofing side.
The NE101 is a general-purpose imaging device — it captures whatever is in front of the lens. The constraint is optical, not functional: the meter face must be legible in the image, which means adequate lighting, minimal reflective glare, and sufficient resolution to distinguish individual digits.
Mechanical totalizing water meters (drum counters, odometer-style readouts) are the most straightforward case. The digit window is typically high-contrast, printed on a light background, and does not change orientation. Standard OCR models trained on digit sequences handle these reliably. Wet-dial meters (where the counter is submerged under a glass cover) may require a supplemental LED ring light in low-ambient-light pits — this can be triggered in sync with the camera’s capture event.
Residential and commercial gas meters with dial-type or digital readout windows are also within scope. Dial meters (pointer-on-numbered-dial format) require a slightly different OCR model than digit-window meters — dial position inference rather than character recognition. This is a solvable problem but does add model complexity on the server side.
Pressure gauges, flow meters, and other analogue industrial instruments with circular dial faces can be read with pointer-detection models. The NE101 has been deployed in machine malfunction monitoring contexts where similar visual inspection logic applies. For complex multi-variable panels, the NeoEdge NG4500 provides the compute headroom to run heavier vision models locally.
Fully electronic meters with backlit LCD displays in direct sunlight environments can produce overexposed images that challenge OCR. Meters in deep pits with no ambient light require supplemental illumination. Meters where the dial face is not physically accessible for camera mounting are better served by pulse-output pulse counters or RS485 output modules — camera-based reading is not universally applicable.
Once digit recognition has run — whether on NE301 locally or on NG4500 as a gateway — the extracted reading needs to reach your data infrastructure. MQTT (a lightweight pub/sub messaging protocol standard in industrial IoT) is the integration path for most SCADA, BMS, and building automation platforms.
On each capture event, the device publishes a JSON payload to a configured MQTT broker. The payload includes device ID, timestamp, site and meter identifiers, the extracted OCR value, unit, and battery state. Your BMS or data pipeline subscribes to the relevant topic and ingests the reading directly — no intermediate cloud service required.
{
"device_id": "ne101-a3f2",
"timestamp": "2026-03-20T08:30:00Z",
"site": "building-b-level2",
"meter_id": "WM-045",
"image_url": "https://your-server/captures/ne101-a3f2-20260320-083000.jpg",
"ocr_value": "01027.8",
"unit": "m3",
"battery_pct": 84
}
Full MQTT broker configuration, topic structure, and payload schema are documented in the CamThink Wiki. Both NE101 and NE301 firmware support raw image push and JSON-wrapped metadata payloads, switchable via Web UI without reflashing.
The complete pipeline — image capture, digit recognition, MQTT delivery — runs entirely on CamThink hardware without routing data to any external service. NE101 captures and transmits; NeoEdge NG4500 runs the OCR model and publishes readings; your SCADA or BMS receives the structured data via MQTT — all on your own network.
The right hardware depends on where inference runs in your system. The table below maps the three CamThink products to the two deployment paths described in Section 2.