SHTC3 temperature on RAK5010 calculates too high temperature


I get from the SHTC3 Sensor always too high values. I get around 30 degree Celsius, but it should be around 20 degree Celsius.


  • Board: RAK5010
  • Dev-Setup: Visual-Studio-Code + Arduino


I tried like in the example of Arduino-on-RAK5010 and also wirh the SparkFun_SHTC3 libary like in this example wisblock-shtc3-example.

is it possible that it has something to do with:

  • wrong/different voltage or wrong calculations (dont understand the calculations -45 + 175 * ((float)T / 65535) from SparkFun and (T)*175/65536.0 -45.0 from arduino-on-RAK5010 )
  • waste-heat of modem or processor

someone has an idea about this issue ?

Any ideas on this one ? Maybe @nero any ideas ?

Hi, I am using the source code from SHTC3 on RUI, and I am having the same problem.
Plus, the margin of error of data is getting bigger since the RAK chip is connected to the USB which generates heat from it.

So is this an hardware-design issue ?
Did anyone solve this, to be able to get the correct temperature ?

I can’t validate the equation but since the sensor is on-board, the 30deg reading is highly likely the temperature of the board.

If you want to measure ambient temperature accurately, you need to implement an external temperature sensor. There’s no other way.

The on-board temperature if RAK5010 is useful when you put it inside an enclosure. Think of it as a sensor of your CPU. You’ll know if something is wrong if suddenly it goes above the nominal reading. Like if it reach above 40 or 50degC. You can say that something might be wrong on your RAK5010 since it should only be 30degC.

But for accurate ambient sensing, use an external one.

One way I am trying to do is to first connect the SIM card to the network and send off data readings and then debug it by adding or subtracting the numbers to make it close to the actual readings. It would be great if someone has better ideas regarding this problem.