Skip to content
Adam Kerr edited this page Aug 14, 2020 · 18 revisions

logo

Loom

An Internet of Things Rapid Prototyping System for applications in environmental sensing
Project Page · Documentation · Lab Wiki · Quick Start · Configuration

DOI

Introduction

Loom is an ongoing multidisciplinary collaboration of the OPEnS Lab with a team of 20+ Computer Science and Electrical Engineering students to create a fully open source, modular, user friendly, sensor/actuator Arduino library and ecosystem. The project enables environmental research and conservation communities to overcome significant technical hurdles for creating new environmental, agricultural, and ecological instrumentation to measure, monitor, automate, and understand our world.

Table of Contents

Objectives

  • Design a "plug and play" sensor/actuator system
  • Simple enough for K-12 students and non-technical users to use
  • Extensible and programmable enough for engineers to customize
  • Create a wide variety of applications by simply connecting modular components
  • Make the system wireless, low-power, low latency
  • Configure all sensors and actuators on a wireless network using an intuitive graphical user interface
  • Interact with data and control signals on a network in realtime
  • Make data transmitted from local and remote locations available instantly from anywhere around the world

Features

Loom's feature rich ecosystem provides automation and management of many device sub-systems, so you can spend more time designing functionality and less time troubleshooting individual features. Some of Loom's core features include:

Find a comprehensive list and deeper dives into individual features here

Installing Arduino and Loom

Installing Arduino and Loom Quick Setup

Installing Arduino and Loom Manual Setup

Quick Start

Quick Start Guide

Common Pin Allocations

Common Pin Allocations

Hardware Support

Hardware Support

Documentation

Wiki for general documentation not on GitHub or in Doxygen document

Doxygen generated documentation Version 1 for more verbose documentation that is designed for developers

Doxygen generated documentation Version 2 for more user-friendly documenation that is designed for end-users

Note: The documentation does not currently update automatically, if would want to be sure you have the most up to date version of the documentation, you can run Doxygen to manually generate a local copy of the documentation. See the Doxygen website on how to Install Doxygen and Doxygen Usage.

Once installed, the run doxygen Doxyfile from the command line (from Loom directory) to generate the documentation. To view, open the Loom/html/index.html file in a browser.

Contributing

Is there hardware support or other feature you would like to add to Loom? Follow our Guide to contributing to Loom

Versioning

Loom aims to follow Semantic Versioning

Resources

  • Project Page for Loom on OPEnS lab website
  • GitHub Organization for all OPEnS Lab projects
  • Loomify An npm package to drive the backend Loom Tag Format parsing and Loom Library github interactions.
  • Loom Configurator A WebApp designed for designing and exporting loom configurations
  • Loom-Network Arduino networking library designed for use with any wireless radio
  • Loom-Auxilliary General Loom and lab non-code files
  • Max-Loom2 MaxMSP interfaces for Loom interactivity

Custom/Modified Libraries used by Loom

  • OPEnS_RTC A modified arduino library for with support for a variety of RTCs
  • WiFi201 Upgraded WiFi library for the Arduino WiFi Shield 101 and MKR1000 board
  • SSLClient Arduino library to add SSL functionality to any Client class
  • EthernetLarge Ethernet Library for Arduino, modified to support larger buffers for SSLClient

License

Loom is licensed under GNU General Public License v3.0