What is MoMo, you might ask? Excellent question! First, the elevator pitch:
MoMo is a modular remote data collection platform which can be used to retrieve sensor data and aggregate it in a central location. This data can then be used to visualize large infrastructure systems, identify weak points and individual failures, analyze trends, and inform plans for future development. It can also trigger automatic notifications to the right people should something go wrong.
For simplicity, MoMo can be thought of as a sensor connected to a cell phone. The canonical example of MoMo in action is a flow sensor attached to the nozzle of a hand-pump well, recording and reporting via SMS the volume of water flowing through the pump. This allows near-instantaneous feedback and repair requisitioning should the pump fail, as well as real-time visibility into the functionality and effectiveness of the water point. The technology behind MoMo can be broken down into hardware, firmware and software, all of which will be open source and freely available to anyone who wants to use it. Here’s a taste of what MoMo entails:
Every MoMo has a small controller module with a 16-bit PIC24 microprocessor. This is the brains of the operation, and is connected via a custom I2C remote procedure call protocol we’ve dubbed MIB (Module Interconnect Bus) to any number of sub-modules with 8-bit PICs for sensing information and transmitting aggregate reports. MoMo is a modular platform designed with the following goals:
Extensibility - anybody should be able to develop new sensor or communication modules which will plug-and-play with any MoMo system. This could allow the same core platform to sense anything from water flow to electrical current to temperature and transmit that data via any number of communication media - SMS over GSM, cellular data over GPRS, local storage to SD cards, WiFi etc.
Low-cost production, low-power operation - The modular design allows MoMo components (such as the controller board) to be produced at high volume for less money per unit. These same modules can be used for a wide variety of applications when paired with different sensor and communication modules. The electronic components used in MoMo as well as our custom firmware design are carefully tailored for low power consumption and long battery life.
Ease of development - One of the major byproducts of R&D time spent on core MoMo hardware and firmware has evolved into one of the platform’s greatest strengths. With accessible development paradigms, embedded bootloaders enabling remote firmware re-flashing of the PIC processors, and easy-to-use tools for interacting with MoMo over USB, the MoMo ecosystem endeavors to enable low-barrier-to-entry, well-structured, iterative development.
When a MoMo device (potentially consisting of several sensors) reports aggregate readings over SMS or some other communication medium, it eventually gets parsed and imported into a backend database. The server can then send out notifications to interested parties (such as local repairmen) and will also present the information in a web-based portal application with three target audiences:
This data will also be programmatically accessible via a simple REST API, and the portal will include tools for analyzing data, correlating it with complementary datasets, and managing devices and notification preferences.
We’ll be unveiling more technical details (including targeted deep-dives) as well as the actual hardware, firmware, and software open-source repositories in the coming weeks, stay tuned!