Loom 4 v4.5
Arduino library for Internet of Things Rapid Prototyping in environmental sensing
|
Loom aims to address the growing need for reliable environmental monitoring in the context of population growth, climate instability, resource scarcity, and natural hazards. While satellite data provide broad Earth observations, dependable insights require complementary ground-based measurements using in situ sensor systems. To accelerate research and monitoring efforts, this project introduces Loom, an open-source development environment for rapidly prototyping environmental datalogging systems using low-power, Arduino-compatible microcontrollers. Loom integrates a variety of components—sensors, data formats, connectivity options (Wi-Fi and LTE), radio telemetry, timing and debugging tools, and power management—into a modular, reconfigurable platform. It supports both scientific research and STEM education by streamlining system development and enabling shared improvements across projects. Ultimately, Loom empowers small teams to support complex, multidisciplinary environmental sensing initiatives, providing a flexible foundation for applications in water, soil, air, agriculture, hazard detection, and more.
Loom is built on a modular, object-oriented architecture that emphasizes flexibility, extensibility, and low power consumption—key traits for environmental, agricultural, and remote IoT deployments.
At the heart of most Loom-based deployments is the Adafruit Feather M0, a lightweight ARM Cortex-M0+ microcontroller with built-in USB, ample GPIO, and excellent compatibility with a wide range of I2C and serial sensors. Its compact size and low power draw make it ideal for field-deployed sensing devices.
To meet the power and data integrity needs of long-term sensing projects, Loom integrates seamlessly with the Hypnos board—a custom shield developed by the OPEnS Lab. The Hypnos combines three essential features:
The Hypnos board was specifically designed to streamline deployment and reduce complexity across OPEnS Lab projects. Its cost-effectiveness and open-source design (see the HardwareX article) make it ideal for scaling across diverse applications.
Loom uses a central Manager
class to register and coordinate sensors, actuators, and services. Each module—whether a sensor like a BME280 or a service like MQTT—is encapsulated in its own class, allowing plug-and-play extensibility without affecting the rest of the system.
Manager
.metadata
.The Loom framework follows a structured data processing model consisting of four main stages: Data Acquisition, Collection & Processing, Data Logging/Transfer, and Long-Term Storage. This pipeline ensures that environmental data collected from sensors is efficiently processed, logged, and made ready for analysis or long-term archiving.