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.
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.
Thank you to Robert Wall for this diagram.
Build an emonTx (kits available in the Shop)
All emonTx V2 Arduino Firmware is available on Github: https://github.com/openenergymonitor/emonTxFirmware/tree/master/emonTxV2
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:
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.
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.
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
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
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
Electricity and temperature - Voltage and current based electricity measurement and 4 × temperature sensors ideal for heatpump monitoring or solar hot water system monitoring.
Application note: Heatpump
Building blocks: DS18B20 temperature sensing
EmonTx Temperature sensor connection reference
Select: emonTx_temperature_examples > emontx_temperature_power
Pulse counting only: Water, gas, electric
EmonTx Pulse input connection reference
Building blocks: Introduction to pulse counting, Gas metering
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:
Return to the main OpenEnergyMonitor Getting Started Guide