So I finally got around to playing with this little dev board I bought a while back, the kind with a small color screen built in. Been messing with it for a few evenings after work and it's honestly the most fun I've had with code in ages. But I noticed something that's bugging me. Even with the screen turned off and the board just sitting idle, the chip area feels noticeably warm to the touch after ten minutes or so. Not hot, I can keep my finger on it no problem, but definitly warmer than I expected. It's plugged into my laptop USB the whole time, so I figured idle current woud be tiny. Is this just how these boards are, or did I mess something up in my code? I'm using the deep sleep example I found online and it still warms up, which makes me think either the example isn't actually putting it to sleep or there's some other part of the board drinking power. Would love to hear if this is normal before I go chasing ghosts.
Why does my ESP32 board get warm even when the screen is off?
Oct 12, 2026
Last reply: 17 hours ago
3 Replies
First reply
Warm to the touch on that board is pretty normal, even at idle. The chip on there runs at 240MHz by default and the WiFi and Bluetooth radios sip current even when your sketch isn't using them, so the die itself gets noticeably warm under your finger. If your code never…
Read the full replyWarm to the touch on that board is pretty normal, even at idle. The chip on there runs at 240MHz by default and the WiFi and Bluetooth radios sip current even when your sketch isn't using them, so the die itself gets noticeably warm under your finger. If your code never actually calls the sleep function, or if the wireless stack is still initialized, it will just sit there burning power all day. The deep sleep examples are a common trap too. A lot of them only work if you disable WiFi and Bluetooth first, and some of them put the chip to sleep for a few seconds and then wake right back up, so if you blink you miss it. Stick a serial print right before the sleep call and right after the wake, and watch the output. If you see the wake message rolling by every few seconds, the example is cycling and you'd never know it. Also check the backlight. Turning the screen off in code sometimes just means writing black to the display while the backlight LED is still cranked up, which is a decent chunk of the draw right there. Even with a genuinely good deep sleep, the board itself has overhead the chip can't control. The USB to serial bridge, the voltage regulator, the power LED, and various pull up resistors all stay powered whenever it's plugged in. So you'll never hit the microamp numbers from the datasheet on a dev board over USB. A few milliamps of floor is normal.
Easiest way to know for sure is one of those cheap inline USB power meters. Plug the board thru it and compare running vs asleep. If deep sleep drops the draw way down, your code is fine and the warmth you felt was just the chip running normally beforehand. If it barely moves, something in the sketch is keeping it awake, ussually the radio or the display library holding pins.
That bit about the USB power meter is solid advice, I can back it up from my own bench. I did the exact same test with a similar board last year and saw the draw drop from a few dozen milliamps down to almost nothing once my sleep code acutally worked. The funny part was my first attempt looked like it was sleeping but the serial monitor told on me, wake messages scrolling non stop. Also worth checking if your display library has a command to kill the backlight completley, writing to the screen alone can leave that LED burning the whole time.
The thing that finally cracked this for me was putting my multimeter in series between the board and the USB cable, on the low current range. I'd been guessing for weeks untill I actually watched the numbers live. Turned out a display library I was using kept toggling its pins in the background even after I told it to shut the panel off, and the current barely dipped. Swapped the order of my shutdown calls and the reading fell right off a cliff. Also try touching around the board, not just the chip. On mine it was actually the regulator running warm, not the MCU, wich sent me down a totally wrong path for a while.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required