Loom 4 v4.5
Arduino library for Internet of Things Rapid Prototyping in environmental sensing
Loading...
Searching...
No Matches
Loom 4 Documentation

Installation

Guides

Project Purpose

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.

Who is it for?

Features and Benefits

Technical Architecture

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.

Hardware Foundation: Adafruit Feather M0

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.

Logging and Power Management: Hypnos Board

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.

This figure shows the current version of the Hypnos board.

Software Layer: Loom Manager and Modules

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.

Data Flow

  1. Sensors are initialized and registered with the Manager.
  2. At each loop interval, data is collected, timestamped (via the RTC), and optionally labeled with user-defined metadata.
  3. Data is routed to output modules such as SD card logging, MQTT publishing, or serial output.
  4. If using the Hypnos board, the device then enters a low-power sleep mode until the next cycle.

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.

Loom Data Pipeline Diagram