Itron EverBlu Cyble Water Meter Reader

Aries

New Member
This project dates back to 2019 when a new water meter was installed outside the house. It was difficult to read because of a large lump on top which all but obscured the numbers. This turned out to be the EverBlu Cyble transceiver. I found a very useful explanation of the setup here ...
and C-code for Arduino here ...

and so I started trying to get a CC1101 to work. With a great deal of help from Hippy, I managed to communicate with the CC1101, but not with the water meter. The project was then put on hold until the end of 2023, when the meter display misted up to the point where it was no longer readable. I started again – this time including buying a brand new water meter on eBay. I also had an RTL SDR so it was easy to set up the correct frequency, and see whether the meter would respond. A lot of messing about, before I got a response (visible on the SDR) and was left with reading it back via the CC1101 into the Picaxe.

The return message is sent as 2400 baud with 1.5 or 2 stop bits. The original C code read everything at double speed, and then tried to interpret it back into 2400. I discovered that the Picaxe serin command in a loop could keep up with an incoming raw data stream and was not worried about multiple stop bits. This dramatically simplified the code for receiving.

The result is displayed on a Nokia 5110 LCD matrix screen using two fonts – a 5x7 for mainly text, and 8x12 seven-segment for the numeric fields (meter ID and reading).

Each operation (reading and displaying) uses most of a slot on a Picaxe 28X2/40X2. I used a 40X2 largely because they are cheaper in bulk than the 28X2. The pictures show the unit with (a) the meter ID and (b) the reading from the meter. The unit also transmits the result via an NRF24L01 to a data logger which stores the result on a microSD card.
2596125962
Attached is the code for communicating with the CC1101, which may be of use to somebody.
 

Attachments

Lotus

New member
Very interesting! I've got a number of these Everblu meters spread around and would like to be able to read them electronically like you are doing. I've seen an ESP32+Camera solution to photograph the digits and use character recognition to extract the numbers - but haven't tried it yet.

The neutrinus/everblu-meters solution also looks good but I am not sure I understand it well enough to do all the necessary compiling etc.

I've got more experience with PICAXE than ESP32/RPi so I'm interested in having a go at building one of your devices.
Could you make available further details of your device? :
  • In your "MeterReader.....slot1.bas" file, there as an include for "MeterReader240116.basinc" but that file was not included in your attachments.
  • Could you post some details of the hardware, circuit diagrams?
What would happen if there are two meters close to each other - how could you choose which one to read?
 

Aries

New Member
Thanks for the comments. I don't have a circuit diagram per se - the unit is based around one of my "standard" PCBs for a 40x2 with an NRF24L01 transceiver for communicating with the home network (in Slot3). The CC1101 is plugged into various A and C pins (as shown in the basinc file). There's a lot of extra stuff in there for handling the Nokia screen (which is a bit temperamental anyway) - the code is in Slot 2 which I have not included.

It's worth reading the description which I referred to in the original post if you can still get at it. The first thing the reader does is send a wake-up call and the number of the meter being targetted. So, it doesn't matter if you have several meters close together, they will all have different numbers. The only problem might be that - as they are battery-operated and will all wake up to receive the signal even if it is not for them - they might run out of power sooner than might otherwise be the case.
 

Attachments

Aries

New Member
After several months of successful reading, the meter suddenly stopped responding (after a curious one in which it said the date was 10/00/2024). We happened to meet the Affinity Water meter reader and I asked if he had managed to read it. He said yes - he simply drove down the road and picked up the readings automatically. I had no trouble reading my "spare" water meter. After some thought, I decided the most likely explanation was that the Cyble meter transmitter frequency had wandered off a bit, so I added programmable RX bandwidth adjustment. The setting goes from 0 (widest bandwidth) to 15 (narrowest bandwidth) - details in the CC1101 datasheet. At the moment, I'm using 0 (10 worked for a couple of days and then stopped). If it continues, I may have to take the SDR kit outside and try to analyse the signals directly (not easy, because the laptop battery is dead).

The attached files are replacement include file and Slot1 which handles communications with the meter. The new variable is CCBandwidth, which I can change dynamically. Alternatively (as shown in the file) it can be initialised by a DATA statement.
 

Attachments

Top