Just received my Xiao logger hat and connected to a Xiao ESP32C3. I’m running Micropython and am only interested in ambient temperature. The SHT40 is reading about +4C above my thermometer at room temperature. I was expecting to be within at least 1C. At first I thought it might be the board temperature, but there is a hole in the sensor to allow for air to enter.
I’m suspecting either a factory calibration issue (Sensirion) or damage during board assembly. Anyways, let me know if you are not seeing the expected temperature on your Xiao Logger board.
I have used at least 10 different Adafruit MCP9808 boards for 4 years now and they have been very accurate (within 0.5C) and reliable. I was hoping for a more compact temperature measurement setup with the Xiao Logger, but +4C at room temp is a big let down.
SO it’s pretty simple,
It’s NOT the Sensor,
The SHT40 is very unlikely to be defective or in need of factory calibration. Sensirion SHT4x sensors are factory calibrated and laser trimmed to within ±0.2°C, and they do not support user span/zero calibration registers in hardware.
The +4°C offset is almost certainly caused by thermal conduction and self-heating from the XIAO ESP32-C3:
Direct Thermal Coupling: The Logger HAT mounts directly above or below the XIAO board. The ESP32-C3 and its onboard 3.3V LDO generate noticeable heat even when idling, which conducts directly through the headers, ground planes, and trapped air between the stacked boards.
Continuous Active Loop: In MicroPython, running a tight while True loop keeps the ESP32-C3 CPU pegged at full frequency, causing the MCU package to sit several degrees above ambient.
On-Chip Heater: The SHT40 features an integrated heater used for pulse de-condensation. If the MicroPython driver mistakenly executes commands that fire the internal heater, the reading will immediately jump by 2°C to 5°C or more.
To verify whether heat bleed is the culprit:
Test in Deep Sleep: Have the ESP32-C3 wake from deep sleep, take a single measurement within a few milliseconds, and immediately go back to sleep for 60 seconds. If the +4°C delta drops down to ambient, the offset is pure thermal bleed from the active MCU.
Thermal Isolation: Move the HAT off the header pins via fly leads (dupont wires) to mechanically and thermally decouple the SHT40 from the ESP32-C3.
Power Pin Gating: The Xiao Logger HAT powers the SHT40 via a GPIO power gate (pin D10). Keeping D10 low when not sampling prevents parasitic heating across the HAT components.
Don’t hit the panic button…
Compensate for it in the code, You can’t calibrate it to the offset so.
keep us posted , what you do please.
HTH
GL PJ
IMO, the Logger HAT is good idea but not great implementation. It should be a LOGGER & IO hat , ditch the sensors… you see why
I noticed that Adafruit has PCB cutout around their SHT40 to stop some board heat. I did separate the Logger Hat board from the Xiao and it was in perfect agreement with a MCP9808 board that I have. Most MCUs already have die temperature available which is why I was hoping that this “hat” board was designed for ambient monitoring with some PCB wizardry to thermally isolate the sensor.
I agree with you that this board is more Logger than Sensor.
I agree
I was hoping Seeed would cease the day and grab that Idea for themselves. It’s a great concept really, a bottom sandwich board with sensors and connectors too sensors. PMIC on board for Battery management and improve the Nrf52840 with real SOC control on its battery pads. Sensor power rail control for , not just sleeping , turning stuff OFF! the ultimate power saving.
I have one like the primoni its a On/off push button and battery connector and a MAX PMIC.
Seeed, is crafty..they pulled a leapfrog.
These little gems are crazy,