Tuesday, February 5, 2008

Itron Remote Read Electric Meter

My house is equipped with an Itron remote read electric meter. This is a fancy digital electric utility meter that broadcasts it's usage information so the meter guys can just drive around to get usage information for billing. I'd like to track my usage but there isn't an easy way to read the meter electronically, since it is digital it does not have one of those spinning wheels with the index mark on it, just an array of 7 segment LCD numbers and three little dots flashing at the bottom. The dots indicate usage, but are too far under the protective glass housing to read optically (well, they could be read that way, but I'm trying to avoid it). It also has an IR LED that flashes once for each watt-hour consumed. See below for more details on that.

Most of the below is from some research I did a year ago and posted to Mark Turner's blog. I'm republishing it here so I know I can find it again.

I’ve been doing some research on the meter in an attempt to avoid having to install a cheap wireless camera over the meter to OCR the images :D.

Itron makes a number of EMT modules for AMR purposes and I’m guessing that they all use pretty much the same protocol (that makes it easier to sell more stuff and easier to develop new products for the same line). The modules can be integrated with old style meters to retrofit AMR capability to old equipment or it can be installed as a plug-in module to electronic meters (and of course Itron sells their own meters as well, I’ve got the Centron CS1R model). The CS1R/R300 IDM meters presumably either use the 5xESS ERT modules or a built-in version of the same thing. Thus a utility using, e.g. GE meters with 52ESS ERT modules could also buy Centron CS1R meters from Itron and use all the same remote-read equipment.

The literature all touts the Spread Spectrum radio feature, and that generally means some flavor of frequency hopping where bits or chips of the message are transmitted across multiple frequencies and the entire message is not available on any one frequency. Itron seems to keep this information secret though, so their competitors don’t set up to read it (except where the FTC forced them to give a license to Neptune as a anti-anti-competitive measure).

Update: It isn't secret, US Patent 4,799,059 has all the details.

The thing is, I don’t think they are doing anything particularly fancy to get that spread spectrum label. The primary consideration is not security (anybody can walk up to the meter, and its just utility usage data anyway) but reliability. AMR technology is there to save money, and hard-to-read meters cost more. Also, I suspect the ’spread spectrum’ is in the sales literature to look fancy and sound impressive, not to tell us they are using a fancy PN frequency hopping routine to secure the information.

Here are some bits I’ve scrounged up:

“The ERT meter module can be programmed to communicate in either wake-up or bubble-up mode. When used in wake-up mode, it waits for a wake-up signal over a radio frequency and then automatically transmits the meter data to the appropriate meter-reading device. In bubble-up mode, a constant stream of data is transmitted for interception, by the receiving unit, and no FCC license is required. This data includes the meter ID number, registration, and tamper detection information. The RF transmission lasts less than one second and contains eight identical data packets, each at a different frequency. The modules can be read by DataCommand, DataPac and Mobile Collection Systems as well as the G5R handheld and the fixed base MicroNetwork.”

“When programming the 53ESS ERT, customers [utility companies] can select any three payloads from the available list. The 53ESS ERT transmits this data back to the Itron meter reading software via three standard consumption messages (SCMs). Each SCM contains a payload data value, an ERT ID, and counters providing tamper and/or other meter related information.”

“Two counters in each of the SCMs provide a total of six unique status indicators that provide important information about site conditions, including detection of possible tampering.

SCM1 Counter1 Meter has been inverted
SCM1 Counter2 Meter has been removed
SCM2 Counter3 Meter detected a button–press demand reset
SCM2 Counter4 Meter has a low-battery/end–of–calendar warning
SCM3 Counter5 Meter has an error or a warning that can affect billing
SCM3 Counter6 Meter has a warning that may or may not require a site visit, depending on utility practice (for example, reverse energy flow warning)”

One of the important tidbits there is this “The RF transmission lasts less than one second and contains eight identical data packets, each at a different frequency.”

It sounds to me like they are transmitting the exact same, complete message on 8 independent frequencies spread across the spectrum (thus, “spread spectrum” in the sales literature). I would not be surprised at all if this is really just 8 redundant OOK broadcasts at different frequencies. This would be consistent with the two driving principles, avoiding interference and keeping the cost low.

Update: According to the patent this seems to be correct:
the Manchester encoded bit stream forming transponder information packet 42 is used to on-off key (OOK) the carrier signal.
Each transponder information packet 42 of transponder signal 40 is
transmitted at a pseudorandom frequency (i.e., a pseudorandom carrier
frequency) within a predetermined range of frequencies. In one
embodiment, transponder information packets 42 are transmitted at
frequencies ranging from 912 MHz to 918 MHz.

The data sounds like it consists of 3 SCM messages, each containing bits representing the payload, the ERT and the counters. The payload for each SCM is configurable. The 3 SCM’s comprise a single data packet and are transmitted in under one second, probably with at least (IIRC) 15 seconds between them (in compliance with FCC Part 15 sub C).

In bubble-up (1 way) mode you’d receive the broadcasts constantly. In wake-up (also referred to as 1.5 way) mode the reader has to chirp some kind of wake up message to get the meter to broadcast. I didn’t find any information about the reader’s wake up broadcast, but there might be some clues in the FCC’s documentation:

EO9DCPN2 Meter Reading Transmitter
EWQ90F2482517-410 Meter Reader/Programmer
EWQ90F2482517E Utility Meter Transceiver
EWQ90F6482517-R Utility Meter Transceiver

If it is confirmed that the meter is transmitting a basic OOK/FSK message as I suspect, it shouldn’t be a huge leap to work out the signaling protocol (probably also a standard scheme). Determining how the checksum works could be more difficult, but for stationary monitoring I can get a way without it. They might also ‘encrypt’ the data, but since we know the KWH used at the time of transmission at least that part of the data should be recoverable (presuming a simple scrambling system).

Update: The CRC is also published:

In one preferred embodiment, BCH encoder 104 produces a BCH error
control code constructed of a shortened 255, 239, 2 code Galois field
generated by the following polynomial: P(X)=1+X+X 5 +X 6 +X 8 +X 9 +X 10 +X 11 +X 13 +X 14 +X 16 .
I’ve emailed both my power company and Itron about reading the meter myself. Both were very friendly. The Basic DOS-based meter reader is available if you want to buy it, but at a bit over 5 kilobucks it’s not a viable solution (unless you can get your utility company to sell you any broken readers at a substantial discount).

Here is an index of some relevant patents:

http://www.patentstorm.us/assignees/Itron,_Inc_-52765-1.html

This one is very relevant:

“Communication Protocol for remote data generating stations”
http://www.patentstorm.us/patents/5673252-description.html

In particular the description of the Network Service Module (NSM) is useful.

Also “Frequency Hopping Spread Spectrum system with high sensitivity tracking and syncronization”, which describes the details of how the SS system works:
http://www.patentstorm.us/patents/6934316-description.html

I haven’t finished reading it all, but what I understand is that the receiver starts out in a wideband receive mode to pick out the transmitter’s preamble. Evidently the transmitter and receiver don’t have a predetermined channel hopping pattern, the transmitter hops around however it wishes and the receiver does it’s best to find the signal. When the first part (34 chips of Manchester coded bitstream) of the preamble is found an FFT is run to cut the 7Mhz spectrum into 32 channels which it watches for the remaining 6 chips. These chips show up most strongly in one of the channels, or bins, identifying the narrowband frequency the transmitter is using. The receiver then tunes and syncs a narrowband receiver to that frequency to pick up the packet data. If the signal strength is high enough to receive the data in wideband mode it doesn’t bother switching to narrowband mode.

I think that part is particularly interesting. Because I'm interested in reading only one nearby meter I can ignore the whole frequency hopping part and use a wideband receiver with low selectivity. Since each packet is transmitted 8 times across the spectrum the band doesn’t even have to be very wide, I’ll be likely to pick up enough data with a simple receiver, even if some of the packets and broadcasts are missed.

Some information about the mode used:

  • The transmitter uses Manchester coding: “the preamble 32 of the packet 30 consists of 20 bits plus one sync bit. This data is Manchester encoded so we have 42 “chips” (i.e. transition states) possible to correlate on. The first 34 chips are used to correlate on and the last 6 to determine the best bin for data decoding.”
  • The narrowband data is OOK : “In a preferred embodiment, the encoded data of the packet 30 is on-off keyed (OOK) modulated.”
  • Eight duplicate packets are sent, each entirely on a single channel: “A typical end point transmitter will respond to a valid wake-up with eight packets, which will be sent at slightly different frequencies”
  • The wake-up tone, if it is used, is a simple flag signal and encodes no data: “end-point modules, even those that normally operate in a bubble-up fashion, respond to a wake-up tone, which is a proper frequency carrier modulated at the programmed wake-up tone.”
  • “end point transmitters provide the capability to select a wide range of wake-up frequencies (952-956 MHz) and wake-up tones (28-62 Hz)”

Other Itron patents describe the data content of the packets and the length (about 100mS, 8 of which then take “under one second”). So, I think this project can be done without too much trouble.

I confirmed with the Itron rep that works with my power company that my meter operates in bubble-up mode, so I know that the data is there, I just need to set up a receiver to look for it.

This document says that the 53ESS ERT operates in the 900MHz band:
53ESS ERT Specifications:
• Transmit frequency: 910 MHz to 920 MHz

And I found this, which should be helpful in decoding the data, in a WIPO document:
An example of a SCM format is illustrated in FIG. 3 A. e.g., 21 -bit preamble field followed by 2 ID bits, 1 spare bit, 2 physical tamper bits, 4 endpoint type bits, 2 encoder tamper bits, 24 consumption data bits, 24 ID bits, 16 CRC checksum bits (this can also be found in U.S. Patent No. 4,799,059, which describes the ERT packet in detail)

An MRX-005 or MRX-505 might be used to pick it up. It receives at 915MHz. Since the transmitter sends 8 copies of the data, randomly distributed across the 912-918 MHz band, at least one of the transmissions should be easily within the bandwidth of the receiver (that's the point of sending it 8 times, after all). At $14 (receiver) or $25 (transceiver) they are cheap enough to try out.

Just for grins I set up my FT-8800 to scan the band from 912 to 913MHz. I set the squelch well above the background noise and listened for a while. It did occasionally pick up something and stop, but the transmissions are too short to catch. Scanning sections above 930MHz didn't turn up any noise, so it could be that it was picking up the SCM transmissions.


Update : 2008-09-22
I ordered the MRX-005S from Digikey on Friday and it arrived today, Monday. This is a nice all-in-one OOK receiver. It operates from 902-928 MHz and the ERT should be transmitting, as above, between 912 and 918 MHz.



It's simple enough to power up and doesn't require any tuning, so hopefully I can stick the scope on it and take it out to the meter and see if I can pick up some data. If that works it'll just be a matter of piping the data into an AVR, then sending it out the com port to the computer for decoding.

I also found in the documentation that the meter has a simple IR port on it that flashes once per watt-hour, much like the little three dot display on the front. This would be useful for a simple power usage monitor where the usage numbers where not important. For example this indicator could be used as the input to a rate display located somewhere in the house. On example of this that I've read about as a possibility would be a wall sconce that glows green below a certain usage rate and then fades up through various shades until it gets to red above a certain rate. Another option might be vernier-type display. Such display systems would provide immediate and constant feedback for occupants who could then become more aware of how their actions caused power consumption to increase or decrease.

The IR port is located on the top of the meter:


As usual with IR LEDs, you can see the IR light with a CCD, such as a video camera. The flashes are very brief though, so they don't show up very brightly on the video:





The camera frame rate is not synchronized/locked with the led, so it's likely that the video doesn't catch all the flashes or even all of the individual flashes. However, it appears to get most of them as the rate in the video matches pretty close to what was displayed on the front of the meter at the time.

Update 2008-10-1

I dug out my Atmel Butterfly and started setting it up for this project. I bought it a couple years ago and never got around to doing anything with it. Since my STK200 development kit is so old now most of the current development tools don't support it easily. Since I like things to be easy I'm going to see if I can get the Butterfly working as a development platform instead. Once I get the code all working I'll transfer it to one of my older chips, or maybe to an
Arduino Mini, those are popular and I'd like to play with one.

Update 2009-Jan-20

Well, getting out the Butterfly has kind of set this project back. I ended up getting sidetracked onto making the Butterfly work with the Arduino IDE (see the Butteruino on Google Code). This has ended up sucking up a great many hours. At this point it's working fairly well but could use some more work to pretty it up. I'm going to try to switch back to this project now.

The next step is to see if I can get Timer2 on the Butterfly set up to read the input data from the RF module. Even running at the Butterfly's max clock of 8MHz doesn't leave a lot of time to process the incoming bitstream. It looks like it won't be a problem, but there won't be a lot of time to waste. It's tempting to move up to a 20MHz device, but I suppose I should keep it cheap so I can put it on one of my 2313's.

Update 2009-Jun-20
I've found that I like working with Arduino, so I recently put together a couple of iDuino boards. These are Arduino-compatible boards with a Mega168 running at 16MHz and an onboard FT232 for USB to RS-232 conversion. They are just under an inch wide and have downward-facing headers so they can be plugged into a solderless breadboard. I really like this board, I'd certainly recommend it if you prototype on solderless breadboard and use Arduino.

I was somewhat annoyed to find that the MRX-005 module's pins are not on 1/10 inch centers, so it cannot be plugged directly into a breadboard. Fortunately, while it has a lot of pins only a few actually need to be connected. I have it inverted on my breadboard, dead-bug style, with jumpers wrapped around the legs.


Yeah, it's a messy hack, but it's just a prototype. I attached a few feet of antenna and was able to capture some data.



The transitions aren't as sharp as I'd like to see, but it should easily be clean enough to decode.

I've also writen some C# code for parsing data samples from the OpenAMR project into graphable data. Hopefully the data from my Itron meter will be the same as that data. My library is smart enough to handle different kinds of data input, but I don't want to have to figure out what the fields in this data are.

Next step is to do some research about how to go about decoding this Manchester encoded bitstream on the AVR. I could invent something, but that would be dumb, this wheel has been invented many times.

Update 2009-July-7
I've made a bit more progress over the last couple of weeks. The next step was to impliment an Manchester decoder on the Arduino. I poked around on the Arduino site a bit, but didn't find anything immediately useful. Greg Hancock's brief OpenAMR page on Manchester coding mentions that he is using the scheme that happens to be published in US Patent 5,200,980 "Digital Bi-Phase Data Recovery System" by Dennis M. Briddell. That sounded like a good place to start, so I implemented it in an Arduino sketch (I'll move it to a library once it is all debugged).

While testing I found that the radio module doesn't output a clean logic signal, instead it provides an analog mess which doesn't work very well with the edge triggered interrupt on the AVR. I thought it would be good to clean it up by running it through a Schmitt trigger, but I don't have any and I don't want to pay shipping on only a few chips. It turns out that you can configure a 555 as an inverting Schmitt triggered buffer with no external parts, and it's easily fast enough to handle the 30uS signals from the meter datastream.

For testing purposes I assembled a second iDuino board and set it up to output some test data in Manchester format (sending it sure is a lot easier than receiving it!). The receiver appears to mostly work with the simple test data packets I'm sending, but I get occasional glitches. Even if I can't work those out it won't be much of an issue since the AMR data is retransmitted many times.

I think for the next step I will improve the code on the second iDuino to provide more realistic sample data. Currently the data rate is much lower (1mS chips instead of 30uS) and the data frames are only 4 bytes. I'll use some of the 92 byte sample data from the OpenAMR project, that should let me prove out the decoding routines without the unknown factors in the data from the radio module. Once I've got that working I'll switch back to the radio module and see if I can decode some actual data.

Update 2012-July-12
Here is the above-mentioned sample of the AMR data, in image format. See the comments below for C# code that defines the field layout.
I haven't been doing anything much with this project over the past few years (lots of other stuff going on, including building up the Omaha Maker Group), but I recently obtained one of the new RTL-SDR USB devices that I thought might make this project really easy. I'll see if I can get some data captures with it.

Update 2014-July-17
The RTL-SDR captures the AMR broadcasts very nicely. I placed the antenna directly on top of the transmitter and captured a few transmissions. It's also easy to see broadcasts from other meters in the vicinity.


Recording the incoming data to a wav file produces about what you'd expect:


Looks just like the scope trace. I'm using SDRSharp which supports plugins, so I'm going to look into writing a decoder plugin. The option to record and reply signals with SDRSharp will make debugging quite a bit simpler.

79 comments:

Craig said...

Dave,
I was just searching the web thinking the same thing about my meter after reading http://www.picobay.com/projects/2009/01/real-time-web-based-power-charting.html. I'm looking forward to your results with the MRX-005S.

Anonymous said...

I have this working. Check out the posts on my blog. Would be happy to collaborate on open source effort if you are interested.

Paul Fox said...

has anyone looked closely at the IR flash? is it really just a flash, or does it perhaps contain data as well?

i believe i have the same (or similar) meter that dave has pictured, so i think i'll investigate that...

paul

Unknown said...

Just FYI:

http://www.griffmonster.com/miscellaneous/electricmeter/electric_digital_meter_reading.html

... says that each blink on the IR LED is 1 watt-hour of power usage.

Dave said...

Right, one flash per watt-hour (I mentioned that up there somewhere, but didn't link to the docs).

If you do any data logging based on that indicator I'd love to hear about it.

I've had this on hold for a while, as I was unsuccessful reading any data with the radio module I was working with (from inside anyway, there was too much snow to go try outside!), and now other things are taking up much of my time.

I'm keeping an eye on OpenAMR.org though, thanks to Gregory Hancock's post and blog!

Stan said...

ERT IDs are 8 digits, but the ID in the protocol (per patent) is only 24 bits, which aren't enough. The patents are interesting but don't identify the data types.

Dave said...

I suspect the data formats in the patents may have been superseded and may never even have used in practice. I'm not sure where the 92 byte format documented by the OpenAMR project came from, but it works and I'm hoping my meter, which is a similar version, will use the same data format.

I haven't yet made it to the point of receiving a full transmission though, so I don't really even have any idea how many bits it's transmitting.

Andrew.V2 said...

How is the project going? Just found your work and am very excited/impressed. Is there anything you need help on? I'm a firmware engineer in the CE space and a number of the devices I develop on use wireless in the 900Mhz range. I also have some (limited) hardware experience and access to some decent prototyping equipment. If any of that would be helpful to you at all please let me know. I think this could be a very exciting project. Thanks.

Anonymous said...

AMR manufacturers normally protect the ability of their meters from being read by competitors. I would speculate the data is encrypted in the data stream or with the SS radio, or both. They don't want competitors to be able to read their meters without their devices and software.

Unless you just want to tinker, technology has caught up with you. the device linked below will read and transmit the data from the IR port you picture remotely to this Black & Decker consumer meter monitor.


http://www.blackanddecker.com/Energy/PowerMonitorCompatibility.htm

Mark

Dave said...

The Black & Decker meter display is pretty cool, thanks for the link. However, I think that product is aimed at a different consumer than my project.

I'm looking to get the already-totaled consumption data that the utility company bills from rather than just rate information.

Also, the Black & Decker system seems to only display the info, it does not appear to have a computer link. This makes it difficult to use it with any computer-based technology.

It is currently priced at $100 (substantially overpriced, IMO, it should be about the same as a wireless thermometer), which is about 3 times what I anticipate that a finished version of my radio based, USB connected project will cost.

Finally, it requires no assembly or debugging at all, where's the fun in that? :)

Anonymous said...

I just had a new centron installed by CL&P 2 days ago....why does the LED screen go blank then show all the numerals every 10 seconds?, it's like "rebooting"?, is this normal?
I bought my house a year ago, it uses 1000 kwh a month, we dont have A/C, but a new 50 gal hot water heater, as of 16 hrs since new meter it's already reading over 50kwh!!!

Dave said...

It sounds like your meter might have a problem. I haven't seen any that act like that. You should probably contact the power company about it.

An electric water heater will use a lot of power, particularly if it's heating a full load of cold water.

1000kWh in a month is not unusual, but it is much higher than it could be. Try doing a survey of the house to see what you have consuming power. Don't ignore anything, even something as simple as a 40W incandescent lamp left on as a night light every night adds up. That would be about 12kWh, or 1 percent of your total. Throw in a computer or two and the typical vampire loads around most houses and you can easily hit 15% of your total consumption just on those little things that run all the time.

Unknown said...

To Anonymous with the new centron meter installed. Here is a guide of how you can use to to measure your load based on what you know is on at a given moment. http://www.griffmonster.com/miscellaneous/electricmeter/electric_digital_meter_reading.html

Unknown said...

Great information! Recently I've again (for the n th time) began looking into doing exactly what you've been working on here.

Where I lived previously we didn't have AMR enabled meters so I was pretty much restricted to either camera or bouncing IR off the spinning disc. Neither of these were an option as the meters have to be read in-person and meter readers don't like to see things with wires dangling off their meters.

The place I just recently moved has pretty much exactly the same Itron meter as you have. Ideally I would like to go the RF route but as an interim measure I was thinking about going with a bare bones IR solution. Unfortunately, until my Arduinos arrive I'm pretty much stuck twiddling my thumbs.

I was wonder if you might possibly be able to do something for me (and those restricted to the IR interface). Seeing as you have a scope and hopefully a spare IR detector I was hoping that you might be able to take a look at the output from the IR LED to get a better idea of the pulse width as well as its rise and fall times.

Good luck with your RF interface. I hope to be moving on to RF later this year as it is much more precise (10 W/hr vs. 1 kW/hr via IR) access to the consumption history for the past few hours.

Thanks for all the great information you've gathered and published for all to enjoy.

blalor said...

Good morning, Dave. Just ran across this post looking for info on my own Itron meter, which looks to be identical to yours. I'm a National Grid customer in Medford, MA. I implemented my own version of Jason Winters' power monitor, but I want to confirm that data with the data coming from the electric meter (which just may render the other project obsolete, depending on granularity). I just ordered a handful of photodiodes from Mouser so that I can read the flashes from the IR LED on the meter. That may be sufficient for my purposes, but I'm curious to see what else you and the OpenAMR guys come up with! Good luck!

blalor said...

My photodiodes arrived today, and I was able to capture the IR pulse with my oscilloscope. The pulse indicating 1 watt-hr of consumption is easily visible, but there's another signal mixed in there, too. O'scope screen caps are here: http://www.flickr.com/photos/blalor/tags/c1sr/

Dave said...

Very interesting! Looks like the bursts in the captures are 5kHz, 2.5mS in length with 1.75mS between.

Do they always look that way, or do they change in response to the electric load?

blalor said...

I'm asking myself the same question. :-D This was the simplest of tests, literally the o'scope connected to the leads of the photodiode, one hand holding the probe and diode, and the other holding my laptop. In other words, I didn't stick around to look for correlations in the load! I was thinking that this could simply be line noise, or perhaps related to the AC voltage frequency (which I believe would vary according to the load on the generators). I hadn't gotten as far as calculating the 5kHz rate, however, and that doesn't seem like it'd relate to 60Hz that well... :-)

I'll have to see what I can whack together. I hadn't planned on anything more complex than counting the flashes, but I might be able to work in a frequency counter.

jon said...

Hey guys check out wwww.TheEnergyOwl.com . I have made a top of the line pc based power monitoring system designed for the centron meter. Of course if you would rather build one, I understand, it's always funner! Great info about the radio stuff.

Anonymous said...

Got Some meters from ebay,Itron C1SR, and GE I-210 Which made it easy to get inside and get some info on the chips inside. This was verry interesting on the GE I-210 which has A serial optical port on the front. Austin International has A hanheld for around $300 used to read and test the AMR modules. Key in the itron number on the meter itron tag and you can read the data. It has low range but can easly be A start to makeing A custom unit. Also got some handheld Itron Readers from Ebay. They Had dead backup battery and halted due to needing to be reloaded I have no way to reload them. But the have the reader rf module with an antenna. model DCPN2 357L MADE BY ITRON. Anyone have any info here

jrussom said...

My Itron meter is interfaced with a Solar City solar energy system. It has just been installed. Once it is operational all the data is available via the "Solar Guard" module that broadcasts from the inverter to the internet web site via a broadband connection.
I enjoyed reading about all the hard work you have done. It would be easier to hook up a solar system--I think!

Anonymous said...

Looked further at The Iton reader handheld units I have, And noted the radio module in the Reader Has data present on the radio receiver output. When viewed on A scope, The test meter im reading was I-210 my owned personal meter with the itron Irt option, So I set it up 15 sec int. its operateing in bubble up mode. I can change the meter data and see A change in the waveform on the reader radio output. Just not sure how to make any sence out of what data is there.

Ken Novak said...

I see that Gregory Hancock says he's read his Itron - http://www.gridinsight.com/2009/02/the-beginning-of-the-direct-consumption-feedback-wave.html

And OpenAMR might be a place to record all findings - http://www.openamr.org/

Dave said...

I'm working in a similar direction to Gregory Hancock's work, though I haven't automatically decoded the packet data yet (I've had the project backgrounded for a while while I worked on other things).

I'm not sure where he's going with the technology, I wouldn't mind seeing some more details about the hardware and software.

I'm still at the point of getting Manchester decoding going. I have written an implementation of the patented decoding scheme referenced on the OpenAMR site, but I've got some more work to do to get it all working. It's been a while since I looked at it, but IIRC it is decoding data I produce from a second Arduino, but not the data I receive from the Itron meter.

Meters said...

As usual with IR LED's , you can see the IR light with a CCD, such as a video camera. The flashes are very brief though, so they don't show up very brightly on the video.Thanks for sharing this features.

Anonymous said...

It is rather interesting for me to read the post. Thanx for it. I like such themes and anything connected to this matter. I definitely want to read more soon.

Panamint Joe said...

Five kilobucks for one of these fancy, new digital power meters, you say? How's that supposed to save my utility (PG&E) money, even if they lay off/redeploy all their meter readers? My electrical usage varies between $20 and $40 per month, lower in summer, higher in the winter, even with several computers running 'round the clock. It will take PG&E a looooong time to recover the cost of the meter, plus the cost of having someone come out to swap it. Oh, I get it now: The meters are rigged to report 2x to 3x the actual power usage, as many upset customers have reported publicly, and they'll effectively jack up electric rates to have the customers pay for the cost of their utopian wet dream.

Panamint Joe said...

Re: Black & Decker Power Monitor.

If this gadget works like a remote-reading temperature sensor for my digital "atomic" clock, it's doomed to be a failed product. The temperature sensor in question is synchronized to the clock by putting the batteries into both units simultaneously. The temperature sensor sends a short data burst about every 5 minutes, then shuts down the transmitter to save power. The clock listens during a time window around the expect time of arrival of the data burst from the sensor, then stops receiving to save power. Since the temperature sensor uses a cheap frequency reference, the time when it transmits gradually drifts, and after a few days to a few weeks, loses synchronization with the clock and the clock displays "--" for the temperature. The video at the Black & Decker site says the units require initial synchronization. If they use simplex, one-way communication, the system is running open-loop and will eventually require someone to go outdoors with the receiver to resynchronize the system. Once that need to resynchronize gets to be every 2-3 weeks or more, I predict these gadgets will end up in the trash, at garage sales and on Craigslist.

Unknown said...

Wondering if you have gotten this to work yet, and/or if anyone else has. Some claim to already be reading their Itron meters, but no one has yet posted enough information. (you have posted the most.) also, Digikey no longer carries the 900 meg receiver in unit quantities.

I see that Itron has there new open meter, "OpenWay" Maybe I can talk my electric supplier into installing one of these.

Dave said...

hm, it looks like a couple of my replies here got lost. Let's see what I can remember.

Anon's comments about the availability of the Austin International readers for prices that aren't too insane are very interesting.

The primary challenge I'm running into though has to do with decoding the manchester stream (mostly just because I'm not familiar with the process and not sure how clean the incoming datastream is). I think that if I can get the code for that working then the hardware shouldn't be a big problem.

I ran across the WattVision monitoring system not long ago, and the TED5000. Since then though I see that there are a great number of these now on the market. Most don't use the RF feed though, probably just cheaper to do IR.

Bummer that this RF module I'm using isn't available any more. Probably any receiver in that covers this band with work though, the signal is designed to be easy to receive. Maybe I can find one that does the manchester decoding on it's own :)

@Panamint Joe; The $5k price tag is what I heard from the power company for the hand-held readers for the meters. The meters themselves probably cost a couple of hundred bucks.

Christopher Bergeron said...

Do you know what has happened to the OpenAMR project by chance? It appears to have died.

Is there any progress being made in this area, by chance?

Anonymous said...

The openway meters is zigbee

Anonymous said...

Hi. i'm really interested in reading my AMR water meter by RF. It is 910-920 spread spectrum so I imagine its the same sort of thing. Unfortunately, i'm not an electronics guy so I only understood about 20% of the above :) So how's it going? Did you figure it out?

buy viagra said...
This comment has been removed by a blog administrator.
Unknown said...

anyone know how i can reach Gregory Hancock in regards to his success with interfacing.

ThePPL said...

You could try greghancock at yahoo dot com
I wouldn't get your hopes up though. When he responded to me a couple of months ago, he mentioned that both the OpenAMR Project and Meterface are "dead from lack of public/customer interest". He suggested that I don't even bother wasting time on the ERT protocol unless I was planning to develop a commercial product.

Anonymous said...

I just had a Centron Openway meter installed. It sounds like this has a ZigBee radio inside it which could be used to read the meter. I can't seem to find an easily available product to do that though - any ideas?

Unknown said...

This is an excellent string of posts, thanks to all!
I found that Sequentric has licensed the ERT technology from iTron and created an ERT Home Gateway. See their website: http://sequentric.com/products/index.html

Dave said...

You could try the XBee for ZigBee radio components. You can find them in the Maker Shed for about $25:

http://www.makershed.com/ProductDetails.asp?ProductCode=MKAD14

I have no idea if you'd get protocol compatibility, I'm not sure how much control the XBee gives you.

Dave said...

I haven't had any time to put into this project, and I had noticed some commercial activity around RF meter reading, so I was kind of waiting around to see what commercial products showed up.

Project status hasn't changed. The radio module receives the RF data and downconverts it to what I'm presuming is a Manchester coded bitstream. I've coded in Arduino a Manchester decoder based on a patent description, but I'm not confident that it's doing the job correctly. I connected a second Arduino in place of the RF module to generate test data (it seems a lot easier to generate Manchester data than to decode it), but this creates a problem in that now I've got two unknowns.

Anyway, I'm not currently heavily involved in anything more pressing than playing some games, so if anyone would like to work together to put a little time into this, I'm game, leave a comment.

Gregory Hancock said...

After several months of hardware hacking, I finally have an ERT receiver/decoder scaled down to a USB "thumb drive" form factor that I think will be appealing to people. If you'd like to get on the preorder list, drop me a note.

E-mail: info(at)gridinsight.com. Price point is < $50. Works on Windows, Linux, and Mac as a standard serial device. Will post docs and more info to the site eventually.

Anonymous said...

Dave,

Does it use battery? If it need a battery, what brand it uses?

Please send email to info_nastusa.com.

Thank you.

John

Ground Loop said...

I read this project with interest, since my GE kV2 meter was just swapped for an iTron OpenWay meter. My new meter uses Zigbee for communication with other meters and the gas meters.

I was previously using the ANSI C12.18 optical port on the GE kV2 to log all the usage data from the meter itself. This is a very nice approach -- the same the meter readers use. The data is extensive, and well-documented in the ANSI specs.

I haven't yet learned the login password for the iTron meter, but I would expect the same software to work otherwise. Does anyone know the default Customer login for iTron?

Optical ANSI port is just RS-232 over IR.. very easy.

Cheers.

Anonymous said...

The password for the meter is kept secret to prevent reprogramming of the meter consumers. Zigbee will not give you control functionality in the Openway meter. A product will soon be available that a homeowner can mount in their house, similar to a thermostat, that will show you your consumption.

Paul Fox said...

i'm impressed that gridinsight.com is offering a devkit. nice work. has anyone tried it? what about security? i'm getting mixed messages here regarding whether something like this will work with an arbitrary utility's installation.

i'm still working on a solution based on the IR LED. we'll see.

pgf said...

took a while, but i've successfully put together a home-brew project for monitoring my power consumption using the IR LED. since this page was a major inspiration, i thought i'd mention my project here -- it's hosted on sourceforge: irmetermon.sourceforge.net

jeffam70 said...

Thank you for creating this page! It was instrumental in helping me. I was interested in the IR output (I the same meter as posted here) and wired up a quick test circuit using an Infrared Phototransistor (Radio Shack: 276-0145) and a 390 ohm resistor (I'm using 5 vdc for my supply) and monitored it with my o'scope.

The meter's IR LED lights for 10 ms every time there's a 1 W/h change. The time between pulses depends on how much or how little power is being consumed. There is no other data presented by the IR LED... all indications are that it's an unmodulated, simple on/off output.

Unfortunately, it appears there is no "direction" information presented. I have a grid-tied solar electrical system, so multiple times a day my meter goes from forward to backwards depending on power consumption, production, conditions, etc. I was hoping for a 10 ms pulse when power is consumed, and some other pulse-width when power is produced. Because of this, I also think the commercial products that use this IR pulse will fail to be of any use to me. I'm hoping someone tells me I'm greatly mistaken.

Dave said...

Article link that might be interesting to anyone monitoring this:

Google will discontinue two of its products -- Google Health and Google PowerMeter -- after neither achieved the popularity necessary to continue them, according to the company.

Google Health, launched in May 2008, was intended as a service that aggregated health and wellness information. Users could create an account at google.com/health and import their medical records, lab results, prescription info and immunization histories.

http://latimesblogs.latimes.com/technology/2011/06/google-products-health-powermeter.html

Dave said...

Just so people know where I am on this; I've been holding off on doing any development while I see where the Grid Insight product ( http://www.gridinsight.com/products/amrusb-1/ ) ends up. Since it does exactly what I want at a good (projected) pricepoint, I don't want to sink a bunch of time into my own version if that one becomes available.

Thom said...

Dave,

Do you still have that "92 byte sample data from the OpenAMR project"? OpenAMR seems to be defunct, and the Wayback Machine doesn't have an archive of that page... :|

I've found the RFBee from SeeedStudio, which is an Arduino-compatible ATMega168 connected to a TI CC1100 radio. The radio chip is capable of OOK and Manchester decoding, so I'm optimistic that I can get everything working on an RFBee. Just have to figure out how to get it to pick up the OOK packets, and then decode the payload hopefully.

Dave said...

I do. Here is the data I have, provided by Greg Hancock, as a .gif file. One frame per row.

https://picasaweb.google.com/lh/photo/0jy9srMxC0_04-mJt-mH94BNiepT7Aqa1tYh1L0Q4tI?feat=embedwebsite

I have some simple C# code to extracts this data which I could post if anyone wants it. It basically just pulls out the data. It is based on the FileHelpers library, and the ouput looks like the below.

TimeOfs: 14 Interval: 204 Consumption:4089638 Change:11
11 10 34 48 58 37 13 15 21 15 30 37 14 16 16 22 9 18 14 27 13 14 13 14 13 13 16 22 42 15 15 15 13 27 51 31 14 4 4 4 4 5 3 4 4 4 4

TimeOfs: 5 Interval: 205 Consumption:4089647 Change:9
9 11 10 34 48 58 37 13 15 21 15 30 37 14 16 16 22 9 18 14 27 13 14 13 14 13 13 16 22 42 15 15 15 13 27 51 31 14 4 4 4 4 5 3 4 4 4

TimeOfs: 248 Interval: 206 Consumption:4089673 Change:26
26 9 11 10 34 48 58 37 13 15 21 15 30 37 14 16 16 22 9 18 14 27 13 14 13 14 13 13 16 22 42 15 15 15 13 27 51 31 14 4 4 4 4 5 3 4 4

David J said...

It would mean a lot to be able to see the c# code!

bjmetershop said...

The centron IR port is a Form B output that opens on what would be a disk revoulation on the old disk type meters. The rest is noise between pulses. The port is uesed to check meter calibration

Hector said...

http://www.gridinsight.com/products/amrusb-1/

Please I would like to know if this device work fine (real) or is lie.

Please Help me, I will apreciate

Dave said...

From what I have seen, the AMRUSB-1 is based on an earlier functional hardware design that definitely worked, but I don't know what's going on with production.

EE at the Power Co said...

Cool tech blog. I am the Sr Engineer for a very large utility in charge of evaluating AMR and AMI technologies. If you want to read messages from an Itron ERT (in plain english) you can purchase this device from
http://www.aztechmeter.com/cms.
So simple our CEO was able to set it up himself ;o) This works for all the ERTS in my territory (11 midwest states). There is not any encryption, as these systems are one way data. The meter is not listening and won't accept commands from you. As the country moves to AMI / 2 way systems, you won't be able to listen in. Security is much higher. The good news is that there are In Home energy displays using the newer meters+Zigbee Certification. Ask your utility about them.

Anonymous said...

I have a quick question, I have an industrial Itron Sentinel Solid State SS1S1T meter. It is read through and IR port by a probe. The question is whether this meter generates and emits RF or where can I find out more about this meter. Thank you.

Rusty said...

To Panamint Joe:

The PG&E meters cost about $120 and are very (< 0.2% over full temperature) accurate. Actually pretty amazing given that they have to last more than 20 years.

If you are comparing the new ones to the old 'spinning disk' designs... guess which one reads true?

electrical test and tagging said...

What a pretty cool technology you have in your home. Well, you definitely have a total control of what is going on inside your home. Nice and interesting article.

unbrako distributors said...

Wow that electric meter reader has a lot of uses. But the utility guys should not rely on it totally, once it malfunctions then they still have to do the reading manually.

prince hotel honolulu said...
This comment has been removed by a blog administrator.
congressive said...

Thought this PDF doc "Camden Pairs Itron Meters, Automated Meter Reading for Impressive Results - City gains efficiency and additional revenues" from Itron would be of interest here, especially this paragraph: "We put five of these meters alongside five new electromechanical meters. After one month, the CENTRON R300 meters proved their ability to measure energy usage not measured by the electromechanical meters. This accuracy showed two kilowatt hours more than the electromechanical meters. That does not sound like much of a difference, but when it is multiplied by 10,000 end points, it adds up,” said Hastings."

Positively Orwellian. Because these black boxes registered consistently higher readings than electromechanical meters, they were "more accurate." What utility company wouldn't jump for joy at that figure. This is a blatant "wink and a nod" to utilities to not worry - they'll get their investment back sooner than they thought.

Electrical Contractors said...

Thanks for reposting this research. Very informative. “Most of the below is from some research I did a year ago and posted to Mark Turner's blog.”

Anonymous said...

I opened an Itron OpenWay meter and could not find any antennas (only circuit boards). Any ideas on how to locate and disconnect the transmission antenna?

jeffam70 said...

I work in the electronics industry. I haven't seen the inside of that meter, but if there's no obvious antenna, then it's probably using a trace antenna design or a chip antenna.

Search Google Images (http://www.google.com/imghp) for trace antenna and also for chip antenna to see examples.

Anonymous said...

Can anyone read a packet from Itron meter? What is the data format?

Dave said...

I've been able to read the coded data from mine and decode by hand, but I haven't gotten around to getting my AVR-based decoder going (mostly due to other projects distracting me, and also because I was waiting around to see what happened with OpenAMR).

Most recently I have obtained one of those RTL-SDR usb devices to try with the meter. If it works it should reduce the external hardware to just the SDR radio and a small program. That would be very nice.

Anyway, here's what I've got for packet formatting, from my C# code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FileHelpers;

namespace AC0KG.ItronErt.DataFrames
{
[FixedLengthRecord()]
public class ItronErtM45FileHelper
{
[FieldFixedLength(55)]
public string Preamble; //should be 1010101010101010001011010100011000111000101110011000110

[FieldFixedLength(8)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int Version;

[FieldFixedLength(8)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int ErtType;

[FieldFixedLength(32)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int ErtSerial;

[FieldFixedLength(8)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int ConsumptionInterval;

[FieldFixedLength(8)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int ProgramingState;

[FieldFixedLength(112)]
public string Unknown1;

[FieldFixedLength(32)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int Consumption;

//IdmField(Offset = 263, BitCount = 9, Elements = 47, Converter = typeof(DataConverters.IntConverter))
[FieldFixedLength(9), FieldArrayLength(47)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int[] Intervals;

[FieldFixedLength(16)]
[FieldConverter(typeof(BinaryStrToIntConverter))]
public int TimeOffset;

[FieldFixedLength(34)]
public string Unknown2;

///
/// Convert a string of binary digits ('10110') to an integer (22).
///
internal class BinaryStrToIntConverter : ConverterBase
{
public override object StringToField(string from)
{
// Convert the input string to an integer while
// indicating that the string representation is base 2.
return System.Convert.ToInt32(from, 2);
}

public override string FieldToString(object from)
{
// Convert back the other way.
return System.Convert.ToString((Int32)from, 2);
}
}
}
}

Anonymous said...

Hi David,

Thank you for C code.

I used TI's CC1101 device, and can read the data from GE/Itron electricity meter. But cannot decode the packet even though I know the Sync word. Can you help?
By the way, what is your email?

Dave said...

I believe the data stream is manchester encoded, do you have the manchester option turned on on the CC1101?

How many transitions are you seeing in the bitstream? That would probably give you an idea of whether it's doing the manchester decoding for you or not.

I can be reached at davidknaack@gmail.com

Anonymous said...

I'm trying to to get the TI's CC1101 working also. What settings (base freq, kbaud, expected packet count ..etc.) are you using? How are you viewing the packets/data?

Elliott Broidy said...

As always...thanks.

Yeroc said...
This comment has been removed by the author.
Yeroc said...

Has anyone been able to get in touch with Gregory Hancock (GridInsight) to purchase the AMRUSB-1? I've been trying to get in contact with him but haven't gotten any response back. Has anyone been able to purchase one of these?

Thanks,
Corey

Unknown said...

I was just checking in to see if you had had a chance to further research reading the Itron's ERT using rtl-sdr. I'd love to be able to monitor my power meter but SDR isn't exactly my area of expertise.

Unknown said...

Black & Decker as well as Blue Line offer meter reading devices that monitor the IR emitter on the meter. Rather than trying to decode the meter's RF transmission (a worthwhile poject in and by itself), if all you want is to get the meter reading here is an idea...

The base/inside unit is a receiver and I suspect that somewhere on the base unit's board there is a pulse generated each time the receiver receives a transmission. Someone skilled in the art (I am not) could likely find that point between the RF receiver and the micro that counts, process and displays the info. Thus you can use that point as an input to another micro such as the Arduino.

The B&D and Blue Line units show up on eBay for mid $30 and upwards and are a cost effective way into personal meter reading.

If someone finds that point ... let us know where it is.

Unknown said...

That said I found this on the Blue Line site:
"The Sensor does record a running total of the cumulative total, however the time the 2 units are not communicating, and the household usage in that timeframe will determine if cumulative data has been lost. For example, a break in communication for an hour with low usage may mean the total will update correctly when the communications are re-established, but after 3 days and a household that draws many kWh’s per day, will mean that the total will not jump to cover the missed time.

Upon reconnection, if the data in the communication break has indeed been lost, the total will simply start counting up again from the last value."

So there may or may not be a "pulse" between the RF receiver and the micro.

Anonymous said...

Now there is a project called rtlamr for decoding these with rtl-sdr

Gregg said...

A very old blog but ill add a good link for information as it helped me

http://www.lamaisonsimon.fr/wiki/doku.php?id=maison2:compteur_d_eau:compteur_d_eau

it needs translating from french but some good stuff.

ed pills said...

Greate article. Keep posting such kind of information on your page. Im really impressed by it.
Hello there, You've performed a fantastic job. I will certainly digg it and for my part recommend to my friends. I am sure they will be benefited from this website.