3-phase voltage and current using only two emontx v3.4

Just under a year ago we first looked into building our own 'portable' system for logging current and voltage using OpenEnergyMonitor.

We have since had it installed for short periods of time (usually a week) at multiple of our clients' buildings.

While I don't think we are the first to build a system like this, for the purpose of temporary measurements, I thought I'd share this anyway, so that others may take ideas from it if they want.

Most notably, we are using a single emonTx v3.4 to measure voltage on all three phases.

Using 3 identical 230V AC to 12V AC transformers with two 180 ohm resistors in series on the secondary side (didn't have any 360 ohm ones on hand while testing) and permanently plugged in to the emonTx's CT1, CT2 and CT3 input connectors.

We did some math to calculate a safe resistor value to stay under the 50 mA that the emonTx would be getting if the intended YHDC current transformer was connected. (270V = 50mA)

Voltage was calibrated using our own 3-phase variable transformer and a digital multimeter.

We later replaced the 0,25W resistors (that we had already) with 2W resistors to be on the safe side regarding heat dissapation.



The other emonTx used for measuring current had the front panel screws removed, larger threads cut in the metal housing, and attached to our enclosure using longer screws.

Holes were drilled in our enclosure for just the CT1, CT2 and CT3 input connectors.

The Raspberry Pi B+ AKA emonBase was mounted on a bracket, and a hole cut in our enclosure for the LAN port. (will be cutting another hole for the USB ports later, now that I think WiFi is easier to configure in the web interface. Didn't have that when we first made this)

The emonBase and both emonTx's are powered from a single 230V AC to 5V DC USB power supply. emonBase on the microUSB port, emonTx's on screw terminals 1 and 3.

The emonTx 433 mHz antennae are not connected cause they didn't fit in the enclosure, but the signals are received by the emonBase anyway. Probably cause of close proximity. (at the advice of Robert Wall, I will be adding a simple wire instead to prevent damage to the RFM69CW radio module)

We also added a selection switch and an analog 0-400V voltmeter for a quick test if all pases are connected properly.


The power supply is connected to L1 and neutral, and the whole assembly is connected to CEEform 5pin 16A plug.

In the box we store it in, we also have a CEEform to regular (Dutch) domestic plug adapter, a CEEform to 4 testleads adapter, and 4 (fused!) testlead to alligator clips for directly connecting to rails in a distribution panel if needed.


I've attached more photos below, including a schematic.

pb66's picture

Re: 3-phase voltage and current using only two emontx v3.4

Thanks for sharing, I find this an interesting project as I too have a project to tackle that involves a temporary/mobile monitoring solution. Would you be so good as to share your sketches? How do you combine the readings? Are the emonTx's synchronized?

Accuracy, costs, bulk and simplicity are all considerations and I am currently set to use 3 emonTx as it seems more straight forward to separate the phases and the additional cost of a single emonTx adds up to 3 additional CT channels per phase, right now I'm not sure I need those additional CT's but equally I don't know that I definitely won't at some point.


Bbaass_TMH's picture

Re: 3-phase voltage and current using only two emontx v3.4

NODE_9.ino is for the voltage emonTx, NODE_10.ino is for the current emonTx.

Node 9 sketch has been modified to sent the voltage readings to emoncms.org every minute, with no decimals. On emoncms it directly logs the received input value.

It's not that accurate, but good enough for our purposes. If you do need accuracy, having 3 emonTx's is probably the way to go. I'll attach a screenshot of when the system was monitoring a motor for an industrial paintmixer at the end of a very long cable, you can see the voltage drop the moment it turns on, and go back up when the motor's overcurrent protection kicks in and shuts it down.


Node 10 sketch has been modified to sent the current reading to emoncms.org every 10 seconds with 1 decimal. On emoncms it multiplies the received input value by 0,1 and then logs it.

We don't want power in Watts, we want current in Amps so emontx.power1 = ct1.calcIrms(no_of_samples)*Vrms; is changed to emontx.power1 = ct1.calcIrms(no_of_samples);

The default calibration value is multiplied by 10 (and then properly calibrated).

If you want to see how we display the readings: http://emoncms.org/JNCE. Main page is mostly to allow people to confirm the system is working properly directly after installation.

Sketches and a screenshot below.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.