Need help understanding why my ESP32-S3 died

ninenine
Posts: 1
Joined: Wed Sep 10, 2025 12:31 am

Need help understanding why my ESP32-S3 died

Postby ninenine » Wed Sep 10, 2025 1:26 am

Quick info:
So, i want to start this of with the fact that i am not experienced in pcb's and circuit boards, i am mainly a software developer, so i'll understand a small amount of electronics talk, but not a ton.
My issue is that my ESP32-S3 N16R8 seemed to have shorted, but i am uncertain as to why.
The ESP32-S3 was running GrblHAL with a custom configuration for this board when it died.

Setup:
ESP32/CNC Shield/TMC2209
I have a CNC Shield V3 on top of an AliExpress bought ESP32-S3 N16R8 "uno" (https://www.aliexpress.com/item/1005006 ... 18028Q78JE) with 4x TMC2209 stepper drivers (technically 3, driver "A" is not actually plugged in to the uart or a stepper, i just keep it there as a spare). The CNC Shield V3 has a single modification done to it, i've cut the 5V leg and bridged it to 3.3V instead, since i wanted the TMC2209 drivers to use 3.3V as to not damage the ESP32. There's also an old Arduino SD Card reader that i slapped on their cause i wanted to use the ESP32-WebUI once i got everything going.

TMC2209
The 3 stepper drivers are connected via uart (all 3 uart pins on the stepper drivers to 2 pins on the esp32's back with 1k resistor on tx) and their DIAG pins are to their corresponding endstop pins (is what i thought at the time, but it seems i actually connected the INDEX pin if i'm not mistaken, but sensorless homing was working, so i'm hoping this wasn't the issue)

Spindle/BTS7960
The spindle is driven with another AliExpress module, a BTS7960 module (https://www.aliexpress.com/item/1999464 ... 18028Q78JE).

The ESP32/CNC Shield combo and the BTS7960 board were connected together with my own little board that is in the picture, which is an B0505S-1W to isolate the power, and an ISO7742F to isolate the PWM and ENABLE signals for the spindle. (I hope that's what it does anyway, like i said, not really super knowledgeable about electronics, just know some basics)

PSU
The ESP32/CNC Shield and the BTS7960 are powered by the same 24V 10A PSU, just connected to the 2 different terminals that are on my PSU.

What i was doing:
The CNC these were connected to is a CNC 3018 (from what i can tell a non-pro version) and what happened when it died was that i was moving the toolhead around a bit to figure out the steps/mm and max travel of the machine, when all of a sudden Candle stopped reporting anything. Confused i closed Candle and opened Putty to take a look at the serial myself, which was spitting out the following over and over:

Code: Select all

Build:Mar 27 2021
rst:0x10 (RTCWDT_RTC_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3fce3808,len:0x1338
load:0x403c9700,len:0xb90
load:0x403cc700,len:0x2ed4
Checksum failure. Calculated 0x0a stored 0x91
ets_main.c 329
I assumed at this point that the flash had somehow gotten corrupted and attempted to reflash GrblHAL, which didn't work until i did it with baud rate 115200, at which point it seemed to flash without a problem, just slow obviously. I once again connected to the serial and at first it seemed fine, it was printing the inital startup info:

Code: Select all

ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3fce3808,len:0x1338
load:0x403c9700,len:0xb90
load:0x403cc700,len:0x2ed4
entry 0x403c993c
I (29) boot: ESP-IDF v4.4.6-dirty 2nd stage bootloader
I (29) boot: compile time 03:51:15
I (29) boot: Multicore bootloader
I (31) boot: chip revision: v0.2
I (35) boot.esp32s3: Boot SPI Speed : 40MHz
I (40) boot.esp32s3: SPI Mode       : DIO
I (45) boot.esp32s3: SPI Flash Size : 4MB
I (49) boot: Enabling RNG early entropy source...
I (55) boot: Partition Table:
I (58) boot: ## Label            Usage          Type ST Offset   Length
I (66) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (73) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (81) boot:  2 factory          factory app      00 00 00010000 00200000
I (88) boot:  3 grbl             Unknown data     01 99 00210000 00001000
I (96) boot:  4 storage          Unknown data     01 82 00211000 000f0000
I (103) boot: End of partition table
I (107) esp_image: segment 0: paddr=00010020 vaddr=3c0c0020 size=1f9d8h (129496) map
I (148) esp_image: segment 1: paddr=0002fa00 vaddr=3fc99da0 size=00618h (  1560) load
I (149) esp_image: segment 2: paddr=00030020 vaddr=42000020 size=b9910h (760080) map
I (342) esp_image: segment 3: paddr=000e9938 vaddr=3fc9a3b8 size=04074h ( 16500) load
I (347) esp_image: segment 4: paddr=000ed9b4 vaddr=40374000 size=15da0h ( 89504) load
I (383) boot: Loaded app from partition at offset 0x10000
I (383) boot: Disabling RNG early entropy source...
At this point GrblHAL is usually done booting and i can start sending commands, but not this time, it was completely unresponsive, so i hit the reset button on the board and at that point it didn't respond to anything anymore, so i took the CNC shield off and noticed the actual ESP32-S3 board was hot to the touch, likely meaning i had somehow shorted it and it's dead.

Actual question:
So now onto my actual reason for writing here, what could have caused this to happen and how can i prevent it in the future?
I assumed the CNC Shield V3 would keep the 24v away from my ESP32-S3 and just in case i made the isolation board for the pwm and enable pins on the bts7960, so afaik it wasn't the 24v hitting the ESP32, but i could be wrong.
Attachments
board.png
My isolation board
board.png (3.82 MiB) Viewed 2343 times
front.JPG
Front of ESP32/CNC Shield
front.JPG (3.59 MiB) Viewed 2343 times
back.JPG
Back of ESP32/CNC Shield
back.JPG (4.3 MiB) Viewed 2343 times

MicroController
Posts: 2663
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: Need help understanding why my ESP32-S3 died

Postby MicroController » Wed Sep 10, 2025 11:02 am

How is GND handled in your circuit? The B0505S (5V isolator used for 3.3V?) may be isolating part of your circuit's GND from the rest which may cause large voltage differences to occur, esp. with inductive loads on one side.

ninenine
Posts: 1
Joined: Wed Sep 10, 2025 12:31 am

Re: Need help understanding why my ESP32-S3 died

Postby ninenine » Wed Sep 10, 2025 7:13 pm

Yeah, i bought the 5V isolator before i decided to go with an ESP32, but it still seemed to work fine with 3.3V so just went with it.
I'm not quite sure what you mean by "how is GND handled", afaik the common ground would be the GND wire to the PSU for both the BTS7960 and the ESP32/CNC Shield, i was hoping the isolator would make no major voltage spikes pass through to the ESP. Other than the isolator the BTS and ESP are not connected in any way other than through the common PSU.
Also, at the time of the ESP death, the spindle was not enabled/sent a PWM, i was just moving the stepper's around, not sure if that changes something.

EDIT: Now that i think about it, there is another ground reference in the system, the one connected between the ESP and my PC, which if i remember correctly are not on the same mains circuit. Could that have caused a buildup somewhere and fried the ESP?
Last edited by ninenine on Thu Sep 11, 2025 3:11 am, edited 1 time in total.

apalazzi
Posts: 9
Joined: Sun Aug 17, 2025 6:28 pm

Re: Need help understanding why my ESP32-S3 died

Postby apalazzi » Sat Sep 27, 2025 2:30 pm

Hi,

I'm having a very similar issue with a Fysetc E4 board https://github.com/FYSETC/FYSETC-E4/tree/main , and just yesterday I fried the second board in a short time... I also was trying to control the motors when at some point the board stopped responding and now 3.3V is shorted to GND on the ESP32 chip (pins 1 and 2)...
Strangely enough one of the two board seem to accept a firmware flash, but then it doesn't go after the bootloader.

Did you figure out the cause?

Bye
Andrea

Who is online

Users browsing this forum: Google [Bot], Perplexity-User and 3 guests