Anyone used the Grove O2 sensor?

Hi, it’s driving me nuts, the calculation of O2 percentage is saying 32% instead of something below 21.5 at sea level.

I’m running a Grove O2 sensor (, connected to an Adafruit ADS1115 (
The sensor has been connected to its board, which I understand starts the ‘preheating’ oxidisation process. It’s been powered and running with a custom particle board via I2C for over 24 hours.

Using the ADS 1x15 library I found on build.particle. I’m running a few different calculations from various sources as what google turned up was other frustrated folk because the board had changed over time and the calculation had changed.

Advice sought

  • Anyone got one running with a particle?
  • Suggestions on the gain setting for the ADS? Default is ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 3mV 0.1875mV (DEFAULT)
  • Is it just a case of leaving it a few more days to ‘preheat’ ?

@RWB, do a double take… the OP said O2… as in oxygen, not CO2 as in carbon dioxide. According to, atmospheric O2 should be approximately 21% as opposed to CO2 which is approximately 0.04%.