Optical Character Reader

Share :

Executive Summary

This document describes weeve solution to Optical Character Recognition (OCR) for gathering data from Programmable Logic Controllers (PLC), Human Machine Interfaces (HMI).

Purpose and Scope

Many manufacturers and production lines still use “old school” HMI. Such machines require a boring and time-consuming practice of manually checking all parameters by the manufacturing employees. Unfortunately, modernization of such equipment and infrastructure transformation of the manufacturers is expensive for many businesses. Fortunately, weeve proposes a solution to this problem that enables automation of gathering data that could free employees from some of the trying and time-consuming to focus on another crucial task, without attaching any plugs to the HMI or the machine itself.

This document describes weeve end-to-end engineering solutions to this issue and outlines proposed data service and equipment.

Business value

Reading Human Machine Interfaces manually takes a lot of time and effort in different production lines.For example, like in pharmaceuticals, where a lot of precautions are taken to avoid the entry of foreign entities, such as dust particles. This means that moving in and out of a room just to read and log the HMIs wastes both time and resources, as operators have to wear sterile outfits every time they enter the production area. Optical Character Reader solution by weeve, allows operators to review the Human Machine interface from everywhere and to easily create alarms, so an operator will only go into the sterile zones when they are really needed, saving resources that further leads to reducing the operational costs.

Solution Overview

People need to manually check and write down readings from HMI displays on a site which is an extremely inefficient and time-consuming task. Weeve solution proposes placing a camera attached to a Raspberry Pi in front of the HMI display screen that could record the readings with weeve Optical Character Recognition module.


  • The display is bright enough for the camera to capture values.
  • HMI screen has a simple User Interface and without random noise (i.e. random characters or words).
  • There is constant access to the Internet so data could be transmitted to Vonage and Database.
  • There is no vibration caused by the machine so the input from cameras could be stabilised.
  • The camera is focused only on a text that it is supposed to read.

Architecture and Setup

The system is composed of a camera and a RaspberryPi with an installed weeve agent. The camera is pointing to an HMI display screen.

Images from the camera connected to Raspberry Pi is passed to weeve agent.  A data service is responsible for detecting characters on the PLC screen and passing that information as a notification to the business channels on Slack or means supported by Vonage (Facebook, WhatsApp, Messenger or SMS). Alternatively, weeve data service could save data directly to a database and display it on a dashboard for better insights.

Case I → Generate a WhatsApp alert whenever the temperature is greater than some threshold

We need to generate some alerts if the temperature displayed on the HMI is greater than 70°C.

Ingress Camera: module responsible for receiving image data from a camera

OCR Module: Optical Character Recognition module that analyses inputs from a camera and detects characters

Vonage: sends a Vonage notification to business WhatsApp, Messenger, Viber, SMS and MMS channels, triggered by specific data


  • Technical and Hardware
  • Constant connection to internet for data transmission to Vonage or Databases
  • Functional Requirements
  • Connects to a camera and records images
  • Extracts feature from images and recognise characters
  • Processes machine learning models for OCR
  • Runs Docker
  • Runs weeve Node Services
  • Non-Functional Requirements
  • The system should be always running
  • The system should be able to update its data service when required
  • The system should not keep video recordings or images


  • The ML model is not evolved to recognize everything. This POC only demonstrates the possibility of running Machine Learning algorithms on the Edge using in the weeve ecosystem.

Written by Sanyam Arya & Jakub Grzelak