Air Quality
Person monitoring data and charts across multiple screens with a coastal sunset view
Source: Sergei Tokmakov
Explainer

Data sources and methodology

This page documents the technical path of data through AirQuality.city, from a sensor or external source to the value shown on a map, chart or station page. It is deliberately separate from the shorter educational pages so that important details can be documented here without oversimplification.

Last updated: 26 September 2026.

Data groups shown on the portal

AirQuality.city combines three main groups of data:

  • measurements from its own SensorBox stations
  • publicly available data from official monitoring networks
  • meteorological data associated with local or external stations

The portal also calculates derived values, including separate PM2.5 and PM10 index values and the overall PM index for a station.

Different sources retain different levels of validation and measurement quality. Displaying them on one portal does not make SensorBox data regulatorily equivalent to official monitoring data.

SensorBox stations

The project's own SensorBox stations typically use:

  • SDS011 for estimated PM2.5 and PM10 concentrations
  • BME280 for temperature, relative humidity and atmospheric pressure
  • a Raspberry Pi or comparable controller for collection, basic validation and transmission

A measurement cycle normally repeats approximately every two to three minutes. Several readings are collected during the cycle, the record is checked for basic technical validity and a processed value is stored.

SDS011 is an optical sensor. It estimates concentration from light scattering by particles in the measurement chamber. This technology enables frequent readings and a relatively dense local network, but its design and purpose differ from reference analysers used by regulatory monitoring stations.

The US EPA notes that low-cost sensor performance can be influenced by temperature, high relative humidity, calibration, ageing and sensor selectivity, and recommends real-world performance evaluation for more demanding applications.[1]

SensorBox siting

The immediate surroundings are part of the measurement. Station placement aims to provide free airflow, protection from direct rain and strong solar heating, and a reasonable distance from obstructions and highly local sources.

A sensor directly beside a chimney, ventilation outlet or busy surface may record that immediate source accurately while being poorly representative of the wider neighbourhood. Location must therefore remain part of the interpretation.

Official external stations

The portal displays publicly available data from Croatia's national and local monitoring networks. The principal public source is the national air-quality information system, which publishes current values, station metadata and historical data.[2]

Depending on location, official stations can measure PM2.5, PM10, NO₂, O₃, SO₂, CO and other pollutants. AirQuality.city displays only the data available from the original system and for which a valid mapping exists.

Croatia's official system states that measurements arriving in real time are not yet final laboratory data and may later change through validation.[2] AirQuality.city therefore treats such values as operational.

Meteorological data

Weather data can come from BME280 sensors at local stations, meteorological instruments associated with official monitoring sites or another clearly identified source.

Temperature, humidity, pressure, wind speed and wind direction help explain air-quality changes, but the meteorological value shown beside a station is not always measured at exactly the same point as the pollutant. Where the source differs, that distinction should be stated.

Timestamps and data freshness

The portal displays the time of the latest available valid measurement or processing step. Time is shown in the portal's local time zone, normally Europe/Zagreb, unless a specific source is documented differently.

If measurements stop arriving, the last known value does not become a new measurement. Station status depends on the elapsed time since the most recent valid record.

Missing data is not zero. 0 µg/m³ is an actual reported concentration of zero; "no data" means there is no valid value for that time.

PM2.5 and PM10 index on AirQuality.city

AirQuality.city currently calculates separate index values for PM2.5 and PM10 using U.S. EPA concentration breakpoints.[3] The station's overall PM index is the less favourable of the two:

overall PM index = max(PM2.5 index, PM10 index)

The categories are:

Index Category
0-50 Good
51-100 Moderate
101-150 Unhealthy for Sensitive Groups
151-200 Unhealthy
201-300 Very Unhealthy
301-500 Hazardous

Within each band, concentration is mapped to the index using linear interpolation between the lower and upper concentration breakpoints and their corresponding index values:

I = ((I_high - I_low) / (C_high - C_low)) × (C - C_low) + I_low

where C is concentration, C_low and C_high are the relevant concentration breakpoints, and I_low and I_high are the bounds of the index band.

PM2.5 and PM10 breakpoints

The current U.S. EPA breakpoints used as the basis for mapping PM concentration to the index are:[3]

Category PM2.5 µg/m³ PM10 µg/m³
Good 0.0-9.0 0-54
Moderate 9.1-35.4 55-154
Unhealthy for Sensitive Groups 35.5-55.4 155-254
Unhealthy 55.5-125.4 255-354
Very Unhealthy 125.5-225.4 355-424
Hazardous 225.5-325.4 425-604

In the official US system, these breakpoints are associated with defined averaging periods. AirQuality.city currently applies them to the latest processed PM value available to the portal.

Difference from the EPA NowCast

The official U.S. AirNow current-particle display uses NowCast. The method incorporates several previous hours and changes their relative weight according to how variable the concentrations are.[4]

AirQuality.city does not reproduce NowCast. Its displayed number can therefore differ from the official US AQI even when the underlying concentrations are similar.

Difference from the European Air Quality Index

The European Air Quality Index uses the categories Good, Fair, Moderate, Poor, Very poor and Extremely poor and can use up to five pollutants: PM2.5, PM10, NO₂, O₃ and SO₂. The overall category is driven by the least favourable available pollutant, subject to additional minimum-data rules for different station types.[5]

The European system also uses different concentration bands. AirQuality.city should therefore not be described as reproducing the European index, and colour comparisons between the two systems are not meaningful without checking methodology.

NO₂, O₃, SO₂ and CO

Where an official station publishes them, AirQuality.city can display NO₂, O₃, SO₂ and CO. These concentrations do not currently enter the portal's overall PM index.

That limitation is intentional and explicit. A good PM index means that PM2.5 and PM10 are in more favourable categories under the chosen breakpoints; it does not mean that every other pollutant has been measured or ruled out.

Processing and technical checks

For local measurements, the portal can perform basic technical checks such as validating the record structure, rejecting incomplete messages, calculating the processed value within a measurement cycle and marking stale stations.

This processing does not turn a low-cost sensor into a reference instrument. Its purpose is to remove obvious technical failures and maintain a consistent time series, not to create false precision.

Limitations of optical PM sensors

Readings can be affected by:

  • high relative humidity, fog and condensation
  • temperature and airflow
  • aerosol size and optical properties
  • sensor placement and shielding
  • proximity to a very local source
  • contamination and ageing
  • variation between individual units of the same model

A single SensorBox result should therefore be read as local, informational monitoring. Trends over time and comparisons with other stations are generally more useful than an isolated value.[1]

Official and regulatory data

AirQuality.city is not a source of official compliance assessment against legal limit or target values. Regulatory, legal, professional and long-term analysis should use final validated data and reports from competent authorities.

The portal is designed for fast insight, comparison and interpretation while keeping the limits of each data type visible.

Sources, licences and attribution

External data remains subject to the terms and licences of its original provider. Display on AirQuality.city does not transfer ownership or remove the user's obligation to check the original conditions before reusing data.

Map layers based on OpenStreetMap are shown with the required attribution.

Corrections and problem reports

If you notice a mislabelled station, implausible value, incorrect source, stale data or another problem, send the link, approximate time and a short description to contact@airquality.city.

Where appropriate, data can be corrected, flagged, temporarily hidden or checked against the original source.

Sources

  1. Frequent Questions About Air SensorsU.S. Environmental Protection Agency Accessed 2026-09-26
  2. Kvaliteta zraka u Republici HrvatskojMinistarstvo zaštite okoliša i zelene tranzicije Accessed 2026-09-26
  3. AQI BreakpointsU.S. Environmental Protection Agency Accessed 2026-09-26
  4. Using the Air Quality IndexU.S. EPA AirNow Accessed 2026-09-26
  5. European Air Quality IndexEuropean Environment Agency Accessed 2026-09-26

Related pages

From measurement to display: the AirQuality.city methodologyFrom sensor to map: how data moves through AirQuality.cityAQI turns pollutant concentrations into a simpler air-quality signal

All pages