SD Card File Headers

The table below describes the fields found in CSV files recorded by PurpleAir sensors to microSD cards.

SD Data is recorded using different field names than those used in the PurpleAIr API. You can examine the API documentation to see queryable fields from the API.

If you experience any problems with SD data collection, including missing data or wrong dates, read the information in our SD Card Logging and Troubleshooting article.

When collecting SD data, we recommend using the PurpleAir Utility’s SD Data Tool. It can merge data into a single file and recover data found in log files.

Sensor Information Columns

Column Name Description
UTCDateTime The time when this row of data was recorded. Derived from the Real-Time Clock and synced with NTP where possible. This is in the format YYYY/MM/DDTHH:MM:SSz and uses UTC as the timezone.
mac_address The sensor’s Device ID. This is identical to the sensor’s MAC address, except that leading 0’s are omitted in each Octet. For example, device ID 8:3a:8d:b:a4:fd would correspond to the MAC address 08:3a:8d:0b:a4:fd.
firmware_ver Firmware version of the control board.
hardware Hardware type the control board has detected.
uptime Firmware uptime in seconds. Rebooting the sensor will reset this to 0.
rssi WiFi signal strength in dBm.
mem Free HEAP memory on the control board.
adc The voltage reading on the analog input of the control board.

Environmental Data Columns

Temperature and humidity data reflect conditions in the sensor’s housing and do not always match ambient readings. However, corrections are available to better match ambient conditions. Further information can be found in A Note on Temperature and Humidity.

Column Name Description
current_temp_f Current temperature in Fahrenheit. This is taken directly from the sensor without applying a correction.
current_humidity Current Humidity in %. This is taken directly from the sensor without applying a correction.
current_dewpoint_f Calculated dew point in Fahrenheit. Calculated using uncorrected temperature.
pressure Current pressure in millibars.
gas Bosch BSEC IAQ when BME680 gas sensor is present (FIRMWARE 4.10 and up). These readings are experimental.

Air Quality Data Columns

All air quality data columns represent data from either laser counter A or laser counter B. Columns with “_b” at the end represent data from channel B. If “_b” is not at the end of an air quality data column, it represents data from channel A.

Further information relating to some of the air quality data columns can be found in:

Air Quality Channel A Columns

Column Name Description
pm1_0_cf_1 Channel A CF=1 PM1.0 particulate mass in ug/m3.
pm2_5_cf_1 Channel A CF=1 PM2.5 particulate mass in ug/m3.
pm10_0_cf_1 Channel A CF=1 PM10.0 particulate mass in ug/m3.
pm1_0_atm Channel A ATM PM1.0 particulate mass in ug/m3.
pm2_5_atm Channel A ATM PM2.5 particulate mass in ug/m3.
pm10_0_atm Channel A ATM PM10.0 particulate mass in ug/m3.
pm2.5_aqi_cf_1 Channel A US EPA PM2.5 AQI calculated using pm2_5_cf_1.
pm2.5_aqi_atm Channel A US EPA PM2.5 AQI calculated using pm2_5_atm.
p_0_3_um Channel A 0.3-micrometer particle counts per deciliter of air.
p_0_5_um Channel A 0.5-micrometer particle counts per deciliter of air.
p_1_0_um Channel A 1.0-micrometer particle counts per deciliter of air.
p_2_5_um Channel A 2.5-micrometer particle counts per deciliter of air.
p_5_0_um Channel A 5.0-micrometer particle counts per deciliter of air.
p_10_0_um Channel A 10.0-micrometer particle counts per deciliter of air.

Air Quality Channel B Columns

Column Name Description
pm1_0_cf_1_b Channel B CF=1 PM1.0 particulate mass in ug/m3.
pm2_5_cf_1_b Channel B CF=1 PM2.5 particulate mass in ug/m3.
pm10_0_cf_1_b Channel B CF=1 PM10.0 particulate mass in ug/m3.
pm1_0_atm_b Channel B ATM PM1.0 particulate mass in ug/m3.
pm2_5_atm_b Channel B ATM PM2.5 particulate mass in ug/m3.
pm10_0_atm_b Channel B ATM PM10.0 particulate mass in ug/m3.
pm2.5_aqi_cf_1_b Channel B US EPA PM2.5 AQI calculated using pm2_5_cf_1_b.
pm2.5_aqi_atm_b Channel B US EPA PM2.5 AQI calculated using pm2_5_atm_b.
p_0_3_um_b Channel B 0.3 micrometer particle counts per deciliter of air.
p_0_5_um_b Channel B 0.5 micrometer particle counts per deciliter of air.
p_1_0_um_b Channel B 1.0 micrometer particle counts per deciliter of air.
p_2_5_um_b Channel B 2.5 micrometer particle counts per deciliter of air.
p_5_0_um_b Channel B 5.0 micrometer particle counts per deciliter of air.
p_10_0_um_b Channel B 10.0 micrometer particle counts per deciliter of air.

Once the SD card in a PurpleAir device is full, the sensor will not overwrite previous data. Instead, the sensor will stop reporting. A 16 GB SD card can hold around two years of data.

2 Likes

2 posts were merged into an existing topic: No header in csv file