

The ScioSense APC1 is an advanced air quality sensor designed to monitor various pollutants and environmental parameters. It provides real-time data on air quality, enabling users to make informed decisions regarding health and safety. The APC1 is equipped with high-precision sensing capabilities and is ideal for applications requiring accurate air quality monitoring.








The ScioSense APC1 is a compact and versatile sensor with the following key specifications:
| Parameter | Value | 
|---|---|
| Supply Voltage | 3.3V to 5.0V | 
| Operating Current | 10 mA (typical) | 
| Communication Interface | I²C | 
| Measurement Range | PM1.0, PM2.5, PM10 (µg/m³) | 
| Operating Temperature | -10°C to +50°C | 
| Humidity Range | 10% to 90% RH (non-condensing) | 
| Dimensions | 30mm x 20mm x 10mm | 
The APC1 sensor has a 6-pin interface for power, communication, and control. The pinout is as follows:
| Pin | Name | Description | 
|---|---|---|
| 1 | VCC | Power supply input (3.3V to 5.0V) | 
| 2 | GND | Ground connection | 
| 3 | SDA | I²C data line | 
| 4 | SCL | I²C clock line | 
| 5 | INT | Interrupt pin for event signaling (optional) | 
| 6 | NC | Not connected (leave unconnected) | 
0x5A. Ensure no other devices on the I²C bus share this address.Below is an example of how to interface the APC1 with an Arduino UNO using the I²C protocol:
#include <Wire.h>
// Define the I²C address of the APC1 sensor
#define APC1_I2C_ADDRESS 0x5A
void setup() {
  Wire.begin(); // Initialize I²C communication
  Serial.begin(9600); // Initialize serial communication for debugging
  // Wait for the sensor to stabilize
  delay(30000); // 30 seconds stabilization time
  Serial.println("APC1 Sensor Initialized");
}
void loop() {
  Wire.beginTransmission(APC1_I2C_ADDRESS); // Start communication with APC1
  Wire.write(0x00); // Command to request data (example command)
  Wire.endTransmission();
  Wire.requestFrom(APC1_I2C_ADDRESS, 6); // Request 6 bytes of data
  if (Wire.available() == 6) {
    uint16_t pm1 = Wire.read() << 8 | Wire.read(); // PM1.0 concentration
    uint16_t pm25 = Wire.read() << 8 | Wire.read(); // PM2.5 concentration
    uint16_t pm10 = Wire.read() << 8 | Wire.read(); // PM10 concentration
    // Print the air quality data
    Serial.print("PM1.0: ");
    Serial.print(pm1);
    Serial.print(" µg/m³, PM2.5: ");
    Serial.print(pm25);
    Serial.print(" µg/m³, PM10: ");
    Serial.print(pm10);
    Serial.println(" µg/m³");
  } else {
    Serial.println("Error: No data received from APC1");
  }
  delay(1000); // Wait 1 second before the next reading
}
No Data Received from the Sensor
0x5A.Inaccurate Readings
I²C Communication Errors
Interrupt Pin Not Working
Can the APC1 operate at 5V?
What pollutants can the APC1 measure?
Is the APC1 suitable for outdoor use?
How often should I calibrate the sensor?