Jack's blog

Deleted Current Cost protocol documents - UPDATED: Docs are back!

Update 5/1/2016: CurrentCost have kindly allowed me to put these docs back onto the GitHub wiki! The post below is just kept for posterity's sake...

I'm really sorry but I'm afraid I've had to remove the Current Cost protocol details from the GitHub wiki for my rfm_edf_ecomanager project.

Current Cost got in touch a little while ago. (My blog had showed up on one of their Google Alerts). They were very friendly and were genuinely interested in the work I had been doing. But they did request that I delete two wiki pages which describe the workings of the Current Cost protocols (reverse engineered by a group of us). So I have deleted those two pages.

The open-source advocate in me did consider defiantly keeping the documentation online. But I think the pragmatic, diplomatic and polite option is to comply with Current Cost's wishes. To start with, they have been very friendly (they haven't served me with a formal take-down notice or anything like that). And the smart metering world appears to be quite small so it would be a big mistake to annoy one of the major players! To be honest, I'm somewhat relieved that we're allowed to keep the code online.

rfm_edf_ecomanager code now works with the Arduino IDE

Just a very quick update: my rfm_edf_ecomanager C++ AVR code now should compile within the Arduino IDE.

Current Cost and EDF EcoManager RF protocols almost fully decoded

Thanks to the enormous help of Graham Murphy, Matt Thorpe and Paul Cooper, the wiki pages for the EDF EcoManager RF protocol and the Current Cost RF protocol are nearing completion. Of course, jump in if you have anything to add. Anyone with a github account can contribute.

And my EDF EcoManager C++ AVR code is ticking along. Still some distance from being usable "in the field" but getting there.

One quick random thought: for those of us who have been tinkering with the Current Cost RF protocol, it appeared rather odd that the data is "manchesterised". It occurred to me this afternoon that we can take advantage of this structure in the data to validate the data. A little more discussion on the wiki.

UPDATE 30/10/2012

Current Cost have asked me to remove the protocol documentation from the wiki. More details here.

UPDATE 5/1/2016

Current cost have kindly allowed me to put the docs back onto the github wiki!

EDF EcoManager wiki

I've started a wiki page for technical details of the EDF EcoManager protocol. Please feel free to edit!

UPDATE 30/10/2012

Current Cost have asked me to remove the protocol documentation from the wiki. More details here.

UPDATE 5/1/2016

Current cost have kindly allowed me to put the docs back onto the github wiki!

Success pinging EDF IAM and receiving response.

EDF IAM with NanaodeEDF IAM with Nanaode

Yesterday my first EDF Individual Appliance Monitor arrived. These are very, very similar to Current Cost IAMs except for several vital differences:

  1. Each EDF IAM can both send and receive (the CC IAMs can only send).
  2. Each EDF IAM will only report its wattage when polled by the EDF EcoManager base station. This is great for my application because I should be able to completely avoid RF collisions.
  3. Each EDF IAM also has a relay to turn the appliance on or off. This relay can be activated using the manual override switch on the EDF IAM or over RF
  4. The packets appear to include a simple checksum! (The CC Transmitters don't bother with a checksum.)

I've made good progress today. I think I can now reliably talk to my EDF IAM and get replies.

Success receiving Current Cost RF data using RFM01 and RFM12b

At last! Some successes! Yesterday I finally managed to receive Current Cost RF packets using an RFM01 (the receiver module used on the Current Cost EnviR) and today I got my RFM12b transciever successfully receiving packets too! The RFM01 code is here and the RFM12b code is here. The code is still rather scruffy because I'm still very much in the prototyping stage. I've started attempting to send pings to my new EDF IAM but haven't succeeded yet. I'll blog with more details soon.

Blew up my laptop sniffing SPI bus of IAM!

I did something dumb. And expensive. And potentially dangerous. I blew up my laptop! How did I achieve this amazing feat? By connecting a Current Cost Individual Appliance Monitor to my laptop via a Bus Pirate (note the burnt patch of PCB on the top right of the photo!). I took care to make sure I was connecting the correct SDI lines, just as I had successfully done when sniffing data from my EnviR.

So why did I blow my laptop by connecting to an IAM?

Sniffing SPI data from my Current Cost EnviR

I've successfully sniffed SPI data from my Current Cost EnviR (firmware v 1.29) using a Bus Pirate.

Here's the back of the EnviR PCB. I soldered some wires onto the RFM01 module to make it a little easier to sniff data from the device:

The Bus Pirate is wonderfully easy to use. Just connect it up to the EnviR. Once the Bus Pirate is connected to a laptop, you can start talking to it using screen /dev/ttyUSB0 115200. Put the Bus Pirate into SPI mode and then start sniffing by typing (1). Easy peasy. Below are the results from some SPI bus sniffing...

Other wireless kit in our home

These are just some quick notes where I aim to list all the wireless kit in our home and the frequency on which they operate, so I can be confident that the 433MHz packets I'm seeing are from Current Cost kit.

Current Cost EnviR tear down

I may have to reverse engineer some parts of the Current Cost RF protocol. The first step may be to sniff the SPI bus between the EnviR's PIC and the RF module. Hence I've taken the EnviR apart. Here's what it looks like inside...


It's very easy to pull apart. You just need to tease the back of the plastic case away from the front using a thin but wide screw driver:


Subscribe to RSS - Jack's blog