I. Introduction
Wireless sensor platforms span a wide range of designs, from lightweight wearable devices powered by battery or energy-harvesting technology to large unmanned remote monitoring stations used in climate research. Lightweight wireless sensors are often vertically integrated to achieve maximum power efficiency and a small, optimized form factor. However, for wireless sensor systems designed to use multiple high-bandwidth sensors, a programmable general-purpose platform is desired. Many advanced sensors can produce extremely large and continuous data streams. Hyperspectral imagers, such as those used to investigate ecosystem fluxes [1], microphones used to measure urban noise [2], and high-resolution cameras capable of counting pedestrians can easily generate multiple gigabytes of data per day, making streaming all collected data to the cloud impractical. Furthermore, in some sensor deployments, privacy concerns may restrict the resolution of data leaving the devices and being routinely stored in the cloud. Ultimately, a new generation of in situ sensing devices is needed with sufficient computational power to support machine learning across the complement of onboard sensors, moving from embedded devices that are “smart” (but inflexible) to those that can learn and discover. To address this situation, sensor platforms must use the computational power of multiple CPU/GPUs to reduce the data in situ, sending only analyzed results to the cloud. An architecture to support edge computing capable of leveraging the latest advances in machine learning to analyze and classify data must overcome several challenges, including resilience, performance isolation, and data privacy. We describe here the architecture of Waggle, an open sensor platform for edge computing developed by Argonne National Laboratory.