General purpose wireless graphical LCD display unit

open-source wireless graphical display - arduino code compatible

emonGLCD Documentation: Schematic and PCB board design:

Required Arduino Libraries

Builds on JeeLabs hardware and uses JeeLabs libraries: Download the JeeLabs Ports and RF12 library here (insert into Arduino librarys folder): -RFM12 library -used for time keeping to reset kWh at midnight -GLCD library

On-board DS18B20 digital temperature sensor uses: Dallas Temperature library: (version 372 works with Arduino 1.0) OneWire library:

emonGLCD sketch examples

  • HomeEnergyMonitor: Home Energy Monitor Example ( for dispaying data from single CT emonTx, and posting on-board temperature online to emoncms with emonBase/NanodeRF. Also gets time from interent via NanodeRF.

  • HomeEnergyMonitor_Old: an old version that is not based on the templates implementation

  • SolarPV: Solar PV monitoring example ( for displaying data from 2CT solar PV monitoring emonTx (type 1 and 2 - see comments in sketch). Posts room temperature online to emoncms via emonBase/NanodeRF. Also gets current time for interent via NanodeRF.

  • SolarPV_Old: an old version that is not based on the templates implementation

  • Template_Example: basic template implementation example

  • Tester: simple sketch to test the function of the temperature sensor, light sensor and tri-colour LED's. Example can be used with or without the LCD and without the RFM12B. If LCD is connected results will be displayed on LCD.

  • GLCD_SSS RF Signal Strength Meter and scanner for 464 or 868MHz bands by Martin Roberts:

Template use

draw_power_page(char* powerstr, double powerval, char* energystr,  double energyval)

draw_temperature_time_footer(double temp, double mintemp, double maxtemp, double hour, double minute)

draw_solar_page(double use, double usekwh, double gen, double maxgen, double genkwh, double temp, double mintemp, double maxtemp, double hour, double minute, unsigned long last_emontx, unsigned long last_emonbase)

draw_dhw_page(double CYLT)

draw_history_page(double genkwh[7], double usekwh[7])