MDB: A Metadata Tracking Microcontroller Micro-Database

Marsalis T. Gibson, Javier Rosa, Eric A. Brewer
This work in progress explores a database designed to enable data sharing on custom hardware data collection devices and prototypes. We target the Arduino hardware abstraction layer because of its ease of use and community support and low cost compared to using off the shelf devices. Additionally, other projects and systems frequently are based on the Arduino or Wiring framework such as ODK’s FoneAstra, the Open Energy Monitor, and the Grove system of sensors. However, such open source hardware currently does not have a framework that enables ease of integration into larger data collection systems and sharing of sensor data from local to remote storage. To address the issue, we propose a solution based on a small database usable on the Arduino platform for handling a large number of sensors that would integrate into the Mezuri data collection system. The database is designed to be fit within the memory constraints on a microcontroller while sensor data with relatively few fields per reading. This framework enables users in emerging regions to directly measure physical quantities as well as indirectly measure human behavior in future development projects involving direct sensing. The database can be used by a non-expert. In particular, we investigate the qualities that a technically inclined social scientist would look for when storing such data on microcontrollers. To enable Mezuri integration we support metadata as a first class object accessible with additional utility functions and native synchronization support.