Automatic Meter Reading System Using Ble Mesh

About the project

We had designed and developed an xbee Modbus protocol converter for Electricity utility metres at the Delhi Airport using ZigBee (xb865) using mesh networking. Now I wish to replace Xbee 865 with BLE-M

Project info

Difficulty: Expert

Platforms: Cypress

Estimated time: 5 weeks

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

The Complete BOM Attached The Complete BOM Attached x 1

Software apps and online services

Cypress Modus IDE Cypress Modus IDE
Docklight Docklight Terminal Software
Xojo Cross Platform IDE Xojo Cross Platform IDE Optional Used to Phrase the Incoming Meter Readings to the Respective Fields

Hand tools and fabrication machines

Temperature Controlled Soldering Station with Plato Flow Bit Temperature Controlled Soldering Station with Plato Flow Bit x 1
Desktop Reflow Oven Desktop Reflow Oven Optional x 1





Automatic Meter Reading or AMR, in short, is automating the utility meter reading collection. Electricity, Domestic cooking Gas & Fresh Water are the utilities that are delivered to homes and buildings at fees collected by the utility service providers. The consumption pattern is recorded by the installed meter for the said service or utility. Usually a Bill collector visits each of the meters, records the consumption data by manually entering the readings displayed on the utility meter against a service number and using a handheld terminal, generates the respective bill which the user can pay within a said time, failing to do so will result in the utility company disconnecting the consumer.

Pic-1: Domestic Utility Electricity meter


Pic-2: Handheld terminal


Drawbacks of the manual Reading System…

1)     Requires a large workforce to record the consumer meters

2)     Possibility of error by the human element while noting the consumption reading

3)     Possibility of error by human element while entering the readings

4)     Requires enormous time to read every meter manually.


AMR Systems utilize RF/Serial Wired (RS485) communication scheme to communicate with the utility meter remotely and collect data pertaining to that utility point. Since the utility meter directly communicates with the remote host, there is absolutely no chance of false reading recording.  At Spectrochem Instruments we developed a Zigbee Based AMR system in 2010 for the Delhi International Airport (DIAL) T3 and the domestic airport T1. Our system was based on the Digi XB865 MHz module, till date, more than 1000 meters are connected remotely and their readings are recorded remotely on the DIAL servers.

Problems with the existing XBee AMR System…

1)     A Windows/Linux/MACOS PC running XCTU (Test, configuration & deployment Software) must be used with an XBee to USB bridge.

2)     Network Segregation is carried out using Unique PAN ID and PREAMBLE

3)     Since Mesh network employs routing, only specific devices matching the PAN ID and PREAMBLE can carry the message.

4)     In some locations, it was observed that the Xbee 865MHz Radio modules were having problems with a 900MHz cellular frequency. Funnily the command requesting the meter reading from the remote DIAL server arrives at the meter XBee, however, the meter response when is attempted to be returned to the querying server fails. The meter side XB865 unit in the vicinity of the 900MHz cellular tower is unable to deliver the meter reading back to the server. To overcome this problem, we tried setting the Chanel mask for the XB Radio modules to minimize the effect of the 900MHz. This had no effect and we had to find an alternate solution.

Our AMR solution employs an ATMEL AVR ATMEGA 164P, dual serial port device. Hardware interrupts based serial bridge is realized, the first serial port is connected to the XB865MHz module and the second serial port with a GPIO is connected to the MAX485 chip, the GPIO controls the data transmission direction.

The standard product was modified by replacing the RS485 chip and in its place, a second Xbee operating on the 2.4GHz was introduced, this created an RF 865MHz to 2.4GHz serial bridge.


Pic-3: XBee 865 MHz AMR Reader


Pic-4: XCTU Screenshot for parameter editing.


Reason for Migrating to BLE-Mesh…


1)     The BLE-Mesh looks promising as the communication range can be extended as with the Xbee devices in a Mesh Network. Bluetooth, BLE is natively available on most smartphones and tablets.

2)     BT_MESH_GATT_PROXY enables support for the mesh GATT proxy services I.e the ability to act as a proxy between a MESG_GATT Client (Smartphone/Tablet/PC) and a mesh network.

3)     Lower power compared to XBee devices

4)     Simpler configuration scheme for the participating nodes with the publish and subscribe model.


The circuit (Schematic) and the PCB design were done in EasyEDA, a free online EDA tool. The first problem was getting the part library for CYBT213043-02 so that the schematic could be designed. This part is not available in the default libraries available natively with EasyEDA nor was available through user-contributed libraries.

If a part is not available in ORCAD, EAGLE PCB123 or EasyEDA, one may use Samcasys, the Schematic part library and the PCB part library both were obtained from Samcasys.



Pic-5: The Top Silk Screen

Pic-6: The Component Side

Pic-7: The Solder Side

Pic-8: The Modus Device Configurator for the Board

Schematics, diagrams and documents

Automatic meter reading system using ble mesh

The Schematic done in EasyEDA


Leave your feedback...