Since the AirGradient Go started arriving in July, a question has come up more than once on our subreddit and in our support inbox. Someone puts two Go units next to each other, or a Go next to an AirGradient ONE, and the numbers don't quite match. One thread in particular even collected several of these comparisons.
The cause of this issue was that their calibration (taken against our reference monitor) hadn't been applied. Like all of our assembled monitors, every Go is calibrated before it ships, but on the version those units were running, the calibration values weren't applied automatically, so people were comparing raw sensor outputs. That's now fixed, and going forward the agreement between devices should be much better.

As one step to check the reproducibility with these new calibrations applied, Achim recently carried three Go units, on a walk through Washington, DC from around noon to 3 pm local time, and we then compared the three logs reading by reading. For ease, we'll call the units A, B and C.
Please keep in mind that this is a comparison between devices, not a comparison against a reference instrument, so it tells us how closely three Go units agree with each other but not about whether any of them is right. In other words, this is about precision and reproducibility as opposed to accuracy. Let's dive in!
PM2.5 Tracked Closely
The route that Achim walked ran from the Kalorama neighbourhood down past Dupont Circle to the White House, around the Lincoln Memorial and back, which you can see in Figure 1. The three units were carried together for the whole three hours.

All three units were set to the same measurement interval, although their readings weren't perfectly aligned in time, so we averaged each unit's readings into one-minute means and, for the pairwise numbers below, used the 127 minutes in which all three units had data. The charts use UTC, as the logs do, so noon in Washington appears as 17:00.
Figure 2 (below) is the one-minute mean PM2.5 from each unit across the walk, and the three lines sit almost on top of each other. They rise together through the first half hour, catch the same spike to around 15 µg/m³ at 17:28, hold the same raised level for about 20 minutes, and then drop back together to 2 to 4 µg/m³ for the rest of the afternoon.
Over the 127 minutes with data from all three units, A and B showed no offset we could detect, and C's average read about 0.2 µg/m³ below both of them. In any one minute the units typically differed by about 0.4 µg/m³, and the correlation between each pair was 0.94 to 0.95.The mean absolute difference between any two units was about 0.4 µg/m³, and the correlation between each pair was 0.94 to 0.95. Figure 3 shows the three pairs plotted against each other, with the grey line marking where both units would read the same value. Set against the SPS30's own tolerance of ±5 µg/m³, a 0.4 µg/m³ typical gap is about as close as three separate sensors can be expected to get.

One thing I'd ask you to keep in mind is how low the concentrations were. The air in Washington that afternoon was clean, mostly 2 to 5 µg/m³ with one short spike into the teens. Agreement at those levels tells us the units share a baseline and respond to the same small changes, but it tells us nothing about how they'd compare at 50 or 150 µg/m³, where the particle mix is different and the sensors' tolerances are wider. What it does show is that three calibrated Go units in the same outdoor air give you a very similar PM2.5 number, which is the question the Reddit comparisons were really asking.
A Look at CO₂
CO₂ isn't the focus of an outdoor walk as outdoor CO₂ usually sits within a few tens of ppm of the global background almost everywhere, so the sensor spends most of a walk reporting a number that barely moves. Still, three units logging side by side is a chance to see how closely they agree, and Figure 4 shows the whole walk.
For the first two and a half hours the three lines are hard to tell apart. Outdoors they sit around 400 ppm. Between 17:29 and 17:46 all three step up to a flat 615 to 635 ppm and hold there, and the GPS shows the units barely moving for those 18 minutes, so this looks like a stop indoors (PM2.5 was raised over the same stretch, which fits). Across the 127 shared minutes the mean difference between units was 6 to 19 ppm, with a mean absolute difference of 18 to 23 ppm. Against the S12's specification of ±30 ppm plus 3%, that's as close as you can hope for.
Then, at 19:37, CO₂ shoots up on all three. Within a minute A reads over 2,400 ppm, B peaks at 2,184 ppm and C at 1,918 ppm. On paper, that's a 500 ppm disagreement. In practice, I don't think it tells us much about the sensors as the whole rise and fall lasts only a few minutes, and the readings are climbing or falling by hundreds of ppm a minute, so a few seconds' difference in when each unit took its reading, or a few centimetres' difference in where it was held, changes the peak by hundreds of ppm.
For the first two minutes the units read 110 to 150 ppm of CO₂, which is well below anything in the open air, before jumping to 400 ppm. That is the sensors warming up, and the first few minutes of a Go's log after switching on shouldn't be read as real values.
The VOC Index Agreed Better Than Expected
This is the one that surprised me. The Go's VOC reading comes from a Sensirion SGP41, the same sensor we've tested indoors and in our earlier TVOC accuracy work. As we've written before, it doesn't report a concentration. It reports an index from 1 to 500 that is relative to each sensor's own recent history, so two sensors in the same air can sit at different index values if their recent histories differ.
Instead, A and B agreed about as well as the PM2.5 sensors did, with a mean difference of under one index point and a correlation of 0.97. C ran higher than both for most of the walk, by about 8 points on average, with a correlation of 0.83 with A and 0.92 with B. All three catch the same events at the same moments, including the step down at 17:47 as the stop ended, the short rises around 18:14 and 18:24, and the climb at the end of the walk. C then reaches nearly 400 in the last ten minutes while A reaches 190 and B 260, which is the same sharp-peak problem as the CO₂ reading with the index's own baseline adjustment on top.
My guess is that these similar readings come down to the three sensors having the same history. They were switched on at the same time, in the same air, and carried together, so their baselines moved together too. That won't be true of two Go units that have lived in different rooms, and I'd expect the index to drift apart between them. It does mean that when you see VOC on two units disagree, the first thing to check is whether their recent histories match, before suspecting either sensor.
For completeness, the NOx index sat at 1 on every single row of all three units, so there was nothing to compare.
A Quick Look at the GPS

The Go has its own GPS module, and the map in Figure 1 comes device data, so I wanted to take a quick look at this reading too. Above are the individual readings from each internal GPS, and below is a graph showing the difference between the recorded locations in metres.

Typical separations are small, with a median of 11.5 m between A and B, 17.5 m between A and C and 13.8 m between B and C. However, depending on the pair, the tail from the 95th percentile ran from 160 m to 254 m, and the largest separation was 338 m, which is three blocks. You can see some of those large separations on the map as the short straight spikes near Dupont Circle on unit A's track. Why they occurred is something we're unsure about, but it could have been interference or the impact of tall buildings.
Conclusion
So, how closely do three calibrated Go units carried together agree? On PM2.5 at low concentrations, closely enough that I'd struggle to tell them apart on a chart, with a typical gap of 0.4 µg/m³ against a sensor tolerance of 5. On CO₂, closely at the baseline and poorly on a sharp peak, for reasons that have more to do with when each unit happened to sample than with the sensors. On VOC, better than I'd have thought!
None of this is an accuracy validation but three units on one walk, with 127 shared minutes, is enough to show which measurements agree and roughly by how much.
If you see disagreement between two devices, the first questions I'd ask are which measurement and whether the calibration was being applied. If you're still encountering differences, please reach out to our support team for assistance.



