A cut down version of the heatpump monitor can be used as a WIFI energy monitor without the additional components used for the MBUS reader, RFM69 and other connectors.
BOM:
Resistor reference
The following resistors are included in the kit.
Quantity | Resistance | Colour code | Function |
8 | 470k (5%) | Yellow-purple-yellow | CT + ACAC Voltage dividers |
1 | 120k (blue, 1%) | Brown-red-black-orange | ACAC voltage divider top |
1 | 10k (blue, 1%) | Brown-black-black-red | ACAC voltage divider bottom |
3 | 10k (5%) | Brown-black-orange | Mixed use |
1 | 4.7k (5%) | Yellow-purple-red | DS18B20 Temperature sensing |
1 | 100k (5%) | Brown-black-yellow | Pulse counting dropdown |
1 | 100R (5%) | Brown-black-brown | LED current limiting resistor |
1 | 5.6k (5%) | Green-blue-red | Serial 5V to 3.3V level converter |
3 | CT burden resistors (1%) | see note |
Component values including resistor resistance and capacitor capacitance are printed on the PCB. See resistor color code graphic here to match the resistors images/resistor-color-chart.jpg.
Several of the resistors only have a reference name printed, the following are all part of the CT sensor and ACAC sensor biasing circuits and are all 470k resistors (470k (yellow-purple-yellow) was historically choosen to increase battery lifespan in battery powered nodes - lower values down to around 10k could be choosen instead here for a more stable biasing voltage):
VDT: Voltage Divider Top (for AC-AC Voltage sensor)
VDB: Voltage Divider Bottom (for AC-AC Voltage sensor)
VDT1: Voltage Divider Top 1 (for CT sensor 1)
VDB1: Voltage Divider Bottom 1 (for CT sensor 1)
VDT2: Voltage Divider Top 2 (for CT sensor 2)
VDB2: Voltage Divider Bottom 2 (for CT sensor 2)
VDT3: Voltage Divider Top 3 (for CT sensor 3)
VDB3: Voltage Divider Bottom 3 (for CT sensor 3)
CT Burden resistors:
The included burden resistor is 100 Ohms, this provides a AC power measurement range of 0 - 5.4 kW. A smaller burden resistor can be used instead for larger measurement range at lower resolution, 22 Ohms would provide 0 - 24 kW range. See Building Blocks guide CT sensors - interfacing with arduino
Example calculation:
Max Power = (((VREF ÷ 2) ÷ Burden resistance) × CT turns) × 230V ÷ sqrt(2)
Max Power = (((3.3V ÷ 2) ÷ 100R) × 2000 turns) × 230V ÷ sqrt(2)
Copy into calculator: (((3.3÷2)÷100)×2000)×230÷sqrt(2)
Burden resistor PCB name reference:
BUR1: Burden resistor 1 (for CT sensor 1)
BUR2: Burden resistor 2 (for CT sensor 2)
BUR3: Burden resistor 3 (for CT sensor 3)
Capacitors: C11, C13, C12, C19 all 10uF
The following image can also be used as a reference of component locations.
**Voltage regulator note:**The voltage regulator shown in the picture above is the large through-hole TC1262-3.3V, the board also supports the smaller MCP1825 surface mount voltage regulator.
Tip 1: It is usually easier to start by soldering the lower profile components first such as the resistors and to build up to the taller components.
Tip 2: Test that the ATmega328 part works first before soldering in the ESP8266 module so that any issues with the ATmega328 part can be isolated before adding the ESP WIFI part.
Check that the power supply voltages are all as expected before inserting the ATmega328 in the 28pin holder.
ESP8266 Supply capacitor: An additional 10uF is required across the supply to the ESP8266 module. The ground is top-left and 3.3v top-right.
ESP CH_PD and GPIO15 Solder jumpers Both of these solder jumpers need to be connected with a small blob of solder for the ESP module to work.
The energy monitor only firmware can be found here: https://github.com/openenergymonitor/HeatpumpMonitor/tree/master/HeatpumpMonitorTH/Firmware/Arduino/BasicEnergyMonitor
Use a USB to UART programmer connected to the 6-way UART header closest to the ATmega328 to upload this firmware using the Arduino IDE. There's a guide on uploading Arduino firmware here: http://openenergymonitor.org/emon/buildingblocks/setting-up-the-arduino-environment
The EmonESP ESP8266 Firmware and upload guide can be found here: https://github.com/openenergymonitor/EmonESP
GPIO0 Jumper: Place a jumper across the GPIO0 header just left of the ESP8266 module to place the ESP8266 module in bootloader mode. Power cycle the board to reset the ESP8266 module. Once the firmware is uploaded remove the GPIO0 jumper so that the ESP8266 starts up without going into bootloader mode at the next power cycle.