<figure><img src="image_1.png" /></figure>

HAL
open science

# Open source low-cost power monitoring system

Shane Oberloier, Joshua Pearce

► To cite this version:

Shane Oberloier, Joshua Pearce. Open source low-cost power monitoring system. HardwareX, 2018, 4, pp.e00044. 10.1016/j ohx.2018.e00044. hal-02111358

HAL Id: hal-02111358

https://hal.science/hal-02111358

Submitted on 26 Apr 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.png" /></figure>

ELSEVIER

Contents lists available at ScienceDirect

HardwareX

journal homepage: www.elsevier.com/locate/ohx

<figure><img src="image_4.png" /></figure>

# Open source low-cost power monitoring system

Shane Oberloier<sup>a</sup>, Joshua M. Pearce<sup>a,b,c,*</sup>

## ARTICLE INFO

**Article history:**

Received 23 July 2018

Received in revised form 28 August 2018

Accepted 1 October 2018

**Keywords:**

System monitoring

Data logger

Power monitoring

Open hardware

Circuit milling

Photovoltaic

Systems monitoring

Power

Current

Voltage

Building monitoring

Building energy

Green building

Building systems

Home energy monitor

Renewable energy

Energy

Electrical engineering

Engineering

## ABSTRACT

This study presents an entirely open-source, low-cost power monitoring system capable of many types of measurements including both loads and supplies such as solar photovoltaic systems. In addition, the system can be fabricated using only open source software and hardware. The design revolves around the Digital Universal Energy Logger (DUEL) Node, which is responsible for reading and properly scaling the voltage and current of a particular load, and then serializing it via an on-board ATTiny85 chip. The configuration of the DUEL node allows for custom sensitivity ranges, and can handle up to 50 A and 300 V. Up to 127 DUEL nodes communicate via Inter-Integrated Circuit (I2C) on a bus, which can be monitored and logged through an Arduino UNO, or other compatible microcontroller. Using accessible equipment, the DUEL node can be calibrated to a desirable accuracy and error. The DUEL nodes are also completely customizable, making them fit for any input range, where all commercially-available products are fixed range. The open source solution out performs commercial solutions as the price per measurement ($18.25) is significantly smaller, while the number of serviceable channels (127) is significantly higher.

© 2018 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).

## Specifications table

<table><tr><td>Hardware name</td><td>Open Source Low-Cost Power Monitoring System</td></tr><tr><td>Subject area</td><td>Engineering and Material Science</td></tr><tr><td>Hardware type</td><td>Electrical Engineering and Computer Science</td></tr><tr><td>Open Source License</td><td>GNU GPL v3</td></tr><tr><td>Cost of Hardware</td><td>$155.34</td></tr><tr><td>Source File Repository</td><td>Open Science Framework: https://osf.io/8keau/</td></tr></table>

<footnote><sup>a</sup>Department of Electrical & Computer Engineering, Michigan Technological University, USA</footnote>

<footnote><sup>b</sup>Department of Materials Science & Engineering, Michigan Technological University, USA</footnote>

<footnote><sup>c</sup>Department of Electronics and Nanoengineering, School of Electrical Engineering, Aalto University, Espoo, Finland</footnote>

<footnote>* Corresponding author at: 601 M&M Building, 1400 Townsend Drive, Houghton, MI 49931-1295, USA.
E-mail address: pearce@mtu.edu (J.M. Pearce).</footnote>
# 1. Hardware in context

As the open source method of technological development [1] has moved aggressively into technically-sophisticated scientific hardware [2-8], there has been another push towards open source appropriate technology (OSAT) for sustainable development [9-11]. One leading example of OSAT is the work by Open Source Ecology (OSE) to fabricate the tools needed for civilization itself [12]. OSE has identified the top 50 most relevant machines to comfortably sustain civilization [13]. OSE uses a model where the design is global and open source, but the manufacturing is distributed, local peer production [14,15]. One of the main pillars of OSE's plan is distribution on every level: distributed agriculture, manufacturing, and energy production [12].

The OSE mindset has fostered the development of the Open Building Institute (OBI), which was created to design and build comfortable and highly functional homes, such as their first model shown in Fig. 1 [16]. OBI houses can be built using OSE's Open Village Construction Set and are designed to be ecologically responsible, scalable, and replicable in the fully open source sense. Ideally these houses are constructed and powered using a sustainable source of electric power such as solar photovoltaic (PV) technology [17], which converts sunlight directly into electricity. Thus, the current designs of OBI all utilize building integrated photovoltaics (BIPV) for energy generation as it has distinct advantages in reducing ecological impact [18], net energy [19] and cost [20]. The OBI building is optimized to supply multiple different configurations of power (i.e. 5 V, 12 V, 24 V, 48 V, and 120VAC), in order to cut down on conversion losses (energy conversion processes always result in energy loss [21]). In order to fully understand the designs, and provide valuable feedback in order to enable the OBI design to evolve technically there is a need for a low-cost, flexible and open source monitoring system to log the consumption and generation of electricity.

Some commercial solutions exist for an energy monitoring systems, including the Neurio [22], the Eyedro EHWEM1 [23], the Smappee [24], and CURB [25]. These cost of these solutions range from $200 to $400 [22,25]. The designs are all proprietary, and are capable of taking very few measurements [22] (e.g. the Neurio can only measure 2 AC currents).

There are also many designs for energy monitoring published in the literature. Some of these designs rely on commercially available industrial components [26-28], which severely drive up costs, minimize customization, and decrease accessibility. Many are built around the popular Arduino prototyping platform [29-31]. Some are built for user conveyance by highly integrating the usage of a smartphone [32,33]. Internet of things (IoT) capability is the premier focus of some designs [34,35]. Others rely on software packages such as LabVIEW which is not open source, and has a non-trivial license cost (e.g. $399-$4999) [36-38]. Furthermore, some designs do not provide permanent hardy solutions and lack integration [39].

Lastly, some relevant academic designs only report on results, and do not share details to pertinent components, which limit their utility [40-48]. Finally, there is an open source alternative commercially available, called the OpenEnergyMonitor [49]. The design consists of multiple modules with a relatively high cost of $150 per channel (2 AC current measurements,

<figure><img src="image_5.png" /><figcaption>**Fig. 1.** A simple sustainable house designed by OBI. The proposed system would monitor loads and sources such as the 3000 W PV panels, LED lighting, and water pump. Stars denote measurable electrical devices. Adapted from [16]</figcaption></figure>
1 AC voltage measurement). The solution does not appear to be able to be used for custom DC measurements, which can be a major pitfall for this system for some applications such as solar photovoltaic systems.

In order to overcome these limitations of existing energy monitoring systems this study presents an entirely open-source, low-cost power monitoring system, which is capable of many types of measurements for both loads and generation sources such as solar photovoltaic systems, wind power, microhydro, biomass, or fuel cells.

## 2. Hardware description

The design revolves around the Digital Universal Energy Logger (DUEL) node, which is responsible for reading and properly scaling the voltage and current of a particular load and then serializing it via an on board ATTiny85 chip. The configuration of the DUEL node allows for design-able sensitivity ranges, and can handle up to 50 amps and 400 V. DUEL nodes communicate via Inter-Integrated Circuit (I2C), which allows up to 127 nodes on a bus [50]. The bus can be monitored and logged through an Arduino UNO, or any other I2C compatible microcontroller. All designs are made such that they can be manufactured using OSE's proposed tool-set. The proposed design is simple, automatic, and meets the requirements of OBI. Equipped with this system, OBI or other users can make informed decisions on optimization of their power systems for a given building or home.

This hardware, although specifically designed for OBI can be used for the following:

* Monitoring electricity generation systems (e.g. a PV system of virtually any size)

* Measuring energy converter efficiency

* High channel count, high precision measurement platform for Arduino

* Measuring power consumption of individual devices

### 2.1. Overall system

The system is split into two sets of components: 1) the main hub, and 2) the DUEL nodes. The main hub consists of an Arduino UNO with a small display and SD card breakout, a power supply, and a custom RJ-45 breakout board. The main hub communicates with the sensor nodes via I2C. Because of this, it is necessary to introduce a splitting-hub to facilitate multiple sensors. An example configuration can be seen in Fig. 2.

The DUEL node is a custom circuit implementing an ATTiny85 used for measurement and I2C serialization. The DUEL node is a universal node for virtually any power range. The node measures voltage directly through a single diode rectifier and 10 KΩ potentiometer. Current is measured using a CQ2334 Hall effect current sensor [51], amplified by an operational amplifier circuit. Though the standard DUEL nodes utilize the CQ2334, it is possible to construct the node without the Hall effect sensor, and instead break out signals with header pins, and hook up an external Hall effect, or current transformer for non-invasive sensing [52]. This functionality allows the DUEL node to be configured for a wide range of current and voltage measurements.

<figure><img src="image_6.png" /><figcaption>Fig. 2. An example system setup with 9 DUEL nodes, and 2 splitting hubs.</figcaption></figure>
## 2.2. Design files

All electrical designs are carried out in KiCAD EDA [53] and follow the general design procedure for free and open source scientific hardware [54].

### 2.2.1. Main hub

The measurement hub is designed around the Arduino UNO. There are a few justifications for this choice. First, there is a well-established support community for open source Arduino technology, as well as many open-source programs available for reference [55,56]. Second, the Arduino is a component used in many other OSE designs (e.g. The Compressed Earth Brick Press and Micro-Inverter [57,58]), so this will prevent more on-stock back up components. Lastly, the Arduino UNO will have more than enough spare input and outputs (IO) that may be used for future expansion and enhancements. The system is equipped with peripherals in order to handle debugging, power and communication, with the rest of the system, human machine interface (HMI) and data storage, as shown in Figs. 3 and 4.

I2C is chosen as the method of communication with DUEL nodes due its single bus connection style, as seen in Fig. 5, which allows for a 7 bit address field that in turn allows for 127 addressable nodes [50]. Serial communication has the

<figure><img src="image_7.png" /><figcaption>Fig. 3. An overview of the Main Hub.</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 4. The Main Hub.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Fig. 5. The I2C connection standard. The pull-up resistors may be managed internally by the Arduino.</figcaption></figure>
benefit of being much more noise tolerant [59], which prevents transmitted analog signals from the DUEL nodes from being flawed by noise, and forcing an overly complex multiplexing circuit [60]. Although the max sampling rate will be significantly reduced because of the serialization, it is important to note that the system is designed for long term analysis and high-resolution data is not the objective.

The RTC module is connected to the Arduino UNO via I2C. With each power measurement, the RTC is polled and the current date and time is recorded. This will be used for synchronization during the data analysis. In order to cut costs, a delay function can be used to time sample intervals, however in order for this method to work consistently, the number of nodes cannot be changed on the fly, and the firmware cannot go under any revision without having to recalculate time delays.

A small 128x128 TFT display with a micro-SD card [61] is attached to the system. The module can communicate to the Arduino via serial peripheral interface (SPI) [61]. The display and SD card are selectable by respective chip select pins. This module is used to display system status, as well as log information. The details to be listed are:

* RTC Time/Date

* Sampling = True/False

* Current Reading Values

* #Errors Detected

* SD card fill percentage

The Arduino is also connected to an RJ-45 female connector, in order to allow inter-communication with the DUEL nodes. The wiring of the display/SD and RJ-45 is condensed into a circuit board "shield" and can be easily plugged into the board.

The software for the main hub is developed in the Arduino IDE [62]. The IDE is chosen for its capability for rapid development, and large community support, as well as its compatibility with multiple designs [62]. The firmware utilizes Wire.h for I2C communication, as well as Arduino's stdio (which is not syntactically included in the firmware, as the IDE includes it as a default) for serial debugging. The software is designed from the logic in Fig. 6. To clarify, the firmware waits a predetermined amount of time and will begin polling each DUEL node for measurements once it is time.

The entire main-hub costs a total of US$62.37 in materials to produce. The design is made using entirely open source components, and has potential to be completely integrated as a means of cost savings. However, it should be noted that integration will cut down on the modulated design, decreasing maintainability. A cost breakdown of the design can be seen in the Bill of Materials section. Additionally, the schematic and board layout can be viewed in Figs. 7 and 8 respectively.

### 2.2.2. Splitting hub

The splitting-hub (Figs. 9 and 10) is a simple distribution board for the I2C, as well as power. Each port has identical connections (meaning that no port is unique or intended for a main host). Each port is connected to an LED which is enabled and disabled by the connected node. This LED can be used as a debug mechanism to indicate proper connection and communication.

Splitting-hubs can be daisy-chained in order to further expand channel availability. Though power can be distributed through the RJ45 connection from one splitting-hub to the next, it is not recommended, as ground loops can be created, as well as resistive losses may compound [60]. The daisy chain should be configured in a star formation to reduce noise potential [63]. Lastly it should be noted that only a DUEL node is capable of controlling LED's. Therefore that indication will not propagate through splitting node inter-connections. Only the LED at the connection point of the DUEL node will be controllable.

The design consists of a milled circuit board with a 3-D printed enclosure and costs a total of $7.17 to manufacture. The cost breakdown can be seen in the Bill of Materials section. The schematic and board layout can be viewed in Figs. 11 and 12, respectively.

#### 2.2.2.1. Duel node.
The measurement node (Fig. 13) is designed as a non-specialized circuit with room for nearly endless customization. This customization is made possible by the dual op-amp signal conditioning circuit, as well as the ability to replace the on-board sensor with an external larger ranged device. The conditioning circuit applies a gain and offset to the signal coming from the current sensor. This allows for full utilization of the 10 bit 0–5 V range of the ATTiny analog to digital converter (ADC) [64]. Voltage is simply rectified by a diode, and divided by a 10 K potentiometer. The potentiometer can be adjusted to divide any input range to the ADC max of 5 V. Additionally, each signal (both current and voltage) is fed through a low-pass filter to remove high frequency noise. The RC filter utilizes a 10 K resistor, and 0.1μF capacitor, giving a cutoff frequency of 160 Hz.

The output of the current conditioning circuit is determined by equation 1 [65]. Where $R_p$ is the position of the potentiometer, $R_g$ is determined from Table 1, and $R_f$ is 10 kΩ. If using the on board Hall effect sensor, typically $R_p$ will be set to 50%, in order to have an input offset of -2.5 V. The reason for this is the CQ2334 outputs on a 0 to 5 V scale, where 0 V indicates -50A, 2.5 V indicates 0A, and 5 V indicates 50A [51]. The -2.5 V offset allows for measurement positive current only, though, at a higher resolution.

$$V_{out} = (V_i - 5R_p) \left( \frac{R_g}{R_f} - 1 \right) \qquad (1)$$
<figure><img src="image_10.png" /><figcaption>Fig. 6. The software flow programmed onto the Arduino in the main hub.</figcaption></figure>

The voltage input circuit can be adjusted simply by changing the position of the 10 kΩ potentiometer. The potentiometer acts as a voltage divider and brings the input voltage down to the 5 V range. Additionally, there is a 0.7 V drop across the rectifying diode, which must be taken into account. In Table 2, potentiometer positions are calculated for various common voltage ranges.

The aforementioned Hall effect sensor is rated for 50A [51]. However for high current applications, it is recommended that this feature is not used (not soldered in place) and an external current transform or Hall effect sensor is used. If an external sensor is used, the excitation and signal pins can be broken out using header pins placed at the signal pins used for the Hall effect sensor.

After the signals are conditioned, they are fed into the ADC input of the ATTiny. The ATTiny is set to constantly acquire data and keep a cumulative average using Equation 2 [59]. The DUEL node continues to make measurements in between data requests from the master hub. This insures a more accurate representation of the power consumption over the sample interval. The code can be easily reconfigured to only measure and reply with data as requested.
<figure><img src="image_11.png" /><figcaption>Fig. 7. The Main Hub Schematic.</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Fig. 8. The Main Hub board Layout.</figcaption></figure>

<figure><img src="image_13.png" /><figcaption>Fig. 9. The splitting-hub is used for connecting multiple DUEL nodes to the main-hub.</figcaption></figure>
<figure><img src="image_14.png" /><figcaption>Fig. 10. The splitting-hub.</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>Fig. 11. Splitting Hub Schematic.</figcaption></figure>

$$V_{\text{avg}} = V_{\text{avg-previous}} + \frac{V_{\text{meas}} - V_{\text{avg-previous}}}{\text{SampleCount}} \quad (2)$$

The final design for the DUEL node can be seen in Fig. 14. The total cost is acquired in the Table below, and is found to be $18.25.

The design is placed onto a 9x4cm single layer board, seen in Fig. 15.

Much like the main-hub, the firmware for the DUEL node is developed in the Arduino IDE. IDE cannot program the ATTiny85 in the default configuration, and multiple configuration steps must be gone through in order to program the chip [66]. The ATTiny can be programmed by configuring an Arduino UNO as an ISP, and then connecting it to an RJ-45 breakout board (BOB). The necessary connections from the Arduino UNO to the BOB are detailed in Table 3 below.

The designed firmware utilizes the tinyWireS.h library in order to send signals via I2C to the measurement node. The data packet structure consists of 4 bytes, two for the current measurement, and two for the voltage measurement. The final firmware design follows the flowchart in Fig. 16.

### 3. Design files summary

All files are available at [67] and are described in Table 5.

Main_Hub, BOB, and Duel.pro can be edited in KiCAD. They reference to the schematic, and PCB for each respective component. Duel.ino and Main_Hub.ino contain the Arduino based firmware for the DUEL and Main-hub, respectively. Enclosures is the generic location for all design files for the component enclosures and in separate 3-D printing files folder.
<figure><img src="image_16.png" /><figcaption>Fig. 12. The Splitting Hub Board Layout.</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>Fig. 13. The DUEL node is capable of customized for fixed power measurement ranges, and outputs the data via I2C.</figcaption></figure>

<table><caption>**Table 1**
Resistor selection for current conditioning.</caption><caption>Current Conditioning (With Hall Effect Sensor)</caption><thead><tr><th>Range (A)</th><th>Gain</th><th>Offset</th><th>Pot Position</th><th>R<sub>g</sub></th><th>Accuracy (±A)</th></tr></thead><tbody><tr><td>0.5</td><td>200</td><td>-500</td><td>50</td><td>50</td><td>0.0004</td></tr><tr><td>1</td><td>100</td><td>-250</td><td>50</td><td>100</td><td>0.0009</td></tr><tr><td>5</td><td>20</td><td>-50</td><td>50</td><td>520</td><td>0.0048</td></tr><tr><td>10</td><td>10</td><td>-25</td><td>50</td><td>1.1 K</td><td>0.0097</td></tr><tr><td>25</td><td>4</td><td>-10</td><td>50</td><td>3.3 K</td><td>0.0244</td></tr><tr><td>50</td><td>2</td><td>-5</td><td>50</td><td>10 K</td><td>0.0488</td></tr></tbody></table>

The enclosures are printed using a $17.99, 1 kg spool of PLA on a Creality Ender 3 3-D printer. A layer height of 0.2 mm and infill of 30% is used.

## 4. Bill of materials

The bill of materials is shown in Tables 6–8.
<table><caption>**Table 2**
Potentiometer configuration for voltage conditioning.</caption><thead><tr><th colspan="3">Voltage Conditioning</th></tr><tr><th>Range (V)</th><th>Pot Position (%)</th><th>Accuracy (±V)</th></tr></thead><tbody><tr><td>5</td><td>100</td><td>0.004</td></tr><tr><td>12</td><td>44</td><td>0.011</td></tr><tr><td>20</td><td>26</td><td>0.019</td></tr><tr><td>24</td><td>21</td><td>0.023</td></tr><tr><td>48</td><td>10</td><td>0.046</td></tr><tr><td>120</td><td>4</td><td>0.117</td></tr></tbody></table>

<figure><img src="image_18.png" /><figcaption>**Fig. 14.** The complete schematic for the DUEL node.</figcaption></figure>

<figure><img src="image_19.png" /><figcaption>**Fig. 15.** The single layer board of the DUEL node.</figcaption></figure>

<table><caption>**Table 3**
Connections to program DUEL with Arduino UNO.</caption><thead><tr><th>Arduino Pin</th><th>BOB Pin</th><th>Connection Description</th></tr></thead><tbody><tr><td>5 V</td><td>Pin 8</td><td>Power</td></tr><tr><td>GND</td><td>Pin 7</td><td>Ground</td></tr><tr><td>Pin 13</td><td>Pin 3</td><td>SCL</td></tr><tr><td>Pin 12</td><td>Pin 2</td><td>MISO</td></tr><tr><td>Pin 11</td><td>Pin 1</td><td>MOSI</td></tr><tr><td>Pin 10</td><td>Pin 4</td><td>Reset</td></tr></tbody></table>
<figure><img src="image_20.png" /><figcaption>Fig. 16. The firmware flow chart for the DUEL node.</figcaption></figure>
<caption>**Table 5**</caption>

A description of project files available on the repository [66] and the registration at https://osf.io/9rts5/.

<table><caption>**Table 6**</caption><thead><tr><th>Design file name</th><th>File type</th><th>Open source license</th><th>Location of the file</th></tr></thead><tbody><tr><td>Main_Hub.Pro</td><td>KiCAD Project</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>Main hub.csv</td><td>CSV</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>Main hub_encl.scad</td><td>CAD Model</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>Main hub.ino</td><td>Firmware</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>BOB.pro</td><td>KiCAD Project</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>BOB.csv</td><td>CSV</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>hub board.pro</td><td>KiCAD Project</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>hub board.csv</td><td>CSV BOM</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>hub board_encl.scad</td><td>CAD Model</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>DUEL.pro</td><td>KiCAD Project</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>DUEL.csv</td><td>CSV</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>DUEL_Node.ino</td><td>Firmware</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>DUEL_Node_AC.ino</td><td>Firmware</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr><tr><td>DUEL_Node_Encl.scad</td><td>CAD Model</td><td>GNU GPL v3</td><td>https://osf.io/9rts5/</td></tr></tbody></table>

Bill of Materials for the Main-Hub.

<table><caption>**Table 7**</caption><thead><tr><th>Designator</th><th>Component</th><th>Number</th><th>Cost per unit US$</th><th>Total cost</th><th>Source of materials</th><th>Material type</th></tr></thead><tbody><tr><td>US$</td><td>Source of materials</td><td>Material type</td><td></td><td></td><td></td><td></td></tr><tr><td>NA</td><td>Arduino UNO</td><td>1</td><td>$24.95</td><td>$24.95</td><td>Arduino.cc</td><td>NA</td></tr><tr><td>U1</td><td>128x128 TDT Display w/ uSD Card</td><td>1</td><td>$14.95</td><td>$14.95</td><td>Adafruit.com</td><td>NA</td></tr><tr><td>U2</td><td>Real Time Clock Module</td><td>1</td><td>$14.95</td><td>$14.95</td><td>Sparkfun.com</td><td>NA</td></tr><tr><td>NA</td><td>8 GB micro-SD card</td><td>1</td><td>$5.99</td><td>$5.99</td><td>Amazon.com</td><td>NA</td></tr><tr><td>NA</td><td>Single layer copper clad fiberglass</td><td>1</td><td>$0.42</td><td>$0.42</td><td>Amazon.com</td><td>NA</td></tr><tr><td>J1</td><td>RJ-45 Jack</td><td>1</td><td>$0.45</td><td>$0.45</td><td>Digikey.com</td><td>NA</td></tr><tr><td>J2-J4</td><td>Header Pins</td><td>32</td><td>$0.0175</td><td>$0.56</td><td>Digikey.com</td><td>NA</td></tr><tr><td>NA</td><td>3-D Printed enclosure</td><td>1</td><td>$0.47</td><td>$0.47</td><td>In House</td><td>PLA</td></tr><tr><td></td><td></td><td></td><td>Total:</td><td>$62.74</td><td></td><td></td></tr></tbody></table>

Bill of material for the Splitting Hub.

<table><caption>**Table 8**</caption><thead><tr><th>Designator</th><th>Component</th><th>Number</th><th>Cost per unit US$</th><th>Total cost US$</th><th>Source of materials</th><th>Material type</th></tr></thead><tbody><tr><td>NA</td><td>Single layer copper clad fiberglass</td><td>1</td><td>$0.42</td><td>$0.42</td><td>Amazon.com</td><td>NA</td></tr><tr><td>J1-J10</td><td>RJ-45 Jack</td><td>10</td><td>$0.45</td><td>$4.50</td><td>Digikey.com</td><td>NA</td></tr><tr><td>D1-D10</td><td>Red LED</td><td>10</td><td>$0.11</td><td>$1.19</td><td>Digikey.com</td><td>NA</td></tr><tr><td>R1-R10</td><td>1 K Resistor</td><td>10</td><td>$0.01</td><td>$0.16</td><td>Digikey.com</td><td>NA</td></tr><tr><td>J11-J12</td><td>2 Pin Screw Terminal Block</td><td>2</td><td>$0.40</td><td>$0.80</td><td>Digikey.com</td><td>NA</td></tr><tr><td>NA</td><td>3-D Printed enclosure</td><td>1</td><td>$0.37</td><td>$0.37</td><td>In House</td><td>PLA</td></tr><tr><td></td><td></td><td></td><td>Total</td><td>$7.44</td><td></td><td></td></tr></tbody></table>

Bill of material for the DUEL node.

<table><thead><tr><th>Designator</th><th>Component</th><th>Number</th><th>Cost per unit (US$)</th><th>Total cost -</th><th>Source of materials</th><th>Material type</th></tr></thead><tbody><tr><td>(US$)</td><td>Source of materials</td><td>Material type</td><td></td><td></td><td></td><td></td></tr><tr><td>NA</td><td>Single layer copper clad fiber-glass</td><td>1</td><td>$0.42</td><td>$0.42</td><td>Amazon.com</td><td>NA</td></tr><tr><td>C1, C2, C3, C4, C5</td><td>.1uF Cap</td><td>5</td><td>$0.15</td><td>$0.75</td><td>Digikey.com</td><td>NA</td></tr><tr><td>D2</td><td>Red LED</td><td>1</td><td>$0.13</td><td>$0.13</td><td>Digikey.com</td><td>NA</td></tr><tr><td>D1</td><td>Rectifier Diode</td><td>1</td><td>$0.32</td><td>$0.32</td><td>Digikey.com</td><td>NA</td></tr><tr><td>J1</td><td>4 Pos High Current Connector</td><td>1</td><td>$6.53</td><td>$6.53</td><td>Digikey.com</td><td>NA</td></tr><tr><td>J2</td><td>RJ45 Connector</td><td>1</td><td>$0.64</td><td>$0.64</td><td>Digikey.com</td><td>NA</td></tr><tr><td>R1, R2, R3, R5, R6</td><td>10 K Resistor</td><td>5</td><td>$0.01</td><td>$0.05</td><td>Digikey.com</td><td>NA</td></tr><tr><td>R4</td><td>1 K Resistor</td><td>1</td><td>$0.01</td><td>$0.01</td><td>Digikey.com</td><td>NA</td></tr><tr><td>RV1, RV2</td><td>10 K Potentiometer</td><td>2</td><td>0.88</td><td>1.76</td><td>Digikey.com</td><td>NA</td></tr><tr><td>U2</td><td>ATTiny85 Microcontroller</td><td>1</td><td>1.27</td><td>1.27</td><td>Digikey.com</td><td>NA</td></tr><tr><td>U1</td><td>CQ2334 50A Hall Effect Sensor</td><td>1</td><td>5.62</td><td>5.62</td><td>Digikey.com</td><td>NA</td></tr><tr><td>U3</td><td>MCP6002 Dual Op-Amp</td><td>1</td><td>0.35</td><td>0.35</td><td>Digikey.com</td><td>NA</td></tr><tr><td>NA</td><td>3-D Printed enclosure</td><td>1</td><td>$0.40</td><td>$0.40</td><td>In House</td><td>PLA</td></tr><tr><td></td><td></td><td></td><td>Total:</td><td>$18.25</td><td></td><td></td></tr></tbody></table>
## 4.1. Build instructions

All designs are made such that they can be milled on a low cost CNC mill [68] (or even a converted multi-material additive and subtractive system [69]), on a single layer board. The specific mill is not necessary, and the methods used for fabrication can be applied to any CNC router or mill. The CNC mill is used in order to expedite prototyping, but if one is not available, the circuits are also manufacturable using standard ferric chloride etching methods.

The circuit boards are exported to Gerber files in KiCAD, and then are turned to G-Code in an open source computer aided manufacturing program (CAM) called FlatCAM [70]. Multiple g-code files are generated in order to produce an accurate high density board, which is easy to assemble. The first pass uses a 1 mm carbide end mill to remove a bulk of the material around traces and pads. Any areas slimmer than 1 mm will not be touched by this mill. In the next pass, a 0.1 mm V-shaped engraving bit will finish the isolation routing, by going over the 1 mm end mill's path, as well as any of the traces untouched by the 1 mm end mill. Then a drilling pass is used to cut all holes smaller than a diameter of 1 mm. All holes large than 1 mm are cut in the next pass with the 1 mm carbide end mill. Finally the rectangular board outline is generated with a margin of 1 mm from all traces, and cut out with a 3.16 mm carbide end mill. For isolation routing, the engrave depth is 0.125 mm. A feed rate of 100 mm/min is used for all V-mill cutting, and 50 mm/min for all end mill cutting.

A common issue faced with most inexpensive circuit board mills is surface leveling. The raw copper clad fiberglass is not a uniformly flat along the surface and may vary much further than the engraving depth of 0.125 mm. Because of this, it is highly likely that the board will be defective, due to missed cuts in the engraving cycle.

The uneven height of the PCB raw material can be compensated by automatically moving the Z-axis to compensate for any curvature. The CNC control software, Copper Carve [71], has a feature which measures and compensates for this distortion. This software takes in a variable grid of evenly spaced height points, and adjusts each g-code command to follow an approximate contour based on the measurements. The height can simply be probed by connecting an alligator clamp from ground to the copper material, and another alligator clamp from the engraving bit to the Z-axis limit switch. When the cutting tool makes contact with the copper, the motion will be halted, and the Z-height can be manually input into the leveling software. It is recommended that 1 data point is collected for each square cm.

The DUEL node takes a total of 2 h to mill from start to finish. The edges of all freshly cut traces are rough, and highly prone to causing short-circuits. 320 grit sand paper (or any very fine equivalent) is used to sand the surface, making sure to stroke in all directions for a full smoothing effect. The finalized board is now ready to be cleaned, and assembled.

The board must be thoroughly cleaned with cotton swabs and isopropyl alcohol in order to remove the coating of copper and fiberglass dust that is left in the channels of the board. By exposing the board to UV light, the residue becomes more visible and can be cleaned more easily.

Lastly, the components can be soldered onto the circuit board. It is recommended that surface mount devices are soldered first. Do so by first wiping flux over all pads to help prevent solder bridges. Then apply a small amount of solder to each pad before soldering the component. Using forceps, the component is placed and soldered 1 pad at a time. Soldering in this fashion will cause the components to "hover" about any traces that may be passing under them, thereby reducing risks for short-circuits. Lastly, a multimeter set on the continuity setting should be used to verify no short circuits are present in the board. The board is then placed in the 3-D printed case as shown in Fig. 17.

## 5. Operation instructions

Each DUEL node is calibrated individually. The node is pre-programmed with either firmware for DC measurements or AC measurements. Regardless of configuration, the node will send raw ADC readings via I2C when a request is made of it. In

<figure><img src="image_21.png" /><figcaption>Fig. 17. The completed DUEL node.</figcaption></figure>
<figure><img src="image_22.png" /><figcaption>Fig. 18. The configuration for calibrating the voltage input of the DUEL node.</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>Fig. 19. The configuration for calibrating the current input of the DUEL node (10 Ohm 100 W resistance used).</figcaption></figure>

order to calibrate the voltage measurements, the node is wired according to the configuration in Fig. 18. Fig. 19 is used for calibrating current. For this procedure a Lavolta (BPS-305) DC power supply, a 10A 0-130VAC Variac, and a Fluke 187 True RMS multimeter (to verify supply output) are used, however other equivalent devices may be substituted.

The DUEL node must be connected to an Arduino (or the Main Hub) such that there is a valid I2C connection between the two. Then "Calibration Utility" firmware must be installed onto the Arduino. This procedure is made to automatically walk the user through the calibration process, and generate scaling coefficients. The utility goes through the following steps:

* Input the I2C address of the node

* Select type of calibration (Current, Voltage, or Both)

* Readings from the node will now start streaming. Using the supply, set the voltage and/or current to a known value. Type the known values into the serial interface to create calibration points. Repeat step 3 a max of 16 times.

* Once complete, the linear scaling coefficients, and calibration point data may be displayed

* The scaled data is streamed – allowing for a validation step

Using this process, a single node can be characterized in less than 5 min.

# 6. Validation and characterization

The testing procedure uses the same circuit configurations as the calibration feature (namely Figs. 18 and 19). It is important that points other than the values used for calibration are measured, in order to gauge the effectiveness of the linear scaling.

## 6.1. Validation by simulation

The current measurement scaling circuit is validated first through simulation in the Quite Universal Circuit Simulator (QUCS) [72]. The configuration is shown below in Fig. 20. For this simulation a simulated input voltage is created, representing a 10A AC current wave. The simulation is configured for both an AC frequency sweep, to verify the filter effectiveness, as well as a transient simulation to verify proper gain and offset functionality.
<figure><img src="image_24.png" /><figcaption>Fig. 20. The circuit used to simulate an AC current measurement.</figcaption></figure>

<figure><img src="image_25.png" /><figcaption>Fig. 21. The results of placing a simulated 10A AC input to the sensor. Additionally, a frequency response is generated.</figcaption></figure>

Though it is not in the physical circuit, an ideal diode is added to the output of the circuit. This is due to a limitation in QUCS that assumes an op-amp always has a positive and negative supply. The physical circuit only has access to a +5 V source, and will therefore saturate at 0 V for all input voltages below 0 V.

The simulation in QUCS has shown that the conditioning circuit is capable of applying both a controllable gain and offset. Some minor effects of the filter are observed in Fig. 21, such as the slight lag in voltage $V_{out}$ compared to $V_{in}$. This lag will not cause a measurement error. Additionally, the frequency response of the circuit is generated in a Bode plot. It shows that the designed cutout frequency of 160 Hz is indeed present.

## 6.2. Results from calibration procedure

The DUEL node under test is configured to accept a maximum of 130 V and 25 A inputs. First, the firmware for DC measurement is uploaded, and the calibration procedure is carried out. Previous iterations of the DUEL node showed indications of a slight voltage dependence on the current sensing circuit. Because of this, two calibration curves are generated, one made by varying applied voltages, and the other by varying the load.

Figs. 22 and 23 show the results from recording and calibrating off of nine points ranging from 0.5 A to 4.5 A and 3 V to 28 V respectively.

For the second part of this comparison, the voltage is kept at a constant 5 V, and the load is varied from 1 to 9 Ohms, generating the calibration curve in Fig. 24. The voltage calibration curve in Fig. 25 is generated by keeping the supply current constant at 1 A, and varying the load from 1 to 9 Ohms.
<figure><img src="image_26.png" /><figcaption>Fig. 22. The DUEL node calibration curve for DC current measurement.</figcaption></figure>

<figure><img src="image_27.png" /><figcaption>Fig. 23. The DUEL node calibration curve for DC voltage measurement.</figcaption></figure>

<figure><img src="image_28.png" /><figcaption>Fig. 24. The DUEL node calibration curve for DC current measurement (created by varying load).</figcaption></figure>

<figure><img src="image_29.png" /><figcaption>Fig. 25. The DUEL node calibration curve for DC voltage measurement (created by varying load).</figcaption></figure>

Comparing Figs. 22 and 23, and Figs. 24 and 25, specifically the generated equations, it is clear that the measurement circuit is entirely independent of the voltage applied across the device's terminals.

The DUEL node is then programmed to measure AC sources and calibrated using the standard calibration process. For the current calibration, a range of 0.25A to 2.25A are used. The voltage calibration uses a range of 10 V to 90 V. The resultant calibration curves are generated and plotted in Figs. 26 and 27
<figure><img src="image_30.png" /><figcaption>Fig. 26. The DUEL node calibration curve for AC current measurement.</figcaption></figure>

<figure><img src="image_31.png" /><figcaption>Fig. 27. The DUEL node calibration curve for AC voltage measurement.</figcaption></figure>

For both DC and AC configurations the DUEL node proves to follow the expected linear relationship and operates in a completely predictable fashion. The linear scaling coefficients found in this process can be recorded and used later to scale the raw ADC readings of the node.

## 6.3. Validation from physical implementation

Given the linear scaling coefficients found in the previous section, the overall device is now tested for accuracy. This is carried out by subjecting the DUEL node to incrementing supply voltages and or currents and measuring the scaled response. First the node is tested for a DC configuration, and then an AC configuration. The results for both voltage and current (AC and DC) are shown in Figs. 28–31.

Averaging the acquired errors, it is found that DC voltage measurement has a mean error of 0.4%. DC Current measurement has a mean error of 0.6%. AC voltage measurement has a mean error of 0.76%, and AC current measurement has a mean error of 1.69%.

## 6.4. Preliminary application

As an initial test of the system, a node is connected to measure a segment of the 3000 W solar photovoltaic array in the SEED Eco-home. Fig. 32 displays an example of the data logged over time. The dips in voltage at minute 40 and minute 100 are consistent with observed cloud cover.

<figure><img src="image_32.png" /><figcaption>Fig. 28. DC Current Measurement Error.</figcaption></figure>
<figure><img src="image_33.png" /><figcaption>Fig. 29. DC Voltage Measurement Error.</figcaption></figure>

<figure><img src="image_34.png" /><figcaption>Fig. 30. AC Current Measurement Error.</figcaption></figure>

<figure><img src="image_35.png" /><figcaption>Fig. 31. AC Voltage Measurement Error.</figcaption></figure>

<figure><img src="image_36.png" /><figcaption>Fig. 32. Initial data from a segment of a 3 kW solar PV array.</figcaption></figure>
# 7. Discussion

A comparison of some available commercial units to the open source system provided here based on total price, channel type, price per measurement and storage can be seen in Table 4. As can be seen in Table 4, the open source solution proposed in this study out performs commercial solutions as the price per measurement is significantly smaller, while the number of serviceable channels is significantly higher. The primary limitation of the proposed system is the amount of rewiring required (namely provisions made for invasive current sensors). However if this system is installed at the time of power system construction, the extra effort to install it is minimized. The DUEL nodes also have an advantage in that they are completely customizable, making them fit for any input range, where all competitors are fixed range. This solution also is capable of advertising a known error, making it more suitable for precision and scientific applications.

The accuracy of both the voltage and current channel is less than 2% error for AC measurements and 1% error for DC measurements, which for the intentions of solar power monitoring systems is satisfactory. It should be noted that the accuracy is only as good as the accuracy of the multimeter used for calibration. The DUEL nodes can be used to monitor individual panel output, bulk array output, power converter efficiency, load draw, and any other current drawing (or producing) application. It is highly scalable design and CAT-IV compatibility allow for the system to easily be wired throughout a building, recording draws on all appliances.

The system is also able to be fabricated on single layer circuit boards, using only open source software and hardware. This and the open source nature reduces the complexity and the barrier of acquiring this scientific equipment, and will help further science and society as a whole – but most specifically in the areas of renewable energy and energy conservation.

The open source system has achieved the project goal of being inexpensive, at a cost of $158.94 for a basic system. Using widely available equipment, the DUEL node can be calibrated to a desirable accuracy of less than 1%. The proposed system is also infinitely flexible, as it can be used in multiple configurations, including a sufficiently large amount of connected nodes. The system has a heightened advantage over most competing systems due to the measurement of both current and voltage. The DUEL node also has the advantage of endless customization to meet any measurement need and thus has a wide range of applications as listed (but not limited to) below:

* TIG welder power usage

* Automotive power usage

* Multi-node computing power usage

* Automated assembly line power usage

* Redundant home power meter to test utility meter accuracy

* General purpose expandable data logger for voltage or current based sensors

## 7.1. Future work

The proposed system has many places for improvement and increased functionality including:

* Adapt the Main-Hub for internet connectivity.

* Adapt the DUEL nodes for wireless usage, with an included battery.

* Create a calibration device that automatically tests DUEL nodes by injecting various known voltages and currents and calculates the calibration coefficients. This can be used to greatly expedite calibration, as well as reduce the cost.

* Integrate a DUEL node and Main-Hub into a single board for small, single node applications.

<table><caption>**Table 4**
Comparison of commercially available power monitoring solutions.</caption><thead><tr><th>Name</th><th>Price</th><th>Channels - Type</th><th>Price Per Measurement</th><th>Storage</th></tr></thead><tbody><tr><td>Neurio Solar Monitor [22]</td><td>$289.00</td><td>2 - current</td><td>$144.50</td><td>Cloud</td></tr><tr><td>Eyedro Wired [23]</td><td>$129.00</td><td>2 - current</td><td>$64.50</td><td>Cloud</td></tr><tr><td>Smappee Solar Energy Monitor [24]</td><td>$349.00</td><td>2 - voltage<br>4 - current<br>1 - appliance AC</td><td>$58.16</td><td>Cloud</td></tr><tr><td>CURB Home Energy Monitoring System [25]</td><td>$399.00</td><td>18 - current</td><td>$22.16</td><td>Cloud</td></tr><tr><td>Open Source Solution (Basic)</td><td>$158.94</td><td>9 - voltage<br>9 - current</td><td>$8.83</td><td>SD card</td></tr><tr><td>Open Source Solution (Extreme)</td><td>$2356.04</td><td>127 - voltage<br>127 - current</td><td>$9.27</td><td>SD card</td></tr></tbody></table>
## 8. Conclusions

The open source power monitoring system has validated as a low cost and flexible system, which can be used to measure various loads and sources. The system is capable of being fabricated using standard distributed manufacturing techniques, furthering its utility. The serial communication feature allows for an expansive configuration, which is capable of making a substantially larger number of measurements than competing tools.

## 9. Declarations of interest

Declarations of interest: none.

## Acknowledgements

The authors would like to thank M. Jakubowski and OBI for helpful discussions.

## Appendix A. Supplementary data

Supplementary data to this article can be found online at https://doi.org/10.1016/j.ohx.2018.e00044.

## References

[1] S. Weber, The success of open source, Harvard University Press, Cambridge, MA, 2004.

[2] J. Pearce, Open-source lab: how to build your own hardware and reduce research costs, Elsevier, Amsterdam, 2014.

[3] M. Coakley, D.E. Hurt, 3D Printing in the Laboratory Maximize Time and Funds with Customized and Open-Source Labware. J. Laboratory Automation (2016) 2211068216649578.

[4] Joshua M. Pearce, Building Research Equipment with Free, Open-Source Hardware, Science 337 (6100) (2012) 1303–1304, https://doi.org/10.1126/science.1228183.

[5] C. Harnett, Open source hardware for instrumentation and measurement, IEEE Instrum. Meas. Mag. 14 (3) (2011) 34–38, https://doi.org/10.1109/mim.2011.5773535.

[6] K.C. Dhankani, J.M. Pearce, Open source laboratory sample rotator mixer and shaker, HardwareX 1 (2017) 1–12, https://doi.org/10.1016/j.ohx.2016.07.001.

[7] M.S. Mcmunn, A time-sorting pitfall trap and temperature datalogger for the sampling of surface-active arthropods, HardwareX 1 (2017) 38–45, https://doi.org/10.1016/j.ohx.2017.02.001.

[8] L. Pocero, D. Amaxilatis, G. Mylonas, I. Chatzigiannakis, Open source IoT meter devices for smart and energy-efficient school buildings, HardwareX 1 (2017) 54–67, https://doi.org/10.1016/j.ohx.2017.02.002.

[9] T. Birtchnell, W. Hoyle, 3D printing for development in the global south: The 3D4D challenge, Palgrave Macmillan, 2014.

[10] B. Hazeltine, C. Bull, Appropriate Technology: Tools, Choices, and Implications, Academic Press Inc., 1998.

[11] J.M. Pearce, The case for open source appropriate technology, Environ. Dev. Sustain. 14 (3) (2012) 425–431.

[12] C.C. Thomson, M. Jakubowski, Toward an Open Source Civilization: (Innovations Case Narrative: Open Source Ecology), Innov. Technol. Governance Globalization 7 (3) (2012) 53–70, https://doi.org/10.1162/inov_a_00139.

[13] M. Jakubowski, Global Village Construction Set (2011). Recuperado a partir de https://www.kickstarter.com/projects/622508883/global-village-construction-set.

[14] C. Mota, The rise of personal fabrication, in: Proceedings of the 8th ACM conference on Creativity and cognition - C&C '11 (2011). doi:10.1145/2069618.2069665.

[15] J. Gwamuri, B.T. Wittbrodt, N.C. Anzalone, J.M. Pearce, Reversing the trend of large scale and centralization in manufacturing: The case of distributed manufacturing of customizable 3-D-printable self-adjustable glasses, Challenges Sustain. 2 (1) (2014) 30–40.

[16] Open Building Institute, About: Who We Are (2017). Retrieved May 05, 2017, from http://openbuildinginstitute.org/about-who-we-are/.

[17] J.M. Pearce, Photovoltaics — a path to sustainable futures, Futures 34 (7) (2002) 663–674, https://doi.org/10.1016/s0016-3287(02)00008-3.

[18] G.A. Keoleian, G.M. Lewis, Modeling the life cycle energy and environmental performance of amorphous silicon BIPV roofing in the US, Renew. Energy 28 (2) (2003) 271–293, https://doi.org/10.1016/s0960-1481(02)00022-8.

[19] J. Pearce, A. Lau, Net Energy Analysis for Sustainable Energy Production From Silicon Based Solar Cells, Sol. Energy (2002), https://doi.org/10.1115/sed2002-1051.

[20] D. Prasad, M. Snow, Designing with solar power: a source book for building integrated photovoltaics (BiPV), Routledge, 2014.

[21] N. Mohan, Power electronics: a first course, Wiley, Hoboken, N.J., 2012.

[22] Neurio, There is money being wasted in your home. Let Neurio find it (2017). Retrieved May 05, 2017, from http://neur.io/.

[23] Eyedro, Home Electricity Monitors (2017). Retrieved May 05, 2017, from http://eyedro.com/home-electricity-monitors/.

[24] Smappee, A gift for your home (2017). Retrieved May 05, 2017, from http://www.smappee.com/us/energy-monitor-home.

[25] Energy CURB, Power Your Life. Smarter (2017). Retrieved May 05, 2017, from http://energycurb.com/.

[26] R. Blanchard, M. Little, Developing an open access monitoring device for off-grid renewables, in: 2016 4th International Conference on the Development in the in Renewable Energy Technology (ICDRET) (2016). doi:10.1109/icdret.2016.7421511.

[27] M. Torres, F.J. Muñoz, J.V. Muñoz, C. Rus, Online Monitoring System for Stand-Alone Photovoltaic Applications—Analysis of System Performance From Monitored Data, J. Sol. Energy Eng. 134 (3) (2012), https://doi.org/10.1115/1.4005448 034502.

[28] J. Han, J. Jeong, I. Lee, S. Kim, Low-cost monitoring of photovoltaic systems at panel level in residential homes based on power line communication, IEEE Trans. Consum. Electron. 63 (2017) 435–441, https://doi.org/10.1109/TCE.2017.015074.

[29] M. Mnati, A. Van den Bossche, R. Chisab, M.J. Mnati, A. Van den Bossche, R.F. Chisab, A Smart Voltage and Current Monitoring System for Three Phase Inverters Using an Android Smartphone Application, Sensors 17 (2017) 872, https://doi.org/10.3390/s17040872.

[30] R. Anand, R.K. Pachauri, A. Gupta, Y.K. Chauhan, Design and analysis of a low cost PV analyzer using Arduino UNO, in: 2016 IEEE 1st International Conference on Power Electronics, Intelligent Control and Energy Systems (ICPEICES), 2016, pp. 1–4. doi:10.1109/ICPEICES.2016.7853491.

[31] W. de A. Marques, V.H. Ferreira, G.G. Sotelo, Design of a real-time, low-cost monitoring system for hybrid solar-wind power generation system, in: 2018 Simposio Brasileiro de Sistemas Elétricos (SBSE), 2018, pp. 1–6. doi:10.1109/SBSE.2018.8395836.

[32] J. Jackson, S.P.D. Chowdhury, Energy monitoring of a SMME photovoltaic power system, in: 2017 52nd International Universities Power Engineering Conference (UPEC), 2017, pp. 1–6. doi:10.1109/UPEC.2017.8231989.
[33] M. Alonso-Rosa, A. Gil-de-Castro, R. Medina-Gracia, A. Moreno-Munoz, E. Cañete-Carmona, Novel Internet of Things Platform for In-Building Power Quality Submetering, Appl. Sci. 8 (2018) 1320, https://doi.org/10.3390/app8081320.

[34] A.R. Jadhav, P. Rajalakshmi, IoT enabled smart and secure power monitor, in: 2017 IEEE Region 10 Symposium (TENSYMP), 2017, pp. 1-4. doi:10.1109/TENCONSpring.2017.8070096.

[35] H. Yang, S.R. Hui, Nonintrusive Power Measurement Method With Phase Detection for Low-Cost Smart Meters, IEEE Trans. Ind. Electron. 64 (2017) 3962-3969, https://doi.org/10.1109/TIE.2017.2652344.

[36] N. Forero, J. Hernández, G. Gordillo, Development of a monitoring system for a PV solar plant, Energy Convers. Manage. 47 (15-16) (2006) 2329-2336, https://doi.org/10.1016/j.enconman.2005.11.012.

[37] H., A.A. Khuwaja, A. Sattar, Solar power remote monitoring and controlling using Arduino, LabVIEW and web browser. 2015 Power Generation System and Renewable Energy Technologies (PGSRET) (2015). doi:10.1109/pgsret.2015.7312240.

[38] N. Chinomi, M. Leelajindakrairerk, S. Boontaklang, C. Chompong-Inwai, Design and Implementation of a smart monitoring system of a modern renewable energy micro-grid system using a low-cost data acquisition system and LabVIEWTM program, J. Int. Council Electr. Eng. 7 (2017) 142-152, https://doi.org/10.1080/22348972.2017.1345226.

[39] S. Makonin, F. Popowich, T. Moon, B. Gill, Inspiring energy conservation through open source power monitoring and in-home display, in: 2013 IEEE Power & Energy Society General Meeting (2013). doi:10.1109/pesmg.2013.6672619.

[40] J. Han, I. Lee, S. Kim, User-friendly monitoring system for residential PV system based on low-cost power line communication, in: 2015 IEEE International Conference on Consumer Electronics (ICCE) (2015). doi:10.1109/icce.2015.7066554.

[41] R. Riggio, C. Sengul, K.M. Gomez, T. Rasheed, Energino. ACM SIGCOMM, Comput. Commun. Rev. 42 (4) (2012) 273, https://doi.org/10.1145/2377677.2377727.

[42] H. Lu, L. Zhan, Y. Liu, W. Gao, A Microgrid Monitoring System Over Mobile Platforms, IEEE Trans. Smart Grid 8 (2017) 749-758, https://doi.org/10.1109/TSG.2015.2510974.

[43] R. Takano, H. Nakada, T. Shimizu, T. Kudoh, A Scalable and Distributed Electrical Power Monitoring System Utilizing Cloud Computing, in: Y.-S. Jeong, Y.-H. Park, C.-H. (Robert) Hsu, J.J. (Jong H. Park (Eds.), Ubiquitous Information Technologies and Applications, Springer Berlin Heidelberg, 2014, pp. 809-817.

[44] J. Wang, Z. Bao, Y. Yang, Design of Power Monitoring System on Smart Hotel, in: 2017 10th International Symposium on Computational Intelligence and Design (ISCID), 2017, pp. 312-315. doi:10.1109/ISCID.2017.232.

[45] D. Balsamo, G. Gallo, D. Brunelli, L. Benini, Non-intrusive Zigbee power meter for load monitoring in smart buildings, 2015 IEEE Sensors Applications Symposium (SAS) (2015) 1-6, https://doi.org/10.1109/SAS.2015.7133611.

[46] V. Dani, D. Jalihal, S. Sampoornam, R.K. Chowdhury, S. Vasan, S. Ramanan, R.K. R. Power line carrier communication based low cost power monitoring and management system, in: 2016 First International Conference on Sustainable Green Buildings and Communities (SGBC), 2016, pp. 1-4. doi:10.1109/SGBC.2016.7936054.

[47] Y. Fan, H. Chen, The design and implementation of a low-cost power monitoring system for campus power monitoring, 2018 IEEE International Conference on Applied System Invention (ICASI) (2018) 720-721, https://doi.org/10.1109/ICASI.2018.8394360.

[48] C. Meetoo, S. Bahadoorsingh, N. Ramsamooj, C. Sharma, Wireless residential power monitoring system, 2017 IEEE Manchester PowerTech (2017) 1-6, https://doi.org/10.1109/PTC.2017.7981122.

[49] OpenEnergyMonitor (2017). Retrieved May 05, 2017, from https://openenergymonitor.org/.

[50] NXP, UM10204 I2C-bus specification and user manual (2014). https://www.nxp.com/docs/en/user-guide/UM10204.pdf.

[51] AKM, CQ-2334 High-Speed Small Current Sensor. https://www.akm.com/akm/en/file/datasheet/CQ-2334.pdf.

[52] Non-Invasive Current Sensor – 30A, Retrieved May 05 2017, from https://www.sparkfun.com/products/11005.

[53] KiCAD EDA (2017). Retrieved May 05, 2017, from http://kicad-pcb.org/

[54] S. Oberloier, J.M. Pearce, General Design Procedure for Free and Open-Source Hardware for Scientific Equipment, Designs 2 (1) (2017) 2, https://doi.org/10.3390/designs2010002.

[55] Project Ideas. (2017). Retrieved May 05, 2017, from http://playground.Arduino.cc/Projects/Ideas.

[56] Z. (2017, March 18). Arduino Projects. Retrieved May 05, 2017, from http://www.instructables.com/id/Arduino-Projects/.

[57] CEB Press/Manufacturing Instructions/Controller Box/Arduino Control of CEB Prototype 2. (2017). Retrieved May 05, 2017, from http://opensourceecology.org/wiki/CEB_Press/Manufacturing_Instructions/Controller，请从Controller Box/Arduino Control of CEB_Prototype_2.

[58] Inverter. (2017). Retrieved May 05, 2017, from http://opensourceecology.org/wiki/Inverter.

[59] A. Leon-Garcia, A. Leon-Garcia, Probability, statistics, and random processes for electrical engineering, Prentice Hall, Harlow, 2008.

[60] C.R. Paul, Electromagnetics for engineers: with applications to digital systems and electromagnetic interference, John Wiley & Sons, Hoboken, NJ, 2004.

[61] Adafruit Industries, (2017). Adafruit 1.44" Color TFT LCD Display with MicroSD Card breakout. Retrieved May 05, 2017, from https://www.adafruit.com/product/2088.

[62] Arduino (2017). Retrieved May 05, 2017, from https://www.Arduino.cc/en/main/software.

[63] L.L. Peterson, B.S. Davie, Computer networks: a systems approach, Morgan Kaufmann is an imprint of Elsevier, Amsterdam, 2012.

[64] Atmel, Atmel 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Programmable Flash (2013). docs-europe.electrocomponents.com/webdocs/15fe/0900766b815fed70.pdf.

[65] D.A. Neamen, Microelectronics circuit analysis and design, McGraw-Hill Education, New York, 2010.

[66] Programming ATTiny85 with Arduino Uno. (2017). Retrieved May 05, 2017, from https://create.Arduino.cc/projecthub/arjun/programming-attiny85-with-Arduino-uno-afb829.

[67] https://osf.io/8keau/ 7.23.2018

[68] S. Oberloier, J.M. Pearce, Belt-driven open source circuit mill using low-cost 3-D printer components, Inventions 3 (3) (2018) 64, https://doi.org/10.3390/inventions3030064.

[69] G.C. Anzalone, B. Wijnen, J.M. Pearce, Multi-material additive and subtractive prosumer digital fabrication with a free and open-source convertible delta RepRap 3-D printer, Rapid Prototyping J. 21 (5) (2015) 506-519, https://doi.org/10.1108/rpj-09-2014-0113.

[70] PCB Prototyping (2017). Retrieved May 05, 2017, from http://flatcam.org/.

[71] "OCI Copper Carve." OCI Copper Carve Open Circuit Institute. Retrieved April 04, 2018. http://opencircuitinstitute.org/content/oci-copper-carve.

[72] S. Jahn, Quite Universal Circuit Simulator (QUCS) (2017). Retrieved May 05, 2017, from http://qucs.sourceforge.net/.