Skip to content

Arduino library for Internet of Things Rapid Prototyping in environmental sensing

License

Notifications You must be signed in to change notification settings

OPEnSLab-OSU/Loom

Repository files navigation

THIS VERSION OF LOOM HAS BEEN DEPRECATED AND IS NO LONGER BEING SUPPORTED, ANY BUGS YOU MAY ENCOUNTER WILL NOT BE FIXED PLEASE USE Loom 4 https://github.com/OPEnSLab-OSU/Loom-V4

logo

Loom

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

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

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