Power meter - Make or buy?

Hello community,

I stumbled over the iotawatt project by chance during my own little research about power metering.

An iotawatt would probably solve my task at once. I have been tinkering with esp2866, A/D converters like Ads1115 and inductive sensors for a while and have actually written my own ESP firmware to get an RMS value of what the inductive sensor sees. this works fine already on the breadboard. Also I just need three channels for a start, not 14. :slight_smile:

The only missing piece of the puzzle is a voltage reference to get the U/I phase to be able to read real power values. And the software to do this.

Do you think I can use the iotawatt reference adapter and get something working, or are there probably a hundred corner issues lurking that iotawatt has already solved and trying to reinvent the wheel is a waste of time? Are the ads1115 sensors a sensible choice?

My main objective is of course trying to save some money because I have most of the required (or similar) hardware already, but I also want to learn a bit in the way.

What do you think? Make or buy?


LOL. It’s an adventure.

Seriously, about the ADS1115, while it’s a nice 16 bit ADC, I don’t think it’s appropriate for this application, for a couple of reasons:

The interface is I2C, which will work, but is not a robust way to communicate. SPI is the way to go.

It does 880 sps max. Let’s break that down. To do four channels, that’s 220 sps per channel. At 60Hz, that’s about three samples per cycle. A couple of orders of magnitude shy of what’s needed.

Even sampling just one channel, that would be about 15 samples per cycle, still an order of magnitude shy.

So that brings us back to the saving money thing. You will need to spring a couple of bucks + shipping for something like an MCP3204. But don’t put that credit card away too quickly. Hobbies can be expensive as well as fun.

LOL. It’s an adventure.

I’m sure it is. If I wanted no adventure I wouldn’t have started this kind of thing. :slight_smile:

About the sampling rate, I guess you’re right. I’m good with one sample every 10 seconds and the ADS1115 will provide enough samples to calculate an RMS value in 10s (assuming a sinusoidal waveform), but to determine phase using an inverse fourier transform or whatever it’s definitely not sufficient.

Do all of these work with the Iotawatt? https://www.ebay.de/itm/322676034608
Because I already bought four of them for my homegrown solution.
Just in case I decide to give up… :slight_smile:

Those CTs, if I read it correctly, are voltage type CTs. They produce 0-1V proportional to 0-30 primary Amps. IoTaWatt requires current transformers that produce 0-50mA proportional to the primary Amps. The YHDC model STC013-000 does that and is fully compatible with IoTaWatt.

Since you are a DIY person, you can open those up and remove the burden resistor inside to make them work with IoTaWatt. Configure as generic, with 1860 turns and about 3.0 degrees shift.

If you really want to learn, go for it.

But, the ADS1115 is not a good choice at all. If you want reasonable accuracy you really need to sample faster. There are also lots of energy monitoring chips, some as low as $3/channel.

Yes - I have the voltage type, 20 A max (the variant I bought), but removing the burden resistor is not a problem. I thought since I need 16A max, the ones with lower amperage would give better precision.
Will also have a look at other energy monitoring chips.