Skip to content
Luke Goertzen edited this page Jul 18, 2019 · 18 revisions

logo

Loom

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

DOI

Table of Contents

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.

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

Key Features

  • Quick to setup an entirely new project
  • Code contained in an Arduino library
  • System behavior defined with a configuration specification and minimal code
  • Extensive customizability for complex applications
  • Designed for extensibility
  • Variety of sensors and actuators supported
  • Remote data logging to SD and internet in near real time

Quick Start

Quick Start Guide

Hardware Support

Hardware Support

Documentation

Wiki for general documentation not contained in GitHub readmes

Doxygen generated documentation for documentation of the code and how to use

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
  • Loom-Max 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