H013-0014
Loom, A Simple Modular Framework for Rapid Prototyping Environmental Sensors, Actuators, and Data Collection

Monday, 7 December 2020
Poster
Kenneth Kang1, Adam C Kerr1, Madelyn Smith2, Christopher G Brady1, Noah Koontz3, John S Selker4 and Chet Udell5, (1)Oregon State University, Corvallis, OR, United States, (2)Oregon State University, Corvallis, United States, (3)Oregon State University, College of Engineering, Corvallis, OR, United States, (4)Oregon State University, Biological and Ecological Engineering, Corvallis, OR, United States, (5)Oregon State University, Biological & Ecological Engineering, Corvallis, OR, United States
Abstract:
Open source sensor technologies are becoming materially more accessible (e.g. cheaper, more ubiquitous), increasing potential for designing user-driven customized solutions for environmental sensing. But are these technologies more accessible from a usability standpoint? Barriers in programming and hardware literacy prevent many people in both workspace and academia from making use of these capabilities. Furthermore, we recognized a common practice in the open-source sensor design community to begin a new sensor project by starting from raw components and basic example code, from scratch each time. Yet many environmental sensing projects require similar capabilities (e.g. log a sensor at a defined period to SD card). Scalability of related projects would benefit from a library and modular architecture to enable capabilities of one project to be simply enabled or disabled in future projects. The OPEnS Lab team of computer science and electrical engineering students created a fully open-sourced, modular, user-friendly, sensor/actuator Arduino library and ecosystem called Loom. Loom is written in C++ that enables a bridge between the Arduino IDE and hardware libraries that allows the modular use of features including: measure I2C, Serial/UART, SDI12, and SPI sensors; log sensor data values on a micro SD Card and OLED panel; publish to Google Sheets over three unique internet platforms: LTE/4G, Ethernet, and Wi-Fi; communicate between devices with three distinctive radio communications; Real-Time Clock with alarm events; and motor-actuator control. While having these features, we strived to maintain a syntax that is simple for non-technical users to utilize the code effectively. It has extensive customization for complex applications with user unique configuration settings. Therefore, Loom 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 the world. Follow the project at https://github.com/OPEnSLab-OSU/Loom