Logo   LOGGER Internet of Things Data Logging

Published Source License

Code Documentation
I2C Addresses
Loading Firmware
Project Status
Processor Module Pinning


Log In...
New User...
All Users...


PJRC hardware
ESP8266 Information


Logger Goals
Key People


What does Logger do? The Logger is a stand alone device that reads sensors and stores the data. The Logger captures 128 bytes of data on up to 100 sensors every few seconds. The data is stored on an SD card and kept permanently. About 40 years of data taken once every five seconds fit on a 64Gb card.

The Logger is a 'last mile' Internet of Things sensor system. It captures sensor data from sensors and logs the sensor history permanently in local memory. The Logger is a Web Server allowing direct obseration of the data that has been logged. The Logger can also control output pins. The Logger then reports to standard cloud based Internet of Things services uplinking the sensor data to the cloud.

The Logger was motivated by prior work monitoring environmental parameters using Mesh Networks at Wireless Sensors and by consumption/production monitoring systems like Solar Log. Another seed was the availability of the extreemly low cost WiFi enabled processor the ESP8266. Logger provides a more complete set of tools and hits a dramatically lower price point than our prior efforts. The cost will certainly be less than $50, possibly quite a bit less. Logger also has a more open software strategy suited to customer enhancements.

This is a web page directly from the Logger device showing a temperature history.

Sensor solutions are often missing the data history capture found in the energy monitors. Without sensor history many control problems are difficult or impossible, for example controlling a furnace from a thermostat is much easier with a few minutes of history to make sure the furnace is not turned on and off too frequently.

Logger seeks to combine sensing, actuation, and usage monitoring on a single platform and to meld those with long term history logging. Often missing in prior solutions is long term data capture (so history is not lost), actuation of outputs, integration of a large variety of sensors in a single device and a more general purpose software and sensor strategy. The display of the data is often not available at the point of data collection nor in real time.

Logger is a slow sample rate data logger and controller for multiple sensors. The long term goal is to provide a complete 'last mile' software system that connects the world of inexpensive embedded system I/O devices (i.e. I2C, SPI and OneWire) to the Internet of Things middleware solutions that are starting to become available. (i.e. Amazon AWS IOT and AT&T's M2X)

Logger already has a basic integration to AT&T's M2X service which allows sensor data to be posted to the cloud. Uplinks of a number of sensors every minute can be handled. A desktop engineering board is logging temperature to the cloud (it is an engineering system so it is not up all the time...)

Logger offers a developers kit that uses a plug and play philosophy for sensors. A variety of simple inexpensive sensor modules are plugged in to a processor module to configure a data logging node targeted at a specific purpose.

The Logger acts as a web server, the data collected is displayed on web pages hosted by the logger itself. This data is also available as XML making it available in machine readable form to computers on the internet.

Use Case: Temperature Alerts

The Logger keeps track of temperature over time. The base level processor module is capable of reporting temperature history to AT&T's M2X service which can send email alerts if the temperature is outside of a specified range.

Use Case: Temperature Tracking

Keep track of temperature over time. The history is a permanent record that can be used to make sure refrigeration is consistant or to watch a heating system. Track many locations and compare them. Report them to the cloud and combine many devices at different locations.

Use Case: Electric Consumption/Production

Combined with current monitoring equipment like a Wattnode Pulse the Logger can watch electric consumption and/or Solar production. The Logger plots graphs of usage over time on web pages. This is live data watching energy consumption at our facility. We recommend choosing "Pulse_0" and asking for 144 columns. Then click the "DAY" button to see the energy consumption every 10 minutes. This system is an engineering system so it is not up all the time.

Use Case: Water Consumption

Connect a water meter to the Logger and the strategies used for electric consumption can monitor water consumption. Detecting a leaking toilet is no more than looking to see if there are intervals with no flow.

Use Case: Controlled Environment

Medical supplies and foodstuffs have to be kept in controlled environments. Having a log of the environmental history can be critical to determining if the items are safe to use.

Use Case: Animal Cage

Research labs keep animals in carefully controlled environments. Typical research projects require knowlege that the environment was properly controlled throughout the experiment. The Logger can also be used to turn experimental systems on and off.

Use Case: Sensor Manufacturer

The maker of an embedded sensor typically makes a demonstration module to allow prospective users to experiment with the sensor and to see if the data measured suits their needs. Logger allows a Sensor Manufacturer to build a trivial (wires only) adapter module and plug that into a Logger processor module. The same processor module can be used for all sensors made by that manufacturer.


Processor Module

The Processor Module contains an ESP8266 WiFi processor and an SD card slot. NOTE: the Cat-5 connectors are simple wiring between modules (not internet). The Processor Module is a WiFi Server hosting web pages that display the sample history. It also is a network client for tasks like automatic time setting and uplinking sensor data. Further it is an Access Point (like a WiFi router) to make it easy to configure. Built in to the processor module are a 0 to 1 volt ADC sensor and a temperature sensor.

I/O Expander Module

Each I/O Expander Module connects Logger to 16 input/output pins. Two modules are supported for a total of 32 pins. Pins set up as outputs can be turned on and off from the internet. Just as the state of the inputs is logged the state of each output is part of what is logged every second.

Using the I/O Expander Module Logger is capable of counting pulses on a subset of the digital inputs. For each such input the total pulses observed to date are logged every second. To calculate usage for an interval read the count at a start time and the count at an end time and subtract. Graphs of usage are available as web pages.

ADC Module

The ADC Module has 8 Analog to Digital converters. The voltage on each is logged every sample. Logger supports one ADC Module.

Humidity Module

The Humidity Module captures relative humidity and temperature every sample. Logger supports one Humidity Module.

Temperature Module

The Temperature Module contains a onewire temperature sensor. It captures temperature every sample. Logger supports up to 8 Temperature Modules.

AC Power Module

The AC Power Module observes 4 AC lines to see if power is on. Think 'the lights are on'. The use case that motivated this module was watching a furnace and the associated thermostatically controlled circulators to determine why the furnace was being turned on and off too frequently.

Developers Kit I/O Module

The Logger developers kit comes with a processor module and a set of I/O modules as an integrated package. The modules are interconnected but can be scored with a knife and snapped apart. Once snapped apart the modules can be interconnected with Cat-5 cables. Sensor modules in this kit are an I/O expander module, an ADC module, an AC power module, two temperature modules, a pressure/temperature/humidity module and a differential pressure module. The sensor on the differential pressure module is not populated, the appropriate range must be chosen to suit the needs of the user.

Key LOGGER Goals

These are the basic ideas that motivate this project.

    Completed Goals
  • Inexpensive data logging that captures all samples at a sensor.
  • Fast access to samples in time linear to the number of samples read.
  • Easy local configuration.
  • Handle input pins.
  • Handle output pins.
  • Easily expandable I/O using I2C, SPI and Onewire interfaces.
  • Automatic detection of Onewire devices
  • Automatic detection of known I2C devices
  • Log pulse counting and frequency of pulses on at least two channels.
  • Report Pulse counts converted to Kilowatt hours.
  • Handle intervals correctly, measure the period by subtracting the count at the start sample from the count at the end sample.
  • Support XML read over the network.
  • Integrate with sensible Internet of Things middleware (such as Amazon's AWS IOT) and Blynk). NOTE: the first integration is with AT&T's M2X service.
    Goals Under Development
  • Support XML read of changes larger than N.
  • With PC based code convert the database file to a file of XML data that dumps the content of the database.
  • Perhaps use Kickstarter funding similar to Blynk Kickstarter


Documentation extracted by DOXYGEN from the source code.
A developer suggested this Download Speed Hack don't know if it works.

Key People

Name Role Cell Land Line email
Michael NewmanCEO, Software 617-821-4608 617-566-7975 mnewman@dragonnorth.com
David M. TenenbaumMarketing   781-799-5148 dmt@airbornesensor.com
Will Thorn Hardware   781-413-1318 willard.thorn@verizon.net

Screen Shots

Logger Work Log for Michael Newman. Send comments and corrections to:
Webmaster: mnewman@dragonnorth.com