Building an emonTx
Guide created and maintained by: Ian Chilton - please direct any suggestions or corrections to: ian [at] ichilton [dot] co [dot] uk.
If you get stuck, there is a forum and a lot of other information over at OpenEnergyMonitor.
Here's how to build up an emonTx as a step by step guide.
OpenEnergyMonitor is project to develop and build open-source energy monitoring, control and analysis tools. The main focus at the moment is developing an end-to-end open-source energy monitoring system that is Arduino IDE compatible. More information can be found at: http://openenergymonitor.org
emonTx is 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.
The pcb is built in an orderly sequence starting with the resistors and small components that are low on the board and then working up to the bulkier parts like connectors. After soldering each component, you need to cut off the excess lead from the bottom using some cutters.
It is very easy to cause shorts which will make the board or specific parts of it not work. What i'd advise is that you take your time during the build, be precise, use minimal solder and carefully check each joint after soldering it. If you suspect any short, check it with a multimeter and fix any shorts there and then, before continuing.
Even if you have been soldering for years, i'd highly recommend these videos to get the right tools and improve your technique:
Layout and identify the components from the kit.
From OpenEnergyMonitor - emonTx Build |
From OpenEnergyMonitor - emonTx Build |
Note that the photo shows two different types of the 22pF capacitors - brown ceramic disc (labelled 22 and with black tops) and small blue ones - only one of these pairs are required/included and they are equivelent.
Ok, we're ready to start. Here is the PCB ready:
From OpenEnergyMonitor - emonTx Build |
From OpenEnergyMonitor - emonTx Build |
This is where everything should go:
![]() |
From OpenEnergyMonitor - emonTx Build |
Start with the resistors. Bend each leg of the resistor over 90 degrees, right next to the body. It's recommended that you align them all in the same direction.
First we add the 3x 18 ohm resistors - they are blue and their colour code is: Brown, Grey, Black, Gold, Brown.
From OpenEnergyMonitor - emonTx Build |
Add the 2x 10k resistors - they are blue and their colour code is: Brown, Black, Black, Red, Brown.
From OpenEnergyMonitor - emonTx Build |
Add the 100k resistor - it's blue and it's colour code is: Brown, Black, Black, Orange, Brown.
From OpenEnergyMonitor - emonTx Build |
Add the 8x 470k resistors - their colour code is: Yellow, Violet, Yellow, Gold.
From OpenEnergyMonitor - emonTx Build |
Add the 4k7 resistor - it's colour code is: Yellow, Violet, Red, Gold.
From OpenEnergyMonitor - emonTx Build |
Add the 100 ohm resistor - it's colour code is: Brown, Black, Brown, Gold.
From OpenEnergyMonitor - emonTx Build |
Add the 2x 22pF ceramic capacitors - they are either blue (as per the photo) or small brown discs with black tips.
From OpenEnergyMonitor - emonTx Build |
Add the 4x 100nF ceramic capacitors - they are labelled 104.
From OpenEnergyMonitor - emonTx Build |
Add the 5x 10uF electrolytic capacitors. These must go the correct way round. The PCB is marked with a + symbol to indicate positive lead. The capacitors are marked with a white strip and a short leg to indicate the negative lead and a longer leg to indicate the positive lead.
From OpenEnergyMonitor - emonTx Build |
Add the 16Mhz crystal - it can go either way round.
From OpenEnergyMonitor - emonTx Build |
Add the green LED. The PCB is marked with a + symbol to indicate positive. The LED has a short leg (and flat edge) to indicate the negative leg and a longer leg to indicate the positive leg.
From OpenEnergyMonitor - emonTx Build |
Add the MCP1702 3.3v Voltage Regulator - the flat edge goes towards the bottom of the board as per the markings.
From OpenEnergyMonitor - emonTx Build |
Add the mini USB socket.
From OpenEnergyMonitor - emonTx Build |
Add the 5x 3.5mm sockets.
From OpenEnergyMonitor - emonTx Build |
I added the 2.1mm power socket next, but it would actually be better to add this after the DIL socket (next step) as the DIL socket will fit flush on the desk while you solder it.
From OpenEnergyMonitor - emonTx Build |
Add the DIL socket. If you are observant, you will notice that I put it the wrong way around on the photos! - the notch on the socket should go to the left of the board, as per the markings on the PCB.
From OpenEnergyMonitor - emonTx Build |
Add the 6-pin programing header at the bottom of the board.
From OpenEnergyMonitor - emonTx Build |
We now need to check the voltage is correct before we add any of the expensive components. Power the board with either an FTDI programming cable or a mini USB and measure the voltage between the GND and VCC pads on the RFM12B socket. You should get 3.3v. If you get more than this, you should work out what has gone wrong before you continue.
From OpenEnergyMonitor - emonTx Build |
Add the RFM12B module. You can see the shapes of the crystal on the PCB. Position the module in place over the pads and gently apply heat and solder the opposite corners to hold it in place so you can solder the remaining pads.
From OpenEnergyMonitor - emonTx Build |
Add the antenna by soldering the end to the bottom right pad on the RFM12B module.
From OpenEnergyMonitor - emonTx Build |
We can now add the ATMega328 chip. You will need to bend the pins in slightly by resting the chip sidewards on the desk and rolling it fowards to bend the pins in. Do the same with the other side.
From OpenEnergyMonitor - emonTx Build |
From OpenEnergyMonitor - emonTx Build |
From OpenEnergyMonitor - emonTx Build |
On this latest version of the emonTx PCB, two solder jumpers have been added by the IRQ I/O and temperature (DS18B20) ports. They allow the user to decide what voltage to use on these ports. The emonTx runs at 3.3V. More explanation can be found in this blog post. Connection is made by joining the middle pad the either of the outer pads with solder.
If you look careful the solder jumper above the temperature port is connected to 5V (small PCB trace). This was an error, but actually work out well. The temperature sensors always use 5v (which is good) and when the emonTx is powered by 2 x AA's the the 5V rail becomes 3.3V anyway. Therefore, you can ignore this solder jumper, it will disappear in the next generation of emonTx PCB's.
ATmega will come with Arduino Optiboot 4.4 bootloader (select Uno in IDE) but with no sketch uploaded. The correct sketch must be uploaded using Arduno IDE.
Coming Soon - detail of sketch and how to upload.
Coming Soon
Coming Soon