Getting started

Setup an OpenEnergyMonitor system

The OpenEnergyMonitor system comprises of wireless sensor nodes that send data at periodic intervals to a web-connected base-station.

Application Specific Guides (advanced)

At present it's possible to sense: AC Electricity (apparent  / real power, current, VRMS voltage), Temperature, Humidity, Pulses (from pulse output utility meters), Elster IrDA (direct utility meter interface) and Solar PV power diversion. We and others are working on extending this list to include moisture, CO2 and other air quality measurements.

This guide the steps to set up a basic system, you will need a base station and at least one sensor node to get it up and running, read through the steps first to work out what hardware you will need for what you want to do.

1) Setup your base station

It's best to start by setting up the base-station so that you are ready to receive data from any sensor nodes as they are added.

There are two Base station choices:

Option 1: emonBase - Raspberry Pi + RFM69Pi RF adapter

Option 2: emonPi - Raspberry Pi based energy monitoring node 

Both base stations use the same pre-build SD card (as of June 2015) and run the same software. 

Both can receive data from wireless nodes (e.g emonTx / emonTH)

Both can log data locally to the Raspberry Pi's SD card and post to a remote server such as

The difference with the emonPi is that it can also perform energy and temperature monitoring functions itself and has the addition of a tidy enclosure and LCD display. 

See this blog post comparing the emonPi and emonTx V3

Whatever option your choose follow the same base-station Setup Guide:

emonBase / emonPi Setup Guide


Note: If you purchased your emonBase or pre-build ready-to-go SD card pre 17th June 2015, you will have the older emonSD image, this will still work fine to post data to You can either download the latest image, then flash to the SD card and then follow the above guide, or just use the SD card as received and follow the older setup guide below: 

Setup an emonBase using Pre 17th June Ready-to-Go SD Card Image (old emonSD-13-03-15)

2) Choose what wireless nodes you would like to connect up:

a) emonTx - Electricity Energy Monitoring 

Using a multi purpose open hardware board called the emonTx its possible to measure:

  • 4x AC single-phase circuits with clip on CT sensors.
  • Or one 3-phase circuit
  • 1x AC Voltage with an AC-AC Voltage adapter for isolation.
  • 6 x Temperature with one-wire DS18B20 based sensors.
  • 1x Pulse counting input for pulse output meters 

Multiple emonTx's (up to 30) can be connected to a single emonBase. Each emonTx will need an different wireless node ID.

If you already own an Arduino you many want to consider using an emonTx Shield.

Select the correct guide for the emonTx version that you have:

see part 3 for how to configure emoncms to log, process and display the monitored data.

b) emonTH - Temperature and Humidity Monitoring

Battery powered temperature (internal / external) and humidity (internal) monitoring node


c) emonGLCD - wireless LCD display (discontinued)

The emonGLCD is an open-source general purpose wireless graphical LCD display unit that can be added to the system like any other node. 

It can be configured to show anything you'd like to display from power consumption and generation to room temperatures. It has two indicator LEDs that can glow red or green depending on if you're importing or exporting electricity. The emonGLCD has a built in temperature sensor; as well as receiving and displaying monitoring data the emonGLCD can transmit the current room temperature back to the base station for logging to emoncms. 

The emonGLCD is really useful for providing real-time at-a-glance information. 

emonGLCD Documentation Page

Build an emonGLCD

Upload emonGLCD Arduino Firmware


3) Configure Emoncms to log, process and display monitored data

Now that the sensor node data values are registered in the inputs list of emoncms the next step is to setup input processing on those inputs. Using input processing we can manipulate the input data before storing it in the emoncms database.

Check: The LED on the RFM69Pi should flash each time an RF packet is received.

Emoncms setup examples: