Sensor accuracy

Hi guys, I just tried my nano 33 sense board with temperature and humidity readings.
However, the temperature is about 5 degrees higher and humidity is about 10% lower than my other off the shelf temperature and humidity IoT devices.
Would that be normal? I know I can add an offset in the code to make it to the same level but I thought those sensors should be able to be reasonably accurate.

Just wondering if any of you have similar issues.

1 Like

Hi!

I have the same problem, temperature 5 degrees higher, and in my case humidity is 8% higher. I'm comparing the result with an Oregon station. I'm always having problems related with precission in temperature sensors (DHT22, BME280....) and I tought that with the integrated sensors in this Arduino my problems went out, but no :frowning:

I'm using the example code name "ReadSensor", so the code is supposed to be ok. Any ideas?

Thanks!

It is not unusual to have small variations in sensor readings.
Even an oregon weather unit will have some variation.

Best it to take an average set of reading to get a closer figure and then either use them or add / remove an OFFSET value.

Bob.

Hi!

First of all, thanks for your answer. I know that small variations are normal behaviour, but 5 celsius degrees compared with another units (I posted the oregon example, but it matches with the home thermostat and another external thermometer) is too much, since the accuracy is supposed to be 0.5 degrees, so the error is unacceptable.

Does exist a calibration process ?

thanks

1 Like

If you have the Chinese variations of these sensors it would be a normal variation as they do not choose the best components to match the specifications of sensors for many of the modules.

As explained usually an OFFSET / or running average is the best approach especially for the DHT sensors.

I don't believe there is a calibration method apart from checking the components on any module board and swapping them for the manufacturer's recommended whilst reading the application notes.

Also be aware that close ambient temperature can throw readings out wildly.
A good approach to that is yo use a shielded cable of suitable length to move the sensors away from such sources.

Bob.

Hi,

I wrote the examples with another sensors because I always haver precission problems, but in this case I'm using the integrated sensor in the Nano 33 BLE Sense, so there are no chinese sensors, cables...nothing. The HTS221 specs are very clear: 0.5 ºC between 15 and 40 ºC, so it's very dissapointing to get an 5 ºC error.

More ideas?

Thanks!

1 Like

carpetafhf:
Hi,

I wrote the examples with another sensors because I always haver precission problems, but in this case I'm using the integrated sensor in the Nano 33 BLE Sense, so there are no chinese sensors, cables...nothing. The HTS221 specs are very clear: 0.5 ºC between 15 and 40 ºC, so it's very dissapointing to get an 5 ºC error.

More ideas?

Thanks!

Hi, sorry I forgot this thread.
It is sort of relief to see I'm not alone.
I agree with you the sensor reading on this board are way out of their designed tolerance. Therefore, they are faulty in my eyes. This can not be blamed to Chinese sensors. No matter what kind of component they use, if the output is out of their specification, their product is faulty.

I contacted Arduino store support two month ago and they told me their developer were testing it.
I asked again last month and they were still testing.
I just send another email asking what is going on and asking for a refund.

Really disappointing.

1 Like

ballscrewbob:
If you have the Chinese variations of these sensors it would be a normal variation as they do not choose the best components to match the specifications of sensors for many of the modules.

As explained usually an OFFSET / or running average is the best approach especially for the DHT sensors.

I don't believe there is a calibration method apart from checking the components on any module board and swapping them for the manufacturer's recommended whilst reading the application notes.

Also be aware that close ambient temperature can throw readings out wildly.
A good approach to that is yo use a shielded cable of suitable length to move the sensors away from such sources.

Bob.

Hi Bob, thanks for the reply.
The problem is that none of the sensor reading make sense and the variation is not small.
If they specify the sensor tolerance to be +-5, then, a 5 degree difference to the actual reading is acceptable to me as that is as expected.
However, a 5 degree difference in temperature or 30% difference in humidity are way out of their designed tolerance. Therefore, they are faulty parts.

1 Like

Hi, we have updated the getting started page of the BLE sense with regards to the accuracy of the sensors. Please read the section under "Relative humidity and temperature on the Arduino NANO 33 BLE Sense".

Getting started: https://www.arduino.cc/en/Guide/NANO33BLESense

jojobaa:
Hi, we have updated the getting started page of the BLE sense with regards to the accuracy of the sensors. Please read the section under "Relative humidity and temperature on the Arduino NANO 33 BLE Sense".

Getting started: https://www.arduino.cc/en/Guide/NANO33BLESense

Hi, Could you check the email I sent you please?
The solution you suggested could not fit my purpose and therefore, I'm asking for refund please.
Please let me know where I should post the board to.

Thank you.

jojobaa:
Hi, we have updated the getting started page of the BLE sense with regards to the accuracy of the sensors. Please read the section under "Relative humidity and temperature on the Arduino NANO 33 BLE Sense".

Getting started: https://www.arduino.cc/en/Guide/NANO33BLESense

The getting started page says: "In order to minimise self heating it's recommended to use the lowest possible power modes and reduce to a minimum the processor activity.". Do you know where we can find an example and documentation on how to use the lowest possible power mode? My code already uses very little processor and I still get at least 3 degrees more than using an external sensor. Do you think it is possible in any case to get the accurate readings without cutting the link between the 3.3v pads?

It looks like using this temperature sensor is just pointless.

The measurements are totally incorrect. Such a “fake” sensor should have never been installed on the board.

I have just bought two new Arduino 33 BLE Sens boards, and if I power them with a USB the temperature read is 10 degrees higher then it supposes to be.

Do all Arduino 33 BLE sensors have similar problems? Now I have to check them all… :confused:

@aedifi

The conversation before your remark clearly outlines what you need to take account of.

It is NOT a "fake" sensor but like all sensors needs to have certain factors taken into consideration.

Hi guys, I saw this post and I was interested to let you know that I had the same problem.

Interestingly, today I plugged a new board using the micro-USB and... at first all values were fine, the temperature of the room was 20°C and humidity 45% and correctly displayed and refreshed each second by the serial monitor.

I was feeling lucky today and I started to think that some boards may have factory defaults as the NANO SENSE is a quite "new" product...

Nevertheless, my hope and happiness quickly disappear.
Indeed after 3 min, I unplugged the board that gave me correct values (meaning I disconnected the microUSB cable) and replugged it right after without changing anything (no upload of the code) ==> All values started to be completely wrong with 25C and 30% humidity !!!!

The same happens again with another board...
How to explain that? This could not be something related to the self-heating of the board as the TC dropped from 20 to 25C just after is unplug/plug...

Who has an idea? Problem with the voltage? Problem with the register? How to explain that it happens on reboot only?

Strange
ALN

1 Like

@ALN_Dev

If you read the WHOLE thread you will see why this happens.
The simple way around it is to let the board warm up to see the difference ans simply use that as an OFFSET.

The same way many other sensors have warm up periods or need specific offsets.

Could you take a few moments to Learn How To Use The Forum.
It will help you get the best out of the forum in the future.
Other general help and troubleshooting advice can be found here.

@ ballscrewbob
Thanks a lot for your reply.
I'm not totally convinced about this OFFSET story. I used part several sensors allready from various provider for temp and others measurement BPM, sound, light and there is no such "warming' (from Bosch, St, Maxim...).

I think your analysis is wrong. Also because the values that are given by the sensors are not evolving much over time if you track from a cold boot of the NANO SENSE board.

My guess is that either the library, or the communication speed or something is wrong. But the future will tell us... I saw also in the forum that others sensors like the pressure is also not really reliable...Consumer electronics is sometimes depressing...

Thanks for your support and this nice forum.

PS/ i read the rules of the forum and I will comply :slight_smile:

1 Like

I have a few DSB temp sensors and even while grouped in a small area ( 5 inch circle) they gave different readings.
A total spread of around 9 degrees IIRC.
Took a an offset for each and applied it and they all read consistently.

Also done the same with some other DHT sensors including two from a very reputable source and found similar results.

Magnetometer modules almost all want a "location" offset if you want any sort of accuracy.

Gas sensors almost always have to be "burnt in" as part of the calibration and then calibrated in a known atmosphere.

Its not a bad theory but one I have come to accept and adapt to.
Voltages and current also come into play too.
Very occasionally some sensors also need an offset for mains frequency.

For anyone wanting extreme accuracy, then Arduinos and almost all the sensors available are not the path to take as there is very expensive equipment you can buy for most jobs.