cjmcu-8128 Error Temperature

I have a combo CCS811+HDC1080+BME280 and I realise some difficulties to read ambiente temperature. HDC1080 and BME read ok when I turn on circuit. But after 5 minutes the read temperature rise 3 degrees on both (BME280 and HDC1080. I test various codes on Mi Arduino Uno, and every time presents the same problem. Its possible that the CCS811 have increment PCI temperature after worm up ? An inspection whith IR termometer indicate alterated temperature over surface of Combo PCI after 5 minutes. (PS: The PCI was monted over suspendet base to prevent heating undesireble)

I apreciete very much some help.

I guess you see some self-heating symptoms. Post links to the used hardware (not the chips but the breakout boards), most probably the boards are not designed as the datasheet suggests.

Thank Pylon.
I guess you are right !
Its difficult and expensive to purshase separeted breakout boards for each sensor in my country . I see SparkFun combo CCS811 and BME280 for exemple , but i do not certain if CCS811 will generate heat next to BME280 and creat the same problem.
I Know wrong a diference degrees. In last case Someone recomend formula to decrease a temperature showing ?
I wiil attack some pictures to show my assemble and the sensor board.
Thank you Pylon and others to help me .

I think Sensirion has a good application note to show the problem.

Your board isn’t designed after these guidelines so you won’t get accurate temperature readings.

In last case Someone recomend formula to decrease a temperature showing ?

There is no general formula to compensate for this. Sure you can simply subtract 3 degrees from the measured value but that’s far from being accurate.

It’s not a smart decision to place a gas sensor that needs a heating to measure it’s value on the same PCB as a temperature sensor. I would expect at least the cut-outs on the board that Sensirion suggests if you do place these on one board but even Sparkfun failed to do this on their combo board.

You are right once more Pylon. :) Sensirion Application note are very welcome. I will purchase another board with separate Air quality sensor. For a wile, i decrese 3.57ºC via formula and I realise with Reference Termometer that the readind is relativity right, but as you writed, far from being accurate. Thanks for your colaboration. Very important!

Temperature depends on the current consumed by device. If you check your data each second it will heat your board roughly +2.5 degrees. To lower the current, check params each minute:

ccs.setDriveMode(CCS811_DRIVE_MODE_60SEC)

After that there's still be the +1 degree overheat, but if you use Li-On 4.2 V accumulator connected to 5V pin instead of 5V USB input , the temperature will be perfectly correct. CCS811 works from 1.8 to 3.6V. The lower the voltage on 3v3 bus, the better the temperature :-)