All pages
Powered by GitBook
1 of 1

Loading...

MODULAIR (pre-2025)dhh

This page documents the QuantAQ MODULAIR air quality sensor.

KEY
VALUE

Product Name

MODULAIR

SKU(s)

MOD-XXX-NorAm

Pre-2025 version of the MODULAIR for use in North America.

MOD-XXX-Global

Pre-2025 version of the MODULAIR for use outside of North America.

XXX is a 3-digit number that indicates the gas sensors included in a specific sensor. The available options historically have been:

  1. 000: PM only

  2. 015: PM, CO, NO, NO2, O3

1. Introduction and Specs

MODULAIR™ provides real-time estimates of particulate matter concentrations (PM1, PM2.5, PM10), the particle size distribution, and four gas-phase measurements. MODULAIR utilizes the same, patent-pending particle measurement technology found in the MODULAIR-PM, which combines nephelometry with single-particle scattering to accurately measure aerosol loadings across a variety of environments.

1.1. Specifications

1.1.1 Air Quality Measurements

PARAMETER
RANGE
ACCURACY

*Temperature and relative humidity are measured inside the flow cell and should not be interpreted as true ambient measurements.

For more information on the operating principle and performance of the MODULAIR, please refer to , , and .

1.1.2 Power and Communications

PARAMETER
DETAILS

1.1.3 Operating Specifications

PARAMETER
DETAILS

1.2 Certifications

1.2.1 FCC 15(b)

The MODULAIR™ 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

Contains FCC ID: 2AEMI-B404X

1.2.2 CE

The MODULAIR™ complies with European Union EMC Directive 2014/30/EU and conforms to the following technical standards (EN 55011, EN 61326).

Model: MODULAIR

Contains FCC ID: 2AEMI-B524

2. Installation and Hardware Setup

2.1 Unpacking

When you unpack your MODULAIR, you should have received the following:

  • MODULAIR Air Quality Sensor

  • Power supply and USB-C charging cable

  • Mounting hardware (flanges with 4, 10-32 screws)

  • 16 GB µSD card (pre-installed)

If any of these components are missing, please contact QuantAQ support via the in-app chat.

2.2.1 Device Overview

Upon opening your MODULAIR, it should appear as Figure 2.1 shows below, without the antenna attached. When attached, the antenna should be facing up to get the best service.

2.2.2 Device Front Panel

The front panel of the MODULAIR can be accessed by opening the lid of the enclosure. The panel provides access to the ON/OFF switch, the µSD card for local data logging, the internal battery status indicator (Battery Charge Status), and the device status LED (Device Status Indicator), all of which are shown in Figure 2.2.

Front Panel Screw

The front panel can be opened by unscrewing the Front Panel Screw, though should not be necessary under normal use. If it is opened, make sure that when re-closing, you do not "pop" out the µSD card. If so, you can simply push it back into place.

2.2.3 Device Base

Viewing the bottom of the MODULAIR, you can see the air intake covered by an insect-screen, the RJ11 jack for connecting the optional sonic anemometer, and the USB-C power in.

2.2.4 Device Circuit Board

The device circuit board is located under the front panel (Figure 2.2). To access, un-screw the Front Panel Screw and you will see the Core Board toward the lower left, as shown in Figure 2.4. The micro-USB cable is used exclusively for streaming logs directly from the device. While it does output some data, it is not designed to be used to connect to a data logger (this behavior is not supported). When used to collect logs, the MODULAIR must still be powered by the normal Power In USB-C connector shown in Figure 2.3.

2.3 Connections and Device Registration

The MODULAIR 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, plug in the power supply and connect the USB-C cable to the bottom of the device. Once the power cable is connected, flip the power switch to the ON position. Upon receiving power, the Device Status LED (Figure 2.2) 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 the period where it is searching for cellular service 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 on the device registration card you received with your device. It is easiest to complete this step using a cellphone or tablet with a working internet connection. A laptop with a functioning camera will also work, though may be more difficult. It is also suggested that you first log in to the website (quant-aq.com) on the device you will use to complete this process. To register your device:

  1. 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.

  2. Enter the fields for the information that the form asks for and click "Continue"

  3. Enter the claim code found on the same QR code card → it should be a 6-character alphanumeric code.

  4. 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 MODULAIR can be mounted in several ways, depending on your exact use and the available mounting options available to you. The device is shipped with mounting flanges, which can be used to easily mount the device to several surfaces. Each flange is secured to the back of the device with two 10-32 stainless steel screws (included). Each flange includes three slots with the following dimensions:

Common installation approaches include:

  • using high-strength zip ties to secure the device to a fence or post (not recommended)

  • using screws to mount the device to a wall using the provided flanges

  • Using u-bolts or similar to attach to a fence post, fence, or rail

  • Purchase a pole mount kit from Polycase (the box supplier). .

The complete box dimensions are:

11.04" x 9.04" x 5.72" (280.42 x 229.62 x 145.29 mm)

2.5 Connectivity Considerations

3. Software Setup and Data

3.1 Data Structure and Outputs

There are three primary ways in which data can be accessed for the MODULAIR:

  1. Raw data is stored locally on the µSD card

  2. Data can be downloaded from the QuantAQ Cloud Console

  3. Data can be downloaded from the QuantAQ API

The data formats are slightly different depending on which method you’ve used to access the data, each of which is documented below.

3.1.1 Data Stored Locally on the µSD Card

Data is collected and saved to an onboard µSD card every five seconds; each 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, you are more than welcome to use it if you would like. 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 onboard sensors and the cellular communication module. It is unlikely these logs will be useful to most users, though they are available to you if you would like to use 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 device serial number (row 3). See Figure 3.1A below. If you are automating your data analysis, you can skip these three rows. The fourth row contains the header information with the names of 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.

The data outputs will change depending on the SKU (or model) of your MODULAIR. Most columns are constant except for the gas-phase columns.

COLUMN
SKU
UNIT
DESCRIPTION

3.1.2 Data Downloaded from the QuantAQ Cloud Console

Data are pushed to the QuantAQ Cloud with 1-minute time resolution and can be downloaded via the QuantAQ Cloud Console. When downloading data, you can select whether you would like to download the raw data, the final data, or both the raw+final data. Generally, the final data is what is desired, as it contains the final, cleaned data that is ready for analysis. The raw data is well-suited for researchers trying to investigate specific questions. When downloaded, the data is exported as a csv and contains the following columns:

COLUMN
FILE LOCATION
UNITS
DESCRIPTION

3.1.3 Data Downloaded via the QuantAQ API

Data are available via the QuantAQ API at a 1-minute recording interval → the data available are the same as those available via the QuantAQ Cloud Console discussed above. The API is designed to allow engineers to build applications and map layers powered by the QuantAQ platform; however, it can also be a good way to automate data downloads, especially for large teams or lengthy download intervals. The data format is slightly different, as outlined below.

Each API call will return a paginated list of json objects with two keys: data and metaand will look something like the following:

The key definitions can be described as:

first_url: The unique url for the first page of data in the query

last_url: The unique url for the last page of data in the query

next_url: The unique url for the next page of data in the query

prev_url: The unique url for the previous page of data in the query

page: The current page number

pages: The total number of pages available for the query

per_page: The number of data objects per page

total: The total number of data objects in the query

The data object contains a list of all individual data objects for that page of data. You can query either the raw or the final data, both of which have different data values available. The final endpoint will return the following and will be different depending on the product SKU:

It contains several objects including the geo, met, and model objects. The descriptions of the individual data points are mapped to their respective columns in Section 3.1.2 above.

Note: If nothing appears in the right-hand column, the variable definition/name is the same

3.2 Understanding 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!).

The following table describes the flags, their value, and what they mean.

The following table describes the flags, their value, and what they mean.

FLAG
VALUE
WHY IS IT SET?
WHAT TO DO?

3.3 Leveraging QuantAQ's Software Tools

To make data analysis easier, QuantAQ maintains several 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 via the in-app chat.

4.1 Reporting Issues

As a new product, issues will likely 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 hardware, please check the . If you do not find the answer you're looking for in the , you can open a ticket via the in-app chat.

5. Changelog

5.1 Hardware Changes

DATE
VERSION
CHANGES

5.2 Firmware Changes

Please see our for a full history of all firmware support changes.

6. Appendix

6.1 Wiring Diagrams

Coming soon!

6.2 LED Indicator Status and Meaning

031: PM, CO, NO, NO2, O3, CO2

Only the 000 and 015 have been manufactured and sold since 2023.

Nitrogen Oxide (NO)

0 to 5,000 ppb

5 ppb or 20%

Nitrogen Dioxide (NO2)

0 to 5,000 ppb

6 ppb or 35%

Temperature*

-40º to 85º C

+/- 0.2ºC

Relative Humidity*

0 to 100%

+/- 2%

Device registration card
  • Sonic anemometer (if purchased)

  • Solar Power System (if purchased)

  • flag

    all

    The status flag corresponding to this data row

    sample_temp

    all

    °C

    The sample temperature

    sample_rh

    all

    %

    The sample relative humidity

    bin0

    all

    p/cm3

    Number of particles per cubic cm in bin0 (0.35 - 0.46 µm)

    bin1

    all

    p/cm3

    Number of particles per cubic cm in bin1 (0.46 - 0.66 µm)

    bin2

    all

    p/cm3

    Number of particles per cubic cm in bin2 (0.66 - 1.0 µm)

    bin3

    all

    p/cm3

    Number of particles per cubic cm in bin3 (1.0 - 1.3 µm)

    bin4

    all

    p/cm3

    Number of particles per cubic cm in bin4 (1.3 - 1.7 µm)

    bin5

    all

    p/cm3

    Number of particles per cubic cm in bin5 (1.7 - 2.3 µm)

    bin6

    all

    p/cm3

    Number of particles per cubic cm in bin6 (2.3 - 3.0 µm)

    bin7

    all

    p/cm3

    Number of particles per cubic cm in bin7 (3.0 - 4.0 µm)

    bin8

    all

    p/cm3

    Number of particles per cubic cm in bin8 (4.0 - 5.2 µm)

    bin9

    all

    p/cm3

    Number of particles per cubic cm in bin9 (5.2 - 6.5 µm)

    bin10

    all

    p/cm3

    Number of particles per cubic cm in bin10 (6.5 - 8.0 µm)

    bin11

    all

    p/cm3

    Number of particles per cubic cm in bin11 (8.0 - 10.0 µm)

    bin12

    all

    p/cm3

    Number of particles per cubic cm in bin12 (10.0 - 12.0 µm)

    bin13

    all

    p/cm3

    Number of particles per cubic cm in bin13 (12.0 - 14.0 µm)

    bin14

    all

    p/cm3

    Number of particles per cubic cm in bin14 (14.0 - 16.0 µm)

    bin15

    all

    p/cm3

    Number of particles per cubic cm in bin15 (16.0 - 18.0 µm)

    bin16

    all

    p/cm3

    Number of particles per cubic cm in bin16 (18.0 - 20.0 µm)

    bin17

    all

    p/cm3

    Number of particles per cubic cm in bin17 (20.0 - 22.0 µm)

    bin18

    all

    p/cm3

    Number of particles per cubic cm in bin18 (22.0 - 25.0 µm)

    bin19

    all

    p/cm3

    Number of particles per cubic cm in bin19 (25.0 - 28.0 µm)

    bin20

    all

    p/cm3

    Number of particles per cubic cm in bin20 (28.0 - 31.0 µm)

    bin21

    all

    p/cm3

    Number of particles per cubic cm in bin21 (31.0 - 34.0 µm)

    bin22

    all

    p/cm3

    Number of particles per cubic cm in bin22 (34.0 - 37.0 µm)

    bin23

    all

    p/cm3

    Number of particles per cubic cm in bin23 (37.0 - 40.0 µm)

    bin1MToF

    all

    ml/s

    Time of flight for particles in bin1

    bin3MToF

    all

    ml/s

    Time of flight for particles in bin3

    bin5MToF

    all

    ml/s

    Time of flight for particles in bin5

    bin7MToF

    all

    ml/s

    Time of flight for particles in bin7

    sample_period

    all

    s

    The sample period in seconds.

    sample_flow

    all

    ml/s

    The OPC sample flow rate.

    opc_temp

    all

    °C

    The internal temperature of the OPC

    opc_rh

    all

    %

    The internal relative humidity of the OPC

    opc_pm1

    all

    µg/m3

    The factory computed value for PM1 from the OPC

    opc_pm25

    all

    µg/m3

    The factory computed value for PM2.5 from the OPC

    opc_pm10

    all

    µg/m3

    The factory computed value for PM10 from the OPC

    laser_status

    all

    The status of the OPC laser.

    pm1_std

    all

    µg/m3

    The factory computed value for PM1 from the Nephelometer

    pm25_std

    all

    µg/m3

    The factory computed value for PM2.5 from the Nephelometer

    pm10_std

    all

    µg/m3

    The factory computed value for PM10 from the Nephelometer

    pm1_env

    all

    µg/m3

    The factory computed value for PM1 from the Nephelometer

    pm25_env

    all

    µg/m3

    The factory computed value for PM2.5 from the Nephelometer

    pm10_env

    all

    µg/m3

    The factory computed value for PM10 from the Nephelometer

    neph_bin0

    all

    p

    Number of particles in bin0 for the nephelometer

    neph_bin1

    all

    p

    Number of particles in bin1 for the nephelometer

    neph_bin2

    all

    p

    Number of particles in bin2 for the nephelometer

    neph_bin3

    all

    p

    Number of particles in bin3 for the nephelometer

    neph_bin4

    all

    p

    Number of particles in bin4 for the nephelometer

    neph_bin5

    all

    p

    Number of particles in bin5 for the nephelometer

    ws

    all

    mph

    The wind speed from the sonic anemometer.

    wd

    all

    deg

    The wind direction from the sonic anemometer.

    co_we

    015, 031, 033

    mV

    The working electrode signal for the CO sensor.

    co_ae

    015, 031, 033

    mV

    The auxiliary electrode signal for the CO sensor.

    no_we

    015, 031

    mV

    The working electrode signal for the NO sensor.

    no_ae

    015, 031

    mV

    The auxiliary electrode signal for the NO sensor.

    so2_we

    033

    mV

    The working electrode signal for the SO2 sensor.

    so2_ae

    033

    mV

    The auxiliary electrode signal for the SO2 sensor.

    no2_we

    015, 031

    mV

    The working electrode signal for the NO2 sensor.

    no2_ae

    015, 031

    mV

    The auxiliary electrode signal for the NO2 sensor.

    ox_we

    015, 031

    mV

    The working electrode signal for the OX sensor.

    ox_ae

    015, 031

    mV

    The auxiliary electrode signal for the OX sensor.

    co2_raw

    031

    mV

    The raw signal for the CO2 sensor.

    sn

    rawfinal

    The device serial number

    rh

    rawfinal

    %

    The sample relative humidity

    temp

    rawfinal

    °C

    The sample temperature

    bin0

    raw

    p/cm3

    Number of particles per cubic cm in bin0 (0.35 - 0.46 µm)

    bin1

    raw

    p/cm3

    Number of particles per cubic cm in bin1 (0.46 - 0.66 µm)

    bin2

    raw

    p/cm3

    Number of particles per cubic cm in bin2 (0.66 - 1.0 µm)

    bin3

    raw

    p/cm3

    Number of particles per cubic cm in bin3 (1.0 - 1.3 µm)

    bin4

    raw

    p/cm3

    Number of particles per cubic cm in bin4 (1.3 - 1.7 µm)

    bin5

    raw

    p/cm3

    Number of particles per cubic cm in bin5 (1.7 - 2.3 µm)

    bin6

    raw

    p/cm3

    Number of particles per cubic cm in bin6 (2.3 - 3.0 µm)

    bin7

    raw

    p/cm3

    Number of particles per cubic cm in bin7 (3.0 - 4.0 µm)

    bin8

    raw

    p/cm3

    Number of particles per cubic cm in bin8 (4.0 - 5.2 µm)

    bin9

    raw

    p/cm3

    Number of particles per cubic cm in bin9 (5.2 - 6.5 µm)

    bin10

    raw

    p/cm3

    Number of particles per cubic cm in bin10 (6.5 - 8.0 µm)

    bin11

    raw

    p/cm3

    Number of particles per cubic cm in bin11 (8.0 - 10.0 µm)

    bin12

    raw

    p/cm3

    Number of particles per cubic cm in bin12 (10.0 - 12.0 µm)

    bin13

    raw

    p/cm3

    Number of particles per cubic cm in bin13 (12.0 - 14.0 µm)

    bin14

    raw

    p/cm3

    Number of particles per cubic cm in bin14 (14.0 - 16.0 µm)

    bin15

    raw

    p/cm3

    Number of particles per cubic cm in bin15 (16.0 - 18.0 µm)

    bin16

    raw

    p/cm3

    Number of particles per cubic cm in bin16 (18.0 - 20.0 µm)

    bin17

    raw

    p/cm3

    Number of particles per cubic cm in bin17 (20.0 - 22.0 µm)

    bin18

    raw

    p/cm3

    Number of particles per cubic cm in bin18 (22.0 - 25.0 µm)

    bin19

    raw

    p/cm3

    Number of particles per cubic cm in bin19 (25.0 - 28.0 µm)

    bin20

    raw

    p/cm3

    Number of particles per cubic cm in bin20 (28.0 - 31.0 µm)

    bin21

    raw

    p/cm3

    Number of particles per cubic cm in bin21 (31.0 - 34.0 µm)

    bin22

    raw

    p/cm3

    Number of particles per cubic cm in bin22 (34.0 - 37.0 µm)

    bin23

    raw

    p/cm3

    Number of particles per cubic cm in bin23 (37.0 - 40.0 µm)

    opcn3_pm1

    raw

    µg/m3

    Factory computed value of PM1 from the OPC

    opcn3_pm25

    raw

    µg/m3

    Factory computed value of PM2.5 from the OPC

    opcn3_pm10

    raw

    µg/m3

    Factory computed value of PM10 from the OPC

    pm1_env

    raw

    µg/m3

    Factory computed value of PM1 from the nephelometer

    pm25_env

    raw

    µg/m3

    Factory computed value of PM2.5 from the nephelometer

    pm10_env

    raw

    µg/m3

    Factory computed value of PM10 from the nephelometer

    neph_bin0

    raw

    p

    The number of particles in bin0 from the nephelometer

    wd

    rawfinal

    deg

    Wind direction from the sonic anemometer

    ws

    rawfinal

    mph

    Wind speed from the sonic anemometer

    co_we

    raw

    mV

    The working electrode signal for the CO sensor.

    co_ae

    raw

    mV

    The auxiliary electrode signal for the CO sensor.

    no_we

    raw

    mV

    The working electrode signal for the NO sensor.

    no_ae

    raw

    mV

    The auxiliary electrode signal for the NO sensor.

    no2_we

    raw

    mV

    The working electrode signal for the NO2 sensor.

    no2_ae

    raw

    mV

    The auxiliary electrode signal for the NO2 sensor.

    o3_we

    raw

    mV

    The working electrode signal for the O3 sensor.

    o3_ae

    raw

    mV

    The auxiliary electrode signal for the O3 sensor.

    co2_raw

    raw

    mV

    The raw CO2 signal

    co_diff

    raw

    mV

    The difference between co_we and co_ae

    no_diff

    raw

    mV

    The difference between no_we and no_ae

    no2_diff

    raw

    mV

    The difference between no2_we and no2_ae

    ox_diff

    raw

    mV

    The difference between o3_we and o3_ae

    flag

    raw

    The status flag corresponding to this record

    lat

    rawfinal

    deg

    The latitude of the device

    lon

    rawfinal

    deg

    The longitude of the device

    device_state

    rawfinal

    The current state of the device

    pm1

    final

    µg/m3

    The PM1 value

    pm25

    final

    µg/m3

    The PM2.5 value

    pm10

    final

    µg/m3

    The PM10 value

    co

    final

    ppb

    The CO concentration

    no

    final

    ppb

    The NO concentration

    no2

    final

    ppb

    The NO2 concentration

    o3

    final

    ppb

    The O3 concentration

    co2

    final

    ppm

    The CO2 concentration

    pm1_model_id

    final

    The id corresponding to the model used to compute PM1

    pm25_model_id

    final

    The id corresponding to the model used to compute PM2.5

    pm10_model_id

    final

    The id corresponding to the model used to compute PM10

    co_model_id

    final

    The id corresponding to the model used to compute CO

    no_model_id

    final

    The id corresponding to the model used to compute NO

    no2_model_id

    final

    The id corresponding to the model used to compute NO2

    o3_model_id

    final

    The id corresponding to the model used to compute O3

    co2_model_id

    final

    The id corresponding to the model used to compute CO2

    pm25_model_id

    model.pm.pm10

    pm10_model_id

    pm1

    pm25

    pm10

    co, no, no2, o3, so2, co2

    Pending SKU, you may have one or more of these columns

    sn

    timestamp

    timestamp_local

    url

    The unique url for this data point.

    FLAG_RHTP

    8

    This flag is set when the relative humidity and temperature sensor has failed.

    Remove any rows where this flag is set.

    FLAG_CO

    16

    This flag is set when the CO sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_NO

    32

    This flag is set when the NO sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_NO2

    64

    This flag is set when the NO2 sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_O3

    128

    This flag is set when the O3 sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_CO2

    256

    This flag is set when the CO2 sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_SO2

    512

    This flag is set when the SO2 sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_H2S

    1024

    This flag is set when the H2S sensor has failed or data does not meet initial on-board QA/QC.

    Remove any rows where this flag is set.

    FLAG_BAT

    2048

    This flag is set when the internal LiPo battery is low or dead.

    None.

    FLAG_OVERHEAT

    4096

    This flag is set when the OPC has overheated.

    Contact QuantAQ.

    FLAG_SD

    8192

    This flag is set when the SD card has failed.

    Replace the SD card.

    Datasheet

    Download

    PM1, PM2.5, PM10

    0 to 2,000 µg/m3

    Please see the spec sheet.

    Particle size distribution

    0.35 to 40.0 µm (24 bins)

    Not yet determined

    Ozone (O3)

    0 to 500 ppb

    5 ppb or 20%

    Carbon Monoxide (CO)

    0 to 13,000 ppb

    40 ppb or 20%

    🔋 Power

    5V, 2A (supply) 250 mA average consumption

    🗼 Communication

    LTE CAT-M1 (North America) LTE CAT-M1/3G/2G (Global)

    📈 Data

    Web interface (quant-aq.com) Programmatic access (QuantAQ API) Local storage (µSD Card)

    Weatherproof rating

    IP68

    Operating temperature

    -20º to 45ºC

    Operating humidity

    5 to 95%, non-condensing

    Dimensions

    11.04" x 9.04" x 5.72"

    Weight

    6 lbs (2.72 kg)

    timestamp_iso

    all

    The sample timestamp in ISO format

    sku

    all

    The device SKU number

    fw

    all

    timestamp

    rawfinal

    The sample timestamp in ISO format

    id

    rawfinal

    A unique id the corresponds to the record shown

    timestamp_local

    rawfinal

    geo.lat

    lat

    geo.lon

    lon

    met.wd

    wd

    met.ws

    ws

    met.rh

    rh

    met.temp

    temp

    model.pm.pm1

    pm1_model_id

    FLAG_STARTUP

    1

    This flag is set when the device powers on.

    Remove any rows where this flag is set.

    FLAG_OPC

    2

    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.

    Remove any rows where this flag is set.

    FLAG_NEPH

    4

    This flag is set when the nephelometer has indicated the data failed to transfer correctly.

    October 2021

    0.1.0

    First production release. No changes at this time.

    QAN-001
    QAN-003
    QAN-004
    Polycase part number PK-087
    knowledge base
    knowledge base
    public changelog
    Figure 2.1: A top-down view of the MODULAIR.
    Figure 2.2: The internal front-panel of the MODULAIR.
    Figure 2.3: The MODULAIR bottom view depicting the air intake, power cable connection (USB-C), and aneometer hook up.
    Figure 2.4: Internally, the micro-USB connector for streaming logs can be found under the front panel.
    Figure 2.5: Domensions of the mounting holes for the provided mounting flanges.
    Figure 3.1: Sample of a data file header. The first three rows include meta data with the following rows containined the header and data.

    The current firmware version

    The sample timestamp in ISO format, corrected for the timezone as defined in the device settings

    model.pm.pm25

    Remove any rows where this flag is set.

    "meta": {
        "first_url": "https://api.quant-aq.com/device-api/v1/devices/MOD-00001/data/?page=1&per_page=50&limit=3",
        "last_url": "https://api.quant-aq.com/device-api/v1/devices/MOD-00001/data/?page=1&per_page=50&limit=3",
        "next_url": null,
        "page": 1,
        "pages": 1,
        "per_page": 50,
        "prev_url": null,
        "total": 3
      }
    "data": [
        {
          "co": 132.63,
          "geo": {
            "lat": 19.451,
            "lon": -155.879
          },
          "met": {
            "rh": 69.6,
            "temp": 20,
            "wd": 15.1,
            "ws": 5.25
          },
          "model": {
            "gas": {},
            "pm": {
              "pm1": 4692,
              "pm10": 4694,
              "pm25": 4693
            }
          },
          "pm1": 0.53,
          "pm10": 24.59,
          "pm25": 3.64,
          "rh": 69.6,
          "sn": "MOD-00001",
          "so2": 6.35,
          "temp": 20,
          "timestamp": "2022-12-20T17:54:57",
          "timestamp_local": "2022-12-20T07:54:57",
          "url": "https://api.quant-aq.com/device-api/v1/devices/MOD-00001/data/23523900",
          "wd": 15.1,
          "ws": 5.25
        },
    		{...},
    		{...},
    ]
    # bit AND - is FLAG_STARTUP set?
    >>> 4 & 1
    0
    
    # bit AND - is FLAG_NEPH set?
    >>> 4 & 4
    4

    As all QuantAQ products are internet-connected, it is important to consider connectivity when choosing an installation location. There are three primary things to consider:

    1. Antenna Connection. If your device has an external antenna, ensure it is seated securely and placed at a 90º angle pointing toward the sky.

    2. Antenna Placement. Do not place the device near metal objects or other sources of RF (i.e., antenna). Keep the antenna at least 18" away from metal objects as they can cause distortions and reflections.

    3. Location and Cellular Availability. Install your sensor in a location with a known cellular signal on the carriers we support.

    GitHub - quant-aq/cli: The QuantAQ CLIGitHub

    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.

    LED COLOR
    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.

    Logo