Skip to content

An open-sourced remote air quality sensing device made by OPEnS Lab OSU. The device logs air quality index parameters to MongoDB.

Notifications You must be signed in to change notification settings

OPEnSLab-OSU/Wisp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Wisp

An open-sourced remote air quality sensing device made by OPEnS Lab OSU. The device logs air quality index parameters to the MongoDB database.

Project leads: Soren Emmons - emmonsso@oregonstate.edu, Douglas Crocker - crockerd@oregonstate.edu

image

Figure 1: Deployed Wisp unit in Napa Valley

Abstract

Wisp is an open-source air quality monitoring system, a low-cost hardware and software suite that enables near real-time access to in-situ environmental sensor data (including particulate matter 1.0|2.5|4.0|10.0, volatile organic compounds, nitrogen oxides, temperature, and relative humidity) anywhere with a WiFi internet or cellular connection. Scientists, educators, and artists alike can use this tool to obtain and interact with environmental data in new and innovative ways, as well as collaborate remotely. Transforming data collection processes of environmental sensors into Internet of Things (IoT) compatible formats opens new doors into accessing, understanding, and interacting with natural phenomena. Wisp not only enables users to observe data online, but can also transform data into auditory signals and soundscapes through sonification processes or creative animations using newly-created computer applications.

Wisp V1 Sensor Specs

Specification Sensor Resolution Accuracy Full Range
Value Metric Value Metric Value Metric
Senses Ambient Temperature SHT31 0.01 ±0.3 -40 - 125
Senses Humidity SHT31 0.015 %RH ±3 %RH 0 - 100 %RH
Particulate Matter 1.0 SEN55 ±5 ug/m^3 ±5 ug/m^3 0 - 1000 ug/m^3
Particulate Matter 2.5 SEN55 ±5 ug/m^3 ±5 ug/m^3 0 - 1000 ug/m^3
Particulate Matter 4 SEN55 ±25 ug/m^3 ±25 ug/m^3 0 - 1000 ug/m^3
Particulate Matter 10 SEN55 ±25 ug/m^3 ±25 ug/m^3 0 - 1000 ug/m^3
Volatile Organic Compounds SEN55 ±5 VOC index points ±5 VOC index points 1 - 500 VOC index points
Nitrogen Oxides Index SEN55 ±10 NOx index points ±10 NOx index points 1 - 500 NOx index points
5 Watt Solar Panel
Data Collection Frequency 5 Minutes
Battery life (Up to 3 10050 mAh batteries) 25 Days
Project Cost <800 $
Logs Data to SD Time date/hour/min
SD and USB are easily accessible

Hardware In Context

Each Wisp can measure Particulate Matter 10.0|4.0|2.5|1.0, Volatile Organic Compounds(VOC), and nitrogen Oxides(NOx) (SEN55); and air temperature and humidity (SHT31/SHT30), and log data at user-defined intervals to the cloud database: MongoDB. Beyond the sensors used in this paper, the Wisp is capable of using a variety of analog, digital, I2C, SDI-12, and other serial sensors via footprints on the Printed Circuit Board (PCB) detailed in the sections below. While many other sensors, like rainfall, air quality, and wind direction, could have been chosen, we selected the current combination of sensors to fulfill a demand that existed within a local agricultural research lab. The Wisp can operate for up to a month on a battery capacity of 3 10050 mAh batteries with a logging period of every five minutes. The logging period is arbitrary and can be adjusted to accommodate any power requirements. The total operation duration of the system can be lengthened significantly with the addition of a solar panel and better power management, which is recommended in areas with lack of access to a dedicated power source.
The integration of particulate matter data into a centralized cloud database by the Wisp unit enables the aggregation and analysis of air quality data on a broader scale. By centralizing this data, researchers can more effectively identify trends and patterns in air quality over time. This approach not only facilitates the detection of emerging environmental trends but also enhances the understanding of the impact of various factors on air quality.


The Wisp device produced at the OPEnS Lab aims to collect environmental data. Data is streamed in real time via a local server to MongoDB, an online database. Computer applications can subscribe to these data stream feeds, and data analysis can be conducted based on the data sent by Wisp units.

Hardware Description

Version 1
The Pelican case has three holes drilled on the side to accommodate the PG7 cable glands and waterproof cable set. This allows for the SHT31 and SEN55 sensor to be swapped out easily. Inside the case, a custom 3D printed base plate holds the Featherwing doubler, LTE cellular board, and batteries securely in place. A Feather M0 WiFi and Hypnos v3.3 board is used to store data collected by a particulate matter sensor (SEN55) and temperature & humidity sensor (SHT31). The v3.3 Hypnos board turns peripherals on and off to preserve power, wakes up at intervals using the embedded DS3231 RTC, transmits data via cellular LTE, and stores data onboard a microSD card. In order to enable 4G capabilities, the use of components such as the SARA-R4 4G board for 4G cellular connectivity, a solar charger, and a 5 Watt solar panel is implemented.

image

Figure 2: Wisp v1 PCB with footprints for analog, digital, I2C, and other serial sensors

Other I2C sensors may also be connected as long as there is relevant code to handle requesting data on the Feather M0.

 

image

Figure 3: Fully built Wisp device

Electronics

image

Figure 4: Block diagram of Wisp electronics

The most relevant features of the electronics system are the following:

  • Measures Particulate Matter 1.0/2.5/5.0/10.0, volatile organic compounds, and nitrogen oxides
  • Measures air temperature and humidity
  • Saves data to SD
  • Onboard RTC and power switching relays for power savings
  • Cellular LTE access to upload data to the MongoDB server
  • WiFi access to upload data to MongoDB server

Current Draw Test

The Wisp device draws approximately 20mA when initializing and 117mA during sensor polling. During transmission, the Wisp draws 305mA peak current. It sleeps for 5 minutes between data cycles, draws a nominal 5 mA, and peaks at 30 mA using just the battery. A Wisp can operate for approximately one month, transmitting every 6 hours using 5-minute sleep intervals.

State Machine Diagram

Each sample cycle is triggered by RTC alarm to wake from a low-power sleep mode, the Feather M0 requests data from each of the sensors with the Loom Measure code and formats the data according to each logging platform: comma separated for local storage on microSD and JSON for telemetry. After all sensor information has been collected and formatted, the Feather will initiate a message over 4G to a remote MQTT (Message Queueing Telemetry Transport) broker which is being run on an OSU server.

image

Figure 5: Data-flow handling chart

MQTT brokers work by utilizing a publish/subscribe paradigm, this paradigm works on the basis that there are “topics” that are public to everyone viewing the broker. Users can subscribe to topics which allows them to receive a callback when new data is published to the topic. For Wisp, all data messages are sent over a topic, the topic is formatted with the “Site Name”/”Device Name” + “Device Number” to distinguish between the devices and their locations and determine the destination, i.e. collection, in the MongoDB database. Assigning a two part topic to each message allows multiple devices, even with the same name, to publish to different collections of data.

Deployment History

Increasing wildfire frequency and intensity across California, Oregon, and Washington pose a significant threat to the wine industry through the phenomenon of smoke taint, where volatile phenols from smoke are absorbed by grapes, negatively impacting wine quality. So for the past two years, Wisp has been deployed across the West Coast in order to collect data on smoke particulates in vineyards. Over this past year, OPEnS has handled 43 Wisp deployments at vineyards where their data is currently being used by UC Davis, OSU, and WSU.

image

Figure 6: PM 2.5 graph from 6/25/25 - 9/3/25 in Washington

image

Figure 7: VOC index graph from 6/25/25 - 9/3/25 in Washington

image

Figure 8: CSV File output from Wisp unit

Wisp V2

The Wisp V2 is an expansion on the Wisp, significantly expanding the device's compatibility to include the full line of DFRobot gas sensors SEN0465 to SEN0476 and the T6793-5k CO2 sensor. To support this wider array of peripherals, the V2 PCB integrates a new I2C multiplexer, which enhances signal stability and allows users to mix and match sensors for specific research needs. These electronics are housed in a redesigned, fully 3D-printed waterproof enclosure that features improved accessibility for the SD card and expanded capacity for up to five 10050mAh LiPo batteries. Currently in the prototype testing phase, the Wisp V2 provides a robust, customizable platform for long-term field studies and is slated for deployment in May 2026.

image

Figure 9: 3D Renders of the Wisp V2

image

Figure 10: Wisp V2 PCB

Hardware

The Wisp V2 is designed as a highly modular sensing platform capable of measuring a customizable array of environmental parameters. Beyond standard Particulate Matter (1.0–10.0), VOC, and NOx readings, the V2 architecture integrates an I2C multiplexer to support the full line of DFRobot gas sensors (including CO, O3, SO2, and H2S) and the T6793-5k CO2 sensor as well as any other I2C sensors with Loom integration. This allows researchers to swap sensor modules dynamically to suit specific deployment environments without redesigning the hardware. To support these expanded capabilities in remote locations, the device is housed in a custom waterproof enclosure designed to accommodate up to five 10050 mAh batteries, significantly extending operational runtime compared to the V1. By retaining the ability to stream data to MongoDB while increasing sensor flexibility.

Wisp V2 Sensor Specs

Specification Sensor Resolution Accuracy Full Range
Ambient Temperature SHT31 0.01 ℃ ±0.3 ℃ -40 to 125 ℃
Humidity SHT31 0.015 %RH ±3 %RH 0 to 100 %RH
Particulate Matter 1.0 SEN55 ±5 µg/m³ ±5 µg/m³ 0 to 1000 µg/m³
Particulate Matter 2.5 SEN55 ±5 µg/m³ ±5 µg/m³ 0 to 1000 µg/m³
Particulate Matter 4.0 SEN55 ±25 µg/m³ ±25 µg/m³ 0 to 1000 µg/m³
Particulate Matter 10 SEN55 ±25 µg/m³ ±25 µg/m³ 0 to 1000 µg/m³
Volatile Organic Compounds SEN55 ±5 Index ±5 Index 1 to 500 Index
Nitrogen Oxides Index SEN55 ±10 Index ±10 Index 1 to 500 Index
Sulfur Dioxide (SO2) SEN0470 0.1 ppm ±10% 0 to 20 ppm
Carbon Monoxide (CO) SEN0466 1 ppm ±10% 0 to 1000 ppm
Ozone (O3) SEN0472 0.1 ppm ±10% 0 to 10 ppm
Hydrogen Sulfide (H2S) SEN0467 1 ppm ±10% 0 to 100 ppm
Carbon Dioxide (CO2) T6793-5K 1 ppm ±45 ppm 400 to 5000 ppm

Resource List

Tutorials

About

An open-sourced remote air quality sensing device made by OPEnS Lab OSU. The device logs air quality index parameters to MongoDB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages