Hi Bob,
I have been recently looking for a power monitoring solution for my house after installing solar and came across IoTaWatt and I have to say this is by far the best solution I have seen. The work you have done on this is impressive, making it much more than most hacked solutions I have seen.
My use case is a little different than what IoTaWatt provides, and so I have been trying to understand the hardware so I can consider making my own board with some changes.
Do you mind if I ask a few questions about its design as I am trying to understand it as best I can but am a software engineer by trade and so a little slow with the hardware side of things?
I am basing these questions on the 4.3 schematic from github (revision c0bb95f096adf0cbdddb9c2e1ff9c784bcd33448).
The questions I have are:
-
Why is the fixed voltage shunt/reference required (Attached to C0 of MCP3208-0)
Also, the schematic labels it as 2V5 but from reading the spec of ADR510 I thought this should be 1V -
Did you try using the AC vref in as a power source for the circuit as well as sampling it?
I was considering rectifying and regulating this AC source to power everything in addition to sampling its voltage, but not sure what impact this will have on the quality of the AC voltage reference and wonder if you have measured/quantified what impact this might have?
The idea of needing two power sources is a slight deterrent for me -
Why is the RTC required?
-
Why is the separate ACBIAS and CT BIAS required?
-
Why are the LED’s connected to GPIO16 and GPI0 (ADCCS1)?
I don’t understand this logic (compared to just GPIO16 + GND, assuming GPIO supports current to drive 2x LEDs) unless is is something ESP8266 specific or some trick I don’t know about.
Ultimately the change I would like to make for my usage is to be able to use the same board to monitor pulse sensing for LED pulses from smart meters, and reed switch pulses from gas and water mains and I don’t require quite so many CT sensors
I figured I could still make use of the ADC for this job and just change how I provide the voltage ref for the ADC (an ADC is a little overkill for pulse monitoring but should work).
I was thinking of using a simple jumper on the board to configure the type of input sensor attached (unless I find a better solution). This would convert a given ADC input channel from measuring a CT sensor to measuring light using a phototransistor or output of a reed switch. I would then just rig up a 3.5mm plug to my appropriate sensor.
There are a few other changes I would consider as well but not as important to me (depending on what smart meter gets installed by my grid provider):
- Look into using the single AC vref as a power supply
- Expose one GPIO + SPI lines for a potential SPI colour sensor (not sure if this will work)
Some meters use green/red LED to show import/export instead of two separate red LEDs
Looking at the design it seems like you are out of GPIOs so would need to sacrifice something or add more complexity to do this. I really DONT want to do this if possible
I just want to say, thanks again for the amazing work you have done on this!