HOW DOES IT WORK?
The ScioSense APC1 sensor emerges as a game-changer in air quality sensing. It is a compact, all-in-one environmental monitoring solution designed to measure various air quality parameters precisely. These include particulate matter (PM) levels as small as 0.3µm, aerosols, volatile organic compounds (VOCs), equivalent CO2 (eCO2), temperature, and humidity. What sets the APC1 apart is its calibration accuracy, ensuring that the data it provides meets international standards for metrics such as PM1.0, PM2.5, PM10, Total Volatile Organic Compounds (TVOC), equivalent CO2 (eCO2), and Air Quality Index (AQI). This bundle comes with a J version of the APC1 sensor, which uses an I2C serial interface, while the U version is for UART.
Combining the APC1 sensor with the Terminal Click board™ opens up a world of possibilities for creating a robust air quality monitoring system. This integration simplifies the process of interfacing the sensor with a microcontroller (MCU) for data processing and display. The Terminal Click board™ acts as an intermediary, allowing users to harness and leverage the sensor’s data for many applications.
With its precision and comprehensive parameter measurements, this bundle suits various applications, from ensuring healthier indoor environments to contributing to vital air quality research initiatives. By combining cutting-edge sensor technology with user-friendly interfacing, you can transform how you monitor and respond to air quality conditions, making the world safer and healthier.
Pinout diagram
APC1 Terminal Click Bundle electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 5 | – | V |
Temperature Measurement Range | 5 | 25 | 50 | °C |
Temperature Accuracy | – | 0.45 | 0.7 | °C |
Temperature Resolution | – | 0.1 | – | °C |
Humidity Measurement Range | 10 | 50 | 95 | %RH |
Humidity Accuracy | – | 4 | 6 | %RH |
Humidity Resolution | – | 0.1 | – | %RH |
Particulate matter PM1.0 Range | 0.3 | – | 1.0 | μm |
Particulate matter PM2.5 Range | 0.3 | – | 2.5 | μm |
Particulate matter PM10 Range | 0.3 | – | 10 | μm |
Total VOC Concentration | 0 | – | 65.000 | ppb |
Equivalent CO2 | 400 | – | 65.000 | ppm CO2-equiv |
Air Quality Index | 1 | – | 5 | / |
Pack Content
- 1 x APC1001J Air Quality Sensor
- 1 x 8-Wire Jumper to PicoBlade Female Adapter (10cm)
- 1 x Terminal Click
Software Support
We provide a library for the APC1 Sensor Demo as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for APC1 Sensor Demo driver.
Key functions
-
apc1sensor_start_measurement
This function starts measurement by setting the device to measurement mode. -
apc1sensor_read_info
This function reads the device name, serial number, and firmware version. -
apc1sensor_read_measurement
This function reads the measurement 64-bytes output structure data.
Example Description
This example demonstrates the use of APC1 Air Quality Sensor Bundle by reading measurement results (PM1.0, PM2.5, PM10, TVOC, eCO2, AQI, temperature, relative humidity, etc.).
void application_task ( void )
{
apc1sensor_measurement_t meas;
if ( APC1SENSOR_OK == apc1sensor_read_measurement ( &apc1sensor, &meas ) )
{
log_printf ( &logger, "--- MEASUREMENT RESULTS ---rn" );
log_printf ( &logger, " PM1.0: %u ug/m3rn", meas.pm1_0 );
log_printf ( &logger, " PM2.5: %u ug/m3rn", meas.pm2_5 );
log_printf ( &logger, " PM10: %u ug/m3rn", meas.pm10 );
log_printf ( &logger, " PM1.0 in air: %u ug/m3rn", meas.pm1_0_air );
log_printf ( &logger, " PM2.5 in air: %u ug/m3rn", meas.pm2_5_air );
log_printf ( &logger, " PM10 in air: %u ug/m3rn", meas.pm10_air );
log_printf ( &logger, " # particles >0.3um: %urn", meas.part_over_0_3um );
log_printf ( &logger, " # particles >0.5um: %urn", meas.part_over_0_5um );
log_printf ( &logger, " # particles >1.0um: %urn", meas.part_over_1_0um );
log_printf ( &logger, " # particles >2.5um: %urn", meas.part_over_2_5um );
log_printf ( &logger, " # particles >5.0um: %urn", meas.part_over_5_0um );
log_printf ( &logger, " # particles >10um: %urn", meas.part_over_10um );
log_printf ( &logger, " TVOC: %u ppbrn", meas.tvoc );
log_printf ( &logger, " eCO2: %u ppmrn", meas.eco2 );
log_printf ( &logger, " T-comp: %.1f degCrn", meas.t_comp );
log_printf ( &logger, " RH-comp: %.1f %%rn", meas.rh_comp );
log_printf ( &logger, " T-raw: %.1f degCrn", meas.t_raw );
log_printf ( &logger, " RH-raw: %.1f %%rn", meas.rh_raw );
log_printf ( &logger, " RS0: %lu Ohmrn", meas.rs0 );
log_printf ( &logger, " RS2: %lu Ohmrn", meas.rs2 );
log_printf ( &logger, " RS3: %lu Ohmrn", meas.rs3 );
log_printf ( &logger, " AQI: %urn", ( uint16_t ) meas.aqi );
log_printf ( &logger, " Version: 0x%.2Xrn", ( uint16_t ) meas.version );
log_printf ( &logger, " Error code: 0x%.2Xrn", ( uint16_t ) meas.error_code );
log_printf ( &logger, "---------------------------rn" );
}
Delay_ms ( 1000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.APC1Sensor
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
mikroSDK
This Demo board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.