Highest Res Data Extraction on EmonPi

I am undertaking a project to see what the highest resolution data the EmonPi can achieve. The project is in regards to NILM.

I have an EmonPi, two CT’s and an AC voltage sensor setup

The plan

  1. Get highest possible data points for voltage and current. At the moment I am trying to get data every second on EmonCMS by changing “const int TIME_BETWEEN_READINGS= 5000;” to 1000. But cant seem to see any difference from the 5 second readings on EmonCMS

I was following comments by @TrystanLea in emonPi frequency of logging .

My next question is can it sample at a higher rate like every ms? I wouldnt necessarily need it to be sent to EmonCMS if I could take the raw CSV file straight itd be fine. I have read Sampling rate of emonLib

  1. The goal is to try see if I can notice the change between different load types resistive and inductive by doing a fast fourier transform, or differences in active and reactive

Note: I’m not attaching the CT’s to monitor whole household consumption yet just differences between resistive and inductive appliances individually.

Also is there anyway of gathering these readings when not connected to Wifi and sending them to the SD-card?

Any help or advice would be great,


There are two places to change: one is the time between readings, the other is the database as Trystan inferred.
The time between samples is in the front-end Atmel 328 processor that does the sampling, and you must recompile and reload that sketch to make a difference.

The standard sketch records the two channels in turn for 200 ms each, then sleeps for a little under 5 s. While sampling, it does around 50 sample pairs per 50 Hz cycle, so if you add in the time to process the readings and send it via the serial link to the RPi, to store or process the data there, you might just get near to your millisecond sample rate.

There’s no real possibility of doing that in the front end, it would have to be in the RPi.

emonCMS stores its data on the SD card anyway.

So, you might be able to get somewhere near to your goal, but I don’t think I’d start with an emonPi if I wanted to do what you’re proposing.

Thanks for the fast reply Robert, I’ll give your suggestions a try and see how I fair out.