Tag Archives: Energy Monitor

emonPi is an open-source, web-connected energy monitor

The emonPi is a Raspberry Pi and Arduino-based, web-connected energy and environmental monitoring unit.

In an effort to help the everyday person better understand their energy consumption and improve sustainability, one UK startup has created a web-connected environmental monitor. As its name would suggest, the emonPi is an open-source Raspberry Pi and Arduino-based device that is not only capable of tracking home energy and solar panels, but even enables users to control their systems via smartwatch.


Dating back to 2009, OpenEnergyMonitor.org has been the collaborative hub for a community effort to develop open-source tools that make energy use more visible and accessible to homeowners. In order to accomplish this, the team has compiled various resources for monitoring home energy, solar PVs, heat pumps, and environmental sensors. Beyond that, the project has led to the development of a web-based content management system, called emoncms, that can process and visualize energy, temperature and other forms of data.

“In the beginning we couldn’t find any open-source designs to build an energy monitor so we set about tinkering with Arduino and breadboards to build our own. We created a website (OpenEnergyMonitor.org) and started documenting and sharing our progress. We thought it would be useful to be able to view our energy consumption on-line so we made the system web-connected,” the team explains. “In 2011 out of demand for the system we set-up our business ‘Megni’ — short for ‘Monitro Egni’, which translates as ‘Energy Monitoring’ in Welsh.”


With emonPi, the team has taken their last six years of work and packed it all into a single package, preloaded with software for the most common applications. With connectivity over Wi-Fi or Ethernet, the gadget collects and posts data in real-time to emoncms. This can be run locally on the emonPi itself, one’s own server, or the team’s free hosted service.

At its core lies a Raspberry Pi 2 and an Arduino-driven energy monitoring shield, all housed in a robust wall-mountable aluminum case with exposed sockets for AC power supply, Ethernet, USB cables, sensors and peripherals. An ATmega328 handles the energy monitoring ADC sampling and power calculations. The emonPi connects to the Raspberry Pi (supports model A, A+, B, B+ and 2) via GPIO, which allows data to be relayed to the Raspberry Pi in JeeLabs packet format. Despite being Pi agnostic, the team does advise that only model B+ and 2 will fit inside the custom aluminium enclosure. In addition, Arduino-compatible firmware sketches can be uploaded directly to the emonPi’s ATmega328 through the Raspberry Pi GPIO.


Beyond that, the emonPi is fitted with an RFM69CW RF transceiver module to enable it to serve as an emonBase web-connected base station. Meaning, it can receive data over RF from other OpenEnergyMonitor and JeeLabs modules. The software stack running on the Raspberry Pi inside the emonPi is fully open-source and is based on Debian Raspbian OS running in read-only mode with emonHub’s Python service. This decodes data received on the Pi’s internal serial port from the emonPi in JeeLink Packet format and posts to emoncms. Meanwhile, another python service controls the emonPi’s LCD display, push-button and shutdown button.

Installed near a home’s utility meter, solar PV cell or heat pump, emonPi uses a clip-on current sensor to detect the flow of electricity through the wires. It can also monitor temperature and humidity through wireless sensor nodes.

“The possibilities from easily hackable open-hardware and software are almost limitless. With some tinkering the emonPi can be used as a central hub for home automation and control,” the team adds. “The emonPi can be used to command control nodes via a direct connection by aux I/O through the RJ45 socket or via RF using the on-board RFM69CW transceiver or an OOK RF module. We have in development a central heating and immersion heater RF relay control board.”


Sound like something you’d like in your home? Head over emonPi’s official Kickstarter page, where the OpenEnergyMonitor crew is currently seeking £15,000.

Video: ArdaSol monitors this photovoltaic plant

Heinz Pieren’s ArdaSol was recently featured on the official Arduino blog. This innovative platform is designed to monitor energy production and consumption of a domestic photovoltaic plant.

ArdaSol can be broken down into three primary components. The first – known as ArdaSol Display – is built around an Atmel-based Arduino Mega board (ATmega2560 MCU) and tasked with collecting data, as well as relaying information to a remote server.

Next up is the Energy Monitor, which is powered by an an Atmel-based Arduino Uno (ATmega328 MCU). This component measures consumption, displays energy values and relays data to the ArdaSol display.

Last, but certainly not least, the Remote PVI Interface is based on a (second) Arduino Uno. The PVI is equipped with an RS485 interface connected to the ArdaSol remote, effectively acting as a gateway to the ArdaSol Display.

“It converts the requests, with a radio signal to the PVI and vice versa,” Pieren added.

Interested in learning more? You can check out Pieren’s official ArdaSol page here and the original Arduino blog post here.