V2

A low power wireless energy monitoring node. It's designed to sense data from multiple CT current sensors, optically from a pulse-output utility meter and from multiple one-wire temperature sensors. It can be powered by 2 x AA batteries or 5V USB.  Features and hardware details.

     
 emonTx PCB  emonTx inside  emonTx Outside

 

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

´╗┐The design is based on the JeeNode. It's fully open-source and is designed for easy expandability and compatibility with JeeLabs plug-shields.

  

 

Illustrated Port Map:

See emonTx Reference Section for more port mapping info: 

Thank you to Robert Wall for this diagram. 

 

Build an emonTx (kits available in the Shop)

Pictorial step-by-step assembly guide

New open-source enclosure design on Thingiverse 

-----

Software

All emonTx V2 Arduino Firmware is available on Github: https://github.com/openenergymonitor/emonTxFirmware/tree/master/emonTxV2

emonTx V2 Arduino Firmware Guide 

There are a series of standard emonTx configurations with associated hardware build notes and Arduino firmware to make the process of setting up the emonTx as easy as possible.

Start by setting up the Arduino programming environment so that your all ready to upload code once you have build the board:

Setup the Arduino Programming environment

Standard emonTx build

The following build guide goes through the steps of building up the full emonTx, which can carry out all the functions above except for low power battery operated temperature sensing for which there is a specific build guide. Once you have completed building the emonTx with the full build guide there are 5 standard firmwares below that can be uploaded on to the emonTx depending on the functionality you need.

Building the emonTx following the standard emonTx build guide

A reduced component count Low Power Battery Powered Temperature Sensing emonTx configuration is also available - ideal for room based temperature sensing:

Low power temperature node build guide

The low power temperature node is soon to be replaced with the EmonTH which is available here, documentation in progress.

If the configuration you need is not here there is an emontx firmware code guide here that should help with building your custom setup.

Upload the configuration specific firmware:

As per the "Setup the Arduino programming environment" guide the emonTx firmware location should be navigable from within the Arduino IDE by going to:

File > Sketchbook > OpenEnergyMonitor > emonTxFirmware
  • Current only - this is the simplest electricity monitoring configuration and is comparable to most domestic home electricity monitors. It calculates Apparent Power
    Application note: Electricity monitoring
    Select: emonTx_CT123
  • Current and Voltage - This is the recommended electricity monitoring configuration as the additional voltage measurement gives you greater accuracy. It calculates Real Power
    Application note: Electricity monitoring, Solar PV
    Select: emonTx_CT123_Voltage
  • Higher accuracy (continuous sampling) firmware - Even better accuracy that the
    emonTx_CT123_Voltage sketch this sketch samples the voltage and current waveforms continuously. If your not doing anything else on your emontx apart from power monitoring and sending the measured power over RF and the emontx is not powered off batteries then use this sketch.
    Select: emonTxV3_4chan_continuous [github]
    Thankyou to Robin Emley for this firmware example
  • Elster meter interface only.
    Note: RF trasmittion needs to be added to this firmware.
    Application note: Elster meter reader
    Select: Guide > f_ElsterMeter

RF Network Settings
At the top of each firmware example you will see the following three lines:

#define freq RF12_433MHZ
const int nodeID = 10;
const int networkGroup = 210;

These set the RF network configuration. The frequency set in the firmware needs to be set to the frequency of the hardware modules. If you have 868MHz hardware modules change the first line to: #define freq RF12_868MHZ. The nodeID needs to be unique for each node on the network and the network group needs to be the same for each node on the network.

Read more about the RFM12B the wireless transceiver module used here: Sending data between modules with the RFM12B

A reduced component count Low Power Battery Powered Temperature Sensing emonTx configuration is also available - ideal for room based temperature sensing.  The low power temperature node is soon to be replaced with the EmonTH which is available here, documentation in progress.


With the emontx built and firmware uploaded when you power it up, a node and a series of values should now appear automatically in the emoncms inputs list on the Raspberry Pi. The following page details what each input is for each of the standard firmware configurations:

Identifying emoncms inputs

Return to the main OpenEnergyMonitor Getting Started Guide