Issue with ULPSM-O3 968-046 values too high


I’ve got the ULPSM-O3 968-046 ozone sensor, but the values seem to bee too high and not consistent.

This is the code we’re using, everything seems to be connected ok and we’re using a unity gain buffer.

I’m unsure if I’m missing anything in terms of calculating the concentration or if the sensor is just probably not connect properly, here is an example of the output:



Hello saskiahaganfellowes - welcome to the Forum community. I wasn’t sure of the answer to your question, so I contacted my colleagues for their input and also the Product Specialist for this product. I have one reply so far, which I’ve posted below.

Hello , my first question would be, where are you taking your measurements? I assume if just testing you would want your initial readings in, say a vacuum, or aka a known gas content, so as not to skew any measurements; example would be if you are breathing on the sensor, this could easily skew your outputs. so before anyone delves into our current outputs, I think we first need to establish a known baseline , with known unchanging properties. Certainly I am not the expert on this sensor, but just my gut feeling that establishing baseline is probably the most important first step.

Such ideas benefit from a bit of detail; what exactly is being buffered? Using what manner of connection and device?

Assuming a reasonably fast loop, both measured signals should be relatively stable when things are working. Atmospheric gas concentrations shouldn’t be changing much over the course of (for example) a half -second.

The results in the first column appear quite unstable, and it’s a fair bet that the physical thing those numbers are supposed to represent (ozone concentration?) isn’t doing what the numbers indicate.

There are many steps between that physical thing and the representation of it showing up on a screen. Find a place near the signal source to start measuring, and do sanity checks along the way. Any process that turns a reasonable input to a nonsense output is probably one that needs to be investigated more closely.

Hello saskiahaganfellowes, my Product Specialist contacted the supplier with your question. The manufacturer’s reply follows:
Thanks you for sending detailed code and output.

It appears that Vgas0 is being measured & calculated correctly at ~ 3.3V/2 = 1.65V

The Vgas value should not vary that widely but there is a normal power-on stabilization time associated with the sensor.

Please have the customer try the following:

  • Check that the sensor is seated correctly in all 3 headers
  • Swap Vgas and Vgas0 between the ADC pins to rule out a measurement hardware issue.
  • Disable the ADC reads in code and measure the Vgas and Vgas0 with a multimeter to confirm if the erratic measurements persists.
  • Wait up to 30 minutes to see if noise diminishes.

If there are any follow up questions please direct them to the following contact who can address them directly.