Product Name MODULAIR™-PM
Version 0.1.0
Last Updated Jan 7, 2021
Last Updated by David Hagan
Previous Versions
None available.
- 1. Introduction and Specifications
- 1.1 Specifications
- 1.1.1 Air Quality Measurements
- 1.1.2 Power and Communication
- 1.1.3 Operating Specifications
- 1.2 Certifications
- 2. Installation and Hardware Setup
- 2.1 Unpacking
- 2.2 Instrument Layout
- 2.2.1 Front Panel
- 2.2.2 Core Circuit Board
- 2.3 Connections and Device Registration
- 2.4 Installation
- 2.5 Display and Menu Navigation
- 3. Software Setup and Data
- 3.1 Understanding and decoding the status flag
- 3.2 Leveraging QuantAQ's Software Tools
- 4. Maintenance and Service
- 4.1 Reporting Issues
- 5. Changelog
- 5.1 Hardware Changes
- 5.2 Firmware Changes
- 6. Appendix
- 6.1 Wiring Diagrams
- 6.1.1 CBL-1 µSD Breakout Board
- 6.1.2 CBL-2 Relative Humidity, Temperature, and Pressure Breakout Board
- 6.1.3 CBL-3 Particle Sensor 1
- 6.1.4 CBL-4 Particle Sensor 2
- 6.2 LED Indicator Status and Meaning
1. Introduction and Specifications
MODULAIR™-PM provides real-time estimates of particulate matter concentrations (PM1, PM2.5, and PM10) and particle size distribution using a novel combination of multiple light-scattering-based particle sensors (patent pending).
1.1 Specifications
1.1.1 Air Quality Measurements
Parameter
, , and
Particle size distribution
Temperature
Relative Humidity
Pressure
Range
0 to 2,000 µg/m3
0.35 to 40.0 µm (24 size bins)
-40 to 85 ºC
0 to 100 %
300 to 1,100 hPa
Accuracy
Not yet determined.
Not yet determined.
± 1 ºC
± 3%
± 1.7 hPa
1.1.2 Power and Communication
Parameter
Power
Communication
Data
Details
5V, 2A (supply)
500 mA average consumption
LTE (North America)
3G/2G (Worldwide)
Web interface (quant-aq.com)
Programmatic access (QuantAQ Cloud API)
Local Storage (16 GB on-board µSD card)
1.1.3 Operating Specifications
Parameter
Weatherproof rating
Operating temperature
Operating humidity
Dimensions
Weight
Details
IP68
-20 to 60 ºC
5 to 95 %, non-condensing
6.59" x 6.59" x 5.11"
4 lbs (1.8 kg)
1.2 Certifications
The MODULAIR™-PM air quality sensor complies with part 15 of the FCC rules for class A devices. Operation is subject to the following two conditions: (1) this device may not cause harmful interference; (2) this device must accept any interference received, including interference that may cause undesired operation.
Model: MODULAIR-PM
Contains FCC ID: 2AEMI-BRN402
2. Installation and Hardware Setup
2.1 Unpacking
When you unpack your device, you should have received the following:
- MODULAIR-PM Particulate Matter Sensor
- Power supply and USB-C power cable
- Mounting hardware (flanges with 4 10-32 screws)
- 16 GB µSD card
If any of these components are missing, please contact QuantAQ via support.quant-aq.com. If the shipping box contains multiple devices, you will receive the correct multiple of each component from the list above.
2.2 Instrument Layout
2.2.1 Front Panel
The front panel of the device can be accessed by opening the lid of the enclosure. The panel provides access to the ON/OFF switch, Menu button, LED indicator, and the LCD screen. Each component is labeled in Figure 1.
2.2.2 Core Circuit Board
Underneath the front panel (which can be opened by removing the two 10-32 screws in the top and bottom corners), you will find the Core Circuit Board and µSD circuit board. While it is unlikely you will ever need to touch this, it is worth pointing out a few key components.
2.3 Connections and Device Registration
The MODULAIR-PM is shipped completely assembled, aside from the mounting hardware. Once the device is mounted and you have verified the power switch is in the OFF position, simply plug in the power supply and connect the USB-C cable in to the bottom of the device. Once the power cable is connected, simply flip the power switch to the ON position. Upon receiving power, the LCD display will flash a "Warming Up..." message indicating the device is powering up and preparing to make measurements. The LED indicator (Figure 1) will flash green and eventually begin a sequence of slowly breathing cyan; this indicates the cellular connection is active and a session with the cloud server has begun. If the device is being powered on in a new location or has been powered off for an extended period of time, this may take some time to complete. The device will log data locally during this period and push the data to the server once a connection is established. If the LED indicator does not eventually begin breathing cyan, this indicates a cloud connectivity problem. Common errors and next steps can be found in Section 6.2.
To register your device, scan the QR code that is attached to the label on the inside of the device lid. It is easiest to complete this step using a cellphone or tablet with working internet connection. A laptop with a functioning camera will also work, though may be more difficult. It is also suggested that you first login to the website on the device you will use to complete this process. To register your device:
- Use your camera to scan the QR code. This will open a tab in your default browser and will direct you to the device registration page.
- Enter the fields for the information that the form asks for and click "Continue"
- Enter the claim code found on the same QR code sticker on the inside of the device lid - it should be a 6-character alphanumeric code.
- Follow the instructions on the form and enter in data for the device location and other meta data. All of these can be changed in the future through the dashboard, so don't worry if you can't answer all questions at this time.
2.4 Installation
The device can be mounted in a number of ways depending on the exact use and available mounting options available to you. The device is shipped with mounting flanges which can be used to easily mount the device to a number of surfaces. Each flange is secured to the back of the device with two 1/4-20 x 0.5" stainless steel screws (included). Each flange includes three slots with the dimensions found below.
Common installation approaches include:
- using high-strength zip ties to secure the device to a fence or post
- using screws to mount the device using the provided flanges
If a more secure approach is needed, a pole mount kit can be purchased directly from the supplier of the enclosures (Polycase part number PL-080).
2.5 Display and Menu Navigation
The device has a 16x2 character LCD display for communicating error codes and basic information about the state of the device. This LCD is NOT intended to be a real-time display of data and will timeout after 30 seconds if left untouched. Upon starting the device, the screen will display a "Warming up..." message until the device is ready to communicate. During this time, the device is trying to make the initial cellular connection, begin a session, and let the fans that pull in air to the system warm up and reach full speed. During the warm up period, it is also expected that the LED indicator will flash green and then eventually begin breathing cyan. This indicates the connection to the cloud server is complete and a session has begun.
The menu has four options which display different pieces of information designed to help you debug the device and/or ensure it is operating correctly. You can cycle through the options by pressing the menu button. The items can be summarized as follows:
- Current firmware version
- Relative humidity, temperature, and pressure with units of %, ºC, and hPa respectively.
- Particulate Matter values - these are raw, uncalibrated values and should be used only as indicative measures to understand whether the device is operating properly or not. Final, calibrated values can be obtained by logging into quant-aq.com and downloading the data for your device.
- Status - the last menu option displays the status of the device. If there is a current issue with any of the sensors or peripheral devices, it will be reported here. Otherwise, an "All Good" message will appear. If there is an error, its error code will be reported. Error codes can be decoded according to the instructions found in Section 3.1.
3. Software Setup and Data
Data is collected and saved to the on-board µSD card every five seconds; every minute, these values are averaged and pushed to the cloud where they are available on the QuantAQ Cloud. It is unlikely you will ever need to use the locally saved data; however, it is there in case you need it. This section covers the locally stored data and how to understand it. When removing the µSD card to pull the data, make sure your device is turned OFF.
On the µSD card, you will find data files (with a prefix of DATA_YYYYMMDD.csv) and log files which are located in the logs directory. Log files contain debugging information about the on-board sensors and the cellular communications module. It is unlikely these logs will be useful to most users, though they are available to you if you would like to view them. It is highly recommended that you use the QuantAQ CLI (discussed below) to analyze them, as it will vastly reduce the amount of time needed.
Data files are written each day and can be read or analyzed using any programming language or spreadsheet program (e.g., Microsoft Excel). Each file begins with three meta-data rows describing the device model (row 1), device ID (row 2), and the device serial number (row 3). If you are automating your data analysis, you can skip these three rows. The fourth row contains the header information with the names for all columns. The remaining rows contain the data, where each row corresponds to a new 5-second sampling interval. The table below summarizes the columns.
Column
timestamp_iso
sample_rh
sample_temp
sample_pres
bin0
bin1
bin2
bin3
bin4
bin5
bin6
bin7
bin8
bin9
bin10
bin11
bin12
bin13
bin14
bin15
bin16
bin17
bin18
bin19
bin20
bin21
bin22
bin23
bin1MToF
bin3MToF
bin5MToF
bin7MToF
sample_period
sample_flow
opc_temp
opc_rh
opc_pm1
opc_pm25
opc_pm10
laser_status
pm1_std
pm25_std
pm10_std
pm1_env
pm25_env
pm10_env
neph_bin0
neph_bin1
neph_bin2
neph_bin3
neph_bin4
neph_bin5
flag
fw
connection_status
Unit
%
ºC
hPa
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
p/cm3
ml/s
ml/s
ml/s
ml/s
s
ml/s
ºC
%
µg/m3
µg/m3
µg/m3
µg/m3
µg/m3
µg/m3
µg/m3
µg/m3
µg/m3
p
p
p
p
p
p
Description
The sample timestamp in ISO format
Sample relative humidity
Sample temperature
Sample pressure
Number of particles per cubic cm in bin0 (0.35 - 0.46 µm)
Number of particles per cubic cm in bin1 (0.46 - 0.66 µm)
Number of particles per cubic cm in bin2 (0.66 - 1.0 µm)
Number of particles per cubic cm in bin3 (1.0 - 1.3 µm)
Number of particles per cubic cm in bin4 (1.3 - 1.7 µm)
Number of particles per cubic cm in bin5 (1.7 - 2.3 µm)
Number of particles per cubic cm in bin6 (2.3 - 3.0 µm)
Number of particles per cubic cm in bin7 (3.0 - 4.0 µm)
Number of particles per cubic cm in bin8 (4.0 - 5.2 µm)
Number of particles per cubic cm in bin9 (5.2 - 6.5 µm)
Number of particles per cubic cm in bin10 (6.5 - 8.0 µm)
Number of particles per cubic cm in bin11 (8.0 - 10.0 µm)
Number of particles per cubic cm in bin12 (10.0 - 12.0 µm)
Number of particles per cubic cm in bin13 (12.0 - 14.0 µm)
Number of particles per cubic cm in bin14 (14.0 - 16.0 µm)
Number of particles per cubic cm in bin15 (16.0 - 18.0 µm)
Number of particles per cubic cm in bin16 (18.0 - 20.0 µm)
Number of particles per cubic cm in bin17 (20.0 - 22.0 µm)
Number of particles per cubic cm in bin18 (22.0 - 25.0 µm)
Number of particles per cubic cm in bin19 (25.0 - 28.0 µm)
Number of particles per cubic cm in bin20 (28.0 - 31.0 µm)
Number of particles per cubic cm in bin21 (31.0 - 34.0 µm)
Number of particles per cubic cm in bin22 (34.0 - 37.0 µm)
Number of particles per cubic cm in bin23 (37.0 - 40.0 µm)
Time of flight for particles in bin1
Time of flight for particles in bin3
Time of flight for particles in bin5
Time of flight for particles in bin7
The sample period
The sample flow rate
The internal temperature of the OPC
The internal relative humidity of the OPC
The factory computed value for PM1 from the OPC
The factory computed value for PM2.5 from the OPC
The factory computed value for PM10 from the OPC
The status of the laser
The factory computed value for PM1 from the nephelometer
The factory computed value for PM2.5 from the nephelometer
The factory computed value for PM10 from the nephelometer
The factory computed value for PM1 from the nephelometer
The factory computed value for PM2.5 from the nephelometer
The factory computed value for PM10 from the nephelometer
Number of particles in bin0 for the nephelometer
Number of particles in bin1 for the nephelometer
Number of particles in bin2 for the nephelometer
Number of particles in bin3 for the nephelometer
Number of particles in bin4 for the nephelometer
Number of particles in bin5 for the nephelometer
The status flag corresponding to this sample
The current firmware version
A boolean describing the state of the cellular connection
3.1 Understanding and decoding the status flag
Each row of data contains a single byte data flag that describes the current state of the device. Flags are stored as unsigned integers and contain encoded information about each of the sensors on board. They are generated via a bitmask and can be decoded by reversing the procedure. To determine whether a specific flag is set, you can use the bitwise AND operation. If the flag's value is returned, then it is set. If a zero is returned, it is not set. This can seem complicated, so let's clear it up with a simple example.
Let's assume the value of the flag column is set to 4. We can perform a bitwise AND operation to check the result to see if FLAG_STARTUP was set (it wasn't). Below, we will check to see if the flag for the nephelometer is set (it is!).
# bit AND - is FLAG_STARTUP set?
>>> 4 & 1
0
# bit AND - is FLAG_NEPH set?
>>> 4 & 4
4
The following table describes the flags, their value, and what they mean.
Flag
FLAG_STARTUP
FLAG_OPC
FLAG_NEPH
FLAG_RHTP
Value
1
2
4
8
Why is it set?
This flag is set when the device powers on.
This flag is set when the OPC has indicated the data failed to transfer correctly. This can be caused by the fan being off, the laser being off, or the checksum not validating properly.
This flag is set when the nephelometer has indicated the data failed to transfer correctly.
This flag is set when the relative humidity, temperature, and pressure sensor has failed.
What to do?
Remove any rows where this flag is set.
Remove any rows where this flag is set.
Remove any rows where this flag is set.
Remove any rows where this flag is set.
3.2 Leveraging QuantAQ's Software Tools
To make data analysis easier, QuantAQ maintains a number of software programs designed to reduce the time you spend munging and cleaning your data. The most relevant piece of software is going to be the QuantAQ CLI (command line interface). The CLI can be used to easily concatenate files, merge files together, and de-code the flag and NaN bad data. It is quite simple to go from a large folder full of files to a clean, munged data file in less than a few commands. Full documentation and use cases can be found on the QuantAQ CLI website.
4. Maintenance and Service
There are no consumable or user-replaceable components to the MODULAIR-PM. If you believe a component is broken or not functioning correctly, please contact support@quant-aq.com for next steps.
4.1 Reporting Issues
As a new product, it is likely that issues will arise with the hardware, firmware, software, or all three! We do our best to prevent issues from arising and will be timely in fixing any that do arise. If you experience an issue or have a suggestion related to the MODULAIR-PM hardware, please check the knowledge base. If you do not find the answer you're looking for in the knowledge base, you can open a ticket at support.quant-aq.com.
5. Changelog
5.1 Hardware Changes
There are no hardware changes to report at this time.
5.2 Firmware Changes
Version 5 (v5) [October 12th, 2020]
Firmware version 5 is the first production release of the device firmware. No changes are listed at this time.
6. Appendix
6.1 Wiring Diagrams
All cables used in the MODULAIR-PM are manufactured by Molex and available via most major distributors including DigiKey, Mouser, and Newark. The following table lists the part numbers and cable lengths for the cable connector; exact pinout diagrams can be found in the following subsections. Where applicable, "NC" means not connected.
Label
CBL-1
CBL-2
CBL-3
CBL-4
N. Pins
8
4
8
6
Manufacturer
Molex
Molex
Molex
Molex
Man. PN
530470810
530480410
530470810
5015680607
DigiKey PN
WM1748-ND
WM1744-ND
WM1748-ND
WM7897CT-ND
Cable Length (mm)
304.8
304.8
304.8
304.8
6.1.1 CBL-1 µSD Breakout Board
CBL-1 connects the Core Board to the µSD breakout board.
Untitled
Pin Number | Label | Type | Description |
---|---|---|---|
1 | VCC | POW | Power in; 4.2VDC (5.5 V max) |
2 | EN | IN | Linear voltage regulator enable pin (active high) |
3 | CLK | BD | Serial clock (SPI) |
4 | MOSI | BD | Master out, slave in (SPI) |
5 | CS | IN | Chip select (SPI) |
6 | MISO | BD | Master in, slave out (SPI) |
7 | NC | ||
8 | GND | GND | Ground |
6.1.2 CBL-2 Relative Humidity, Temperature, and Pressure Breakout Board
CBL-2 connects the Core Board to the RHTP sensor located on the sampling manifold.
Untitled
Pin Number | Label | Type | Description |
---|---|---|---|
1 | VCC | POW | Power in; 3.3V |
2 | SDA | DATA | Serial data line (I2C) |
3 | SCL | DATA | Serial clock line (I2C) |
4 | GND | GND | Ground |
6.1.3 CBL-3 Particle Sensor 1
CBL-3 connects the Core Board to Particle Sensor 1.
Untitled
Pin Number | Label | Type | Description |
---|---|---|---|
1 | VCC | POW | Power in; 5V |
2 | GND | GND | Ground |
3 | NC | ||
4 | NC | ||
5 | TXD | DATA | Serial data |
6 | NC | ||
7 | NC | ||
8 | NC |
6.1.4 CBL-4 Particle Sensor 2
CBL-4 connect the Core Board to Particle sensor 2.
Pin Number | Label | Type | Description |
---|---|---|---|
1 | VCC | POW | Power in; 5V |
2 | SS | IN | Slave select pin (SPI) |
3 | MOSI | DATA | Master out, slave in (SPI) |
4 | MISO | DATA | Master in, slave out (SPI) |
5 | CLK | DATA | Serial clock (SPI) |
6 | GND | GND | Ground |
6.2 LED Indicator Status and Meaning
The LED indicator on the front-panel is used to communicate the status of the cellular and cloud communication status. The LED changes color and mode, each of which indicates a different state as outlined below. The rate at which the LED blinks comes in two flavors: blinking and breathing, where breathing implies a slow pulse where the color of the LED fades in and out.
Untitled
LED Color | Blink Pattern | Mode | Description |
---|---|---|---|
Green | Blinking | Looking for internet | If your device is blinking green, it is trying to connect to the cellular network. There is no need to take any action. |
Breathing | Cloud not connected | If your device is breathing green, it has a cellular connection but has not been able to connect to the cloud. | |
Cyan | Blinking | Connecting to the cloud | Blinking cyan indicates the device has a cellular connection and is attempting to connect to the cloud. There is no need to take any action. This will happen each time on device startup. |
Breathing | Connected | When your device is breathing cyan, everything is good and you are happily connected to the internet and the QuantAQ Cloud. | |
Magenta | Blinking | Firmware Update | When your device is blinking magenta, it is undergoing an over-the-air firmware update. DO NOT power off when this is happening. |
White | Breathing | Cellular Off | If the LED is breathing white, the cellular connection has been turned off. If you did not explicitly turn off the cellular connection via the on-board switch, please notify QuantAQ. |
Red | Blinking | System Failure | A system failure has occurred. This is likely caused by faulty on-board firmware or corrupted memory. Please contact QuantAQ for next steps. |