For documentation on new version of emonTx (V2.0) see here 

emonTx stands for Energy Monitoring Transmitter.

It's a small wireless energy monitoring node. It's designed to take inputs from multiple CT sensors, optically from a pulse-output utility meter and from multiple one-wire temperature sensors. It is designed to be powered by 2x AA batteries or 5V USB.

Interested in the emonTx? Please fill in the interest form 

Buy an emonTx V1.4 ki

Assembling an emonTx V1.4 kit


 above: emonTx V1.4 with one CT channel soldered in

emonTx is based on the Atmega328 8-bit micro-controller and is fully compatible with Arduino IDE. An FTDI to USB cable is required for programming.  

The design is based on the JeeNodeV5, is fully open-source and is designed for easy expandability and compatability with JeeLabs shields.


  • Electricity consumption monitoring  
  • Renewable generation monitoring 
  • Heatpump monitoring 
  • Water and gas monitoring (from pulse output meter) 
  • Temperature monitoring 
  • Large scale monitoring - up to 29 emonTx's can potentially transmit to a single base station


  • Based on JeeNodeV5 design - many thanks to Jean-Claude Wippler for sharing his good work 
  • Compatible with most JeeNode shields (JeeNode ports P2 and P3 fully available) 
  • Designed to run on 3.3V and be powered by 2x AA batteries
  • Designed to fit in this case
  • Uses 2.5mm jack plug connections 
  • Can be powered using 5V mini-USB
  • Requires FTDI cable for programming 

Energy Monitoring 



  • Uses Hope Alpha RF / RFM12B Transceiver available on ISM band 433Mhz (All countries), 868Mhz (Europe only), or 915 MHz (US and Australia only). Country information taken from here. The OpenEnergyMonitor kit includes the 433Mhz module. 
  • Up to 30 emonTx's can potentially communicate with one emonBase station 
  • Up to 250 different network groups can potentially be setup in a single location 


The emonTx is designed to be powered by 2 x AA batteries or by 5v USB/FTDI. When powering the unit with 5V through the USB or FTDI header the on-board voltage regulator will reduce the voltage to 3.3V. The battery connection header is not regulated, therefore 3.3V max should be connected to the battery header. If higher voltage is connected the RFM12 is at risk of damage. The RFM12 can be run at 5V but it's outside it's recommended operating voltage 

emonTx has been designed to be low power (see here for details of low power optimisation). Much power optimisation can be done in software like putting the Atmega and RF12 to sleep for periods of time. The following measurements were taken with two CT channel soldered in but the software was only reading from one channel: 

0.1mA @ 3.13V =  0.31mW when Atmega and RF12 in sleep mode

6.7mA @ 3.13V = 21mW when RF12 in sleep mode

7.14mA @ 3.13V = 22.35mW when RF12 awake but not transmitting

14mA (approx) @ 3.13V = 43.8mW when RF12 is transmitting 

This should give a battery life of almost 3 months if the Atmega is asleep for 4s and on for 332ms (the time taken to read from CT and calculate power over 1480 samples) assuming 2500mAh of AA battery capacity. Battery life calculation spreadsheet: download

Schematic & PCB board layout:


Port map:


Part List:


Change log

  • V1.0 - first release 
  • V1.1 - corrected CT circuit error 
  • V1.2 - compleate re-route with GND plate added and singal wires increased to 10mill and power to 16mill. JeeNode offest header pins changed. 
  • V1.3 - compleate re-route with http://www.freerouting.net/. Reduced vias from 36 to 5!
  • V1.4 fixed R9 (one-wire temp) to be pull-up not pull-down
  • V1.5 Changed one-wire temperature connection 2.5mm jack-port to enable the use of standard mono 2.5mm jack-plug
  • V.2.0 Added another channel to make 3 CT channels. Added option for voltage measurement for real power measuremements. Chaged to 3.5mm CT jacks for compatability with seedstudio CT's

emonBase / NanodeRF

The base station will receive the wireless signal from one or more emonTx's and post the data online either to Pachube or a server installation of emoncms

The base station development is a collaboration between OpenEnergyMonitor and Nanode (Ken Boak and London Hackspace) The emonBase comprises of a Nanode V.5 with the addition of the RFM12B wireless module. JeeLabs sell a breakout board for this. In the future we would  developing a NanodeRF board to include the RFM12 module on a single PCB.

Older versions of the Nanode can be used with several modifications


Nanode base and emonTx in action 


In development! Please contribute new examples and bug fixes

emonTx exmple code:

emonBase/Nanode RF example code:

Environmental & Life Cycle

Every effort has been made to reduce the environmental impact of the emonTx. The board has been designed on a laptop running off-grid powered by solar PV (see setup here). 

The PCB board is manufactured in the UK using a lead free process. 

All components are RoHS compliant

At the end of its useful life we will gladly accept the unit back. The Atmega 328 can easily be re-programmed for other purposes.


Creative Commons License
The emonTx hardware deisgnes (schematics and CAD files) are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

The emonTx firmware is released under the GNU GPL V3 license

The documentation is subject to GNU Free Documentation License 

The emonTx hardware designs follow the terms of the OSHW (Open-source hardware) Statement of Principles 1.0.

Open-source hardware (OSHW) logo

What this basicly means is that you are free to modify, re-distribute and use the design in a personal or commercial environment as long as you attribute OpenEnergyMonitor and make any resulting designs or derivatives available under the same open-source licenses. Read more about open-source...

Guest's picture

Re: emonTx V1.4

I have a CT that I ordered from Seedstudio and then I got a simple connector from radio shack but is does not seem to work. Do I need a specific jack plug? Do I need to change the male plug? Is that why you have male plugs in parts list? Wasn't sure why that was in there.


Guest's picture

Re: emonTx V1.4

I am looking at the schematic for the board and I am confused as to why you have 4 JeeNode shields?

TrystanLea's picture

Re: emonTx V1.4

The shields are not normally used or not required. The jeenode ports are there for expandability, so if you want to add other functionality like jeeLabs relay shield and so on, it can be done.

ganesh's picture

Re: emonTx V1.4


This could be a dumb question, please bear with me..

Can we have a common bias (i.e. the two 470K resistors with one 10uF cap) for both CT inputs?

Thanks for sharing this nice project!



glyn.hudson's picture

Re: emonTx V1.4

Hi Ganesh,

This could be possible, but I expect the two channel would interfere with each other. I need to do some testing to check this.


Guest's picture

Re: emonTx V1.4

I did not find the eeprom.h or the crc16.h libraries on the jeenode page. I did find them in another location during a google search. I created two folders in my arduino0021, avr and util. In the avr folder I put the eeprom.h file and in the util I put the crc16.h file. Do I need any other files in those folders or just the .h files? For the eeprom there was a eeprom.c file. Wondering if that should go in the avr folder as well.

glyn.hudson's picture

Re: emonTx V1.4

 The eeprom and crc15 files are libraries that come with the Arduino IDE. You dont need to download them separately. If you get compiling errors maybe try re-downloading the Arduino IDE. You do need to download the ports and RFM12 libraries from the JeeLabs website. These libraries should be put in the libraries folder in your Arduino folder. Good luck, Glyn. 

Guest's picture

Re: emonTx V1.4

In your code emon, I see where you have a value for Irms but I do not see anywhere you calculate or have an equation for Vrms so it seems like apparent power will be zero. Do I just do not see where you have applied a value for vrms?

Guest's picture

Re: emonTx V1.4

Never mind. I see it now that it is defined in the other program.

arteqw's picture

Re: emonTx V1.4

Can You share library for Eagle includes symbol of RFM12B ? 


EDIT: I find: http://forum.jeelabs.net/node/131