ESP32-C6 Running noticeably hot

I’m running a fairly simple application on a Seeed Studio XIAO ESP32-C6. It continuously scans for BLE signals, and whenever it detects a signal with a specific UUID, it sends some data to a website.

The firmware was developed using the nRF Connect SDK with Zephyr.

What concerns me is that after about 30 minutes of runtime, the microcontroller already feels noticeably warm to the touch. I’m wondering whether this is normal behavior for the ESP32-C6 when doing continuous BLE scanning, or whether it could indicate a problem with my setup.

Has anyone else seen this happen? Also, is there any risk in letting it run like this inside an enclosed space?

1 Like

Hi there,

and thanks for the post,

So, That’s an unusual occurrence AFAIK, I have done a lot of testing and Demo’s on here with it. What transmit power level are you setting in the code?
The Antenna switch is the units achilles heal, imo. messes with the power requirements for lowest power goal.

Post up the code you are running, I can look.
Have you tried to build in the Arduino with Native BLE ?
Sounds pretty standard BLE app type OPo.

SO active scanning can warm things up, but sounds like maybe the battery (E) is dropping? you have a live time Battery level measurement, take one :+1: what is it?

HTH
GL :slight_smile: PJ :v:

throw us a picture of your creation… :grin: others will chime in. :crossed_fingers:

1 Like

Hi PJ,

Thanks for the reply, Ive not done power measurements on my trackers yet.
I will post updates when I have. Im afraid I cant really share the code as Im using a framework developed by the company im currently working at.

I will update this post when I get around to the trackers again!

1 Like

Out of curiosity, are you running this out of a battery ? What kind of runtime are you getting ?

The trackers are powered over USB and will be mains powered in the final deployment. The beacons are battery powered and Im currently at around 1.8 years of power on a single coin cell. Aiming for two.

2 Likes

Some heating is expected when you run continuous BLE scanning. It should not be so hot that you have a burning sensation when you touch the ESP32. When placed inside an enclosure, this heat can build up further due to limited airflow. In that case it needs some ventilation or thermal dissipation if the device is intended to run 24/7.

Continuous BLE scanning can definitely make an ESP32-C6 run warm, especially if scanning is active almost all the time and the radio is not getting many idle periods. I would first measure the actual temperature rather than relying only on touch, because “warm” can feel concerning even when the device is still operating normally.

A few things I’d check:

  • BLE scan interval/window settings

  • CPU sleep or idle configuration in Zephyr

  • WiFi activity when sending data to the website

  • Current draw from the 3.3V rail

  • Whether any regulator on the XIAO board is heating more than the ESP32-C6 itself

For an enclosed space, I’d be cautious. Even if the chip is within spec on the bench, temperature can rise quite a bit once airflow is restricted. I ran into something similar while evaluating a small custom enclosure prototype from Justway, and the internal temperature ended up noticeably higher than what I measured during open-bench testing.

If the application allows it, reducing the BLE scan duty cycle is probably the first thing I’d try. I’d also perform a long-duration test inside the intended enclosure and monitor both temperature and current consumption over time.

1 Like