Skip to main content
ENGINEERING IDEAS INTO REALITY
Prototype · Tested on real workpieces

Edge AI camera with OCR for hot-water meter readings, for industrial plant engineering teams in Thailand

The camera is aimed at an existing hot-water meter dial, reads its numbers with on-device OCR (recognising numbers from images) using Edge AI, and sends readings to a server via API or MQTT instead of manual recording. We designed the camera assembly, control board and enclosure for an industrial plant engineering company in Thailand in 2024–2025, and tested the OCR software with photographs of real meter dials on a small computer board.

Illustration for the case Edge AI camera with OCR for hot-water meter readings, for industrial plant engineering teams in Thailand
Industry
General manufacturing
Year
2024–2025
Scope of work
Design of 1 reading set for a hot water meter with a numeric dial — camera in a housing case designed to fit the size of the meter body, viewing the existing dial · Embedded Controller board with power adapter, running an OCR model that reads the digits on the device · Values sent via API or MQTT to the customer's server, with no built-in database and a reading cycle of every 1–2 minutes · Python software · 2 test criteria: the digits read by the camera and the value sent via API match the dial · OCR testing with photographs of a real meter dial on a small computer board, and measurement of the actual meter body to design the housing case

Summary

  • A prototype Edge AI camera set designed to be fitted to view the dial of an existing hot water meter, read the digits with on-device OCR and send the value via API or MQTT to the customer's server, instead of having someone go and note the value down.
  • The equipment set only reads and sends values. It has no built-in database, and the dashboard and alerts sit on the customer's system side.
  • The system is designed for 1 camera set, a reading cycle of every 1–2 minutes and 2 test criteria: the digits read by the camera and the value sent via API must match the dial.
  • In internal testing, the OCR software read the digits from photographs of a real meter dial on a small computer board. Accuracy at the installation point is measured with the system's 2 test criteria.
  • A model's confidence value is not accuracy until the digits it reads have been compared with the numbers on the real dial.
01

The on-site brief

The customer's hot water meter has a numeric dial. To know the water usage, someone has to read the meter and note the value down or key it into the system by hand, so data arrives late and may be recorded incorrectly. The customer's IoT (devices that send data over a network) engineering team wanted the dial values to reach its own server automatically, for use with dashboards and alerts.

02

What we did

We designed a meter reading set with a camera, an Embedded Controller board and a camera housing case, fitted to view the dial of the existing meter. The board reads the digits with an OCR model on the device, then sends the value via API or MQTT (a data transmission protocol for IoT devices) to the customer's server. The system is designed for 1 camera set, 2 test criteria and a reading cycle of every 1–2 minutes.

03

Test results with real workpieces

In internal testing, the OCR software read the digits from photographs of a real meter dial on a small computer board, and we measured the actual meter body to design the camera housing case. Accuracy at the installation point is measured with 2 test criteria: the digits read by the camera and the value sent via API must match the dial.

How the brief came about

This system uses a camera to read values from a hot water meter with a numeric dial and sends them into a system, without anyone having to go and note them down. The customer's meter shows its value only on the dial. To know the water usage, someone has to read it at the installation point and then note it down or key it into the system by hand, so data arrives late and may be written down or keyed in incorrectly.

The customer is a factory engineering company in Thailand. The customer's IoT (devices that send data over a network) engineering team has its own servers and dashboards. What it needs is a device that turns the numbers on the dial into data and sends them into that system.

What are Edge AI and OCR?

Edge AI means the on-site device carries out the AI processing itself, rather than sending every image to a server. OCR (Optical Character Recognition) means reading letters or numbers from an image. Used together, the device sends out only the digits it has read, which is a small amount of data.

Requirements and constraints

The meter reading set must work with the existing meter and send values into the system the customer already has. The system requirements are as follows.

  • Fit to the existing hot water meter without replacing it, so the camera housing case must be designed to fit the size of the meter body.
  • Read the digits on the device, then send the value via API or MQTT to the customer's server.
  • The equipment set has no built-in database, and the dashboard and alerts sit on the customer's system side.
  • Configuration of 1 camera set, with the camera supporting a reading cycle of every 1–2 minutes.
  • 2 test criteria: the camera reads the digits on the dial correctly, and the value sent via API matches the dial.

Why fit a camera to read the existing dial instead of replacing the meter?

We chose to fit a camera viewing the existing dial because the brief was to bring the value the meter already displays into the system. This approach avoids removing and replacing the meter, and our work ends at sending the value via API or MQTT to the customer's server.

We have the device read the digits itself on site (Edge AI), so images do not need to be sent to a server for processing. The only data sent out is the digits that were read. The system works as follows.

  1. 1

    Camera in a housing case views the dial

    The camera sits in a housing case designed to fit the size of the meter body and photographs the number window on the dial at the set interval.

  2. 2

    Read the digits on the device

    The Embedded Controller board runs an OCR model and reads the digits from the image on its own.

  3. 3

    Send values via API or MQTT

    The digits read are sent as data to the customer's server. The equipment set has no built-in database.

  4. 4

    The customer uses the values in its own system

    The customer's team takes the values to show on a dashboard, set alerts or combine with other data in its existing system.

System components

The system consists of a meter reading hardware set, AI camera configuration and value output. It is designed for 1 camera set, a reading cycle of every 1–2 minutes and 2 test criteria. The components are as follows.

  • Camera for reading the meter (Camera for check meter)
  • Embedded Controller board with power adapter
  • Camera housing case
  • AI camera configuration to read the digits on the dial and send values via API or MQTT

There are 2 versions of the work specification: the first in 2024 and a revised version in 2025, which adds hardware housing case design work.

What we built and tested

We tested Python OCR code with photographs of a real meter dial on a small computer board, and it read the digits. This result comes from our internal testing with photographs. We also measured the actual meter body to design the camera housing case.

The system's 2 test criteria are for measurement on the meter at the installation point, so accuracy and speed figures must be measured at that stage. This page reports only results that have been tested.

Scope of the test results

This result comes from the dial photographs used for testing. Lighting, camera angle and dial condition at the installation point may differ from that set of images, so testing must be carried out again with your meter.

What we learned

This work offers the following principles for reading meters with a camera.

  • Acceptance criteria must be compared with the numbers on the real dial at both the source and the destination. This system separates its test criteria into 2: the value read by the camera, and the value received at the destination via API. A confidence value (confidence is the score a model gives its own result) is not accuracy until the result has been compared with the real dial.
  • Camera position and the housing case are part of the scope of work from the start. The housing case sets the camera's distance and angle. In this work, the actual meter body was measured, and the revised work specification added housing case design work.
  • Divide responsibilities clearly between the device and the destination system. In this work, the camera set only reads and sends values, while the dashboard and alerts sit on the customer side. The API or MQTT channel is a handover point that both sides can check.

How can you apply this approach to the meters in your factory?

If your factory still has people walking round to read meters with numeric dials, and has a system that receives data via API or MQTT, you can use the same approach as this system: fit a camera viewing the existing dial, read the digits on the device and send only the values into the system. What needs adapting is the housing case and the testing with your own meters.

Reusable parts and parts that need adapting

System partReusableNeeds adapting when
Camera and housing caseThe concept of fitting a camera in a housing case to view the existing dialA different meter model or size, or limited space around the pipe, requires new measurement and a new housing case design
Reading figuresReading with on-device OCRA different dial type, or dial condition and lighting that differ from the trial images, must first be trialled with images of your real dial
Sending valuesSending values via API or MQTTIf the destination system receives data another way, a new data format and channel must be agreed
Dashboard and alertsSits on the destination system side, not in this equipment setIf you do not yet have a display system, it must be defined as additional scope of work
  • Prepare device power and a network at the installation point, and check your organisation's network policy.
  • Plan testing that compares the digits read by the system with the numbers on the real dial before putting the values into use.

Technology used

Edge AIOCR reading numbers from imagesCamera in a housing caseEmbedded Controller boardPythonAPI / MQTT

Frequently Asked Questions

Does the existing water meter need replacing?

No. In the design as drawn up, the camera set sits in a housing case fitted to view the dial of the existing meter. However, the meter size and the space around the pipe must be measured first, so that the housing case can be designed to fit.

Where are the values displayed once read?

The equipment set sends values via API or MQTT to the customer's server. In this system, the dashboard and alerts sit on the customer's system side. If you would like us to develop the display part as well, it must be defined as additional scope of work.

What needs to be prepared at the installation point?

You need device power, a network that can send values via API or MQTT to the destination server in line with your organisation's network policy, and details of the meter size and the space around the pipe for designing the housing case.

How accurately does the camera read the digits?

Internal testing confirmed that it can read the digits from photographs of a real dial. Accuracy at the installation point is measured with the system's 2 test criteria, by comparing the digits read by the camera and the value sent via API with the real dial. This page therefore does not state accuracy figures that have not yet been measured.

What needs to be prepared to use this with another type of meter?

Start by sending us images of your real dial, the meter model and details of the installation point for assessment. We tested with water meters with numeric dials; other types of meter need a new assessment. Pricing is set after the assessment, because it depends on the meter model, the number of points and the destination system.

Want a system like this for your work?