How to cook an ESP32 on your Jackpot (Don't do this)

I can’t believe I just did this. I absolutely know better. I was trying something out on my spare fancy V1E ESP32. Installed FluidNC on it and put it on my Jackpot. Except I put it in backwards!

The antenna is supposed to go towards the middle with the usb port on the outside edge.

So, what happened?

I couldn’t figure out why I couldn’t connect. I was 100% sure I had wifi setup properly. Then I touched the ESP32 and it was really hot. I panicked realizing what I did. Turned it off, waited for it to cool a bit, put it in the right way, and turned it back on. The stepper motors were making weird noises so I turned it back off.

I put other ESP32 back in and everything worked fine. I was worried I killed my Jackpot but all is well.

So, I brought my roasted ESP32 back into the house and plugged it into the computer. I was able to connect to it with FluidTerm but get this error over and over.

FluidTerm v1.2.1 (3773931-dirty) using COM6
Exit: Ctrl-C, Ctrl-Q or Ctrl-], Clear screen: CTRL-W
Upload: Ctrl-U, Reset ESP32: Ctrl-R, Send Override: Ctrl-O

Brownout detector was triggered

ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13260
load:0x40080400,len:3028
entry 0x400805e4

Brownout detector was triggered

Yep, I killed it. I betcha I won’t do that again. Oh well.

4 Likes

Would a Nub on the board prevent this? E.g. something that would prevent seating if the wifi antenna were hanging over the wrong end?

1 Like

Maybe just the little regulator got hammered?

1 Like

Just noticed there’s a teeny tiny ESP32 orientation visual on the PCB. Maybe bigger version, and move the crowns somewhere else would help?

2 Likes

It looks normal to me. It’s hard to get a good picture.

Not sure that’s possible or necessary. This was just dumb on my part. I’m not looking for any kind of fix.

2 Likes

Difficult to tell with reverse polarity connections like that.

It may be that it reverse biased the regulator and then shorted through it until it died. The question is what got connected to what when it died. If it just went fully open circuit then you’re probably fine on the rails, it’s just whether any of the things the GPIO is connected to had enough grunt to damage a pin.

Regardless, I would ALWAYS treat something like this as suspicious and replace it if possible. There are far too many failure modes that might not be outright failure but can either be a future failure waiting to happen, a part going out of spec by having something like a threshold voltage or input leakage current change, etc.

2 Likes

Putting it in the wrong way round will put Jackpot +5V on ESP-32 dev board GND. It puts the Javkpot GND to the ouptut of the ESP-32 dev board 3V3 regulator, GPIO 21 and GPIO12. I’m not even sure what that means for a conduction path, probably that ESD diodes in the ESP32 get forward biased through GPIO12/21.

Very likely an unrecoverable ESP32.

Maybe a stressed Jackpot 5V regulator.

1 Like

For every user that does it and declares it, there will be many more that do it, correct it, and then don’t necessarily say they put it in wrong.

I’m not sure what an inexpensive nub part would be to restrict putting in the ESP32 flipped around.

If there were an inexpensive passive mechanical protection, it is probably worthwhile for a future jackpot revision.

5 Likes

Blasphemer!!

You might be right, if this happens again I need to look at that.

Easier if it was the other way around, but A good idea as well. I am pretty sure I have booted one backwards and caught it in time.

4 Likes

According to this, it was added to the esp32 to detect bad power supplies. The esp32 thinks it is not getting enough power. If you were powering via usb cable, maybe try a different one.

Confession: I did this once too and something released the magic smoke. Thankfully I think it was on the esp32 not the jackpot board as once I replaced the esp it’s been fine ever since. I might just have got lucky though, it was only for a few seconds so I wouldn’t recommend it.

One thing I was thinking I might do myself is snip off an unused header pin and block the corresponding header port to ‘key’ the board so it only goes in one way for the next time I’m tired and dopey.

Might be a good idea from a support point of view - if someone buys a jackpot and esp32 from Ryan and reports it ‘mysteriously’ isn’t working at least you could be sure they hadn’t plugged it in the wrong way round.

I just realised how inappropriate it is for me to be offering advice being, as illustrated above, a dum dum. :grin:

1 Like

Blasphemy! :smile:

Oh, Ryan already said so. :yum:

2 Likes

I did this too and the jackpot was fine. I ‘borrowed’ a part, the regulator I think, from an old esp8266 (edit: actually it was an ESP32cam that had lost its camera). A bit fine for my soldering abilities but It seemed to work (apart from being broken in other non realated ways). If I remember correctly it was the small 3 pin device approx in the centre of the esp32.

I’ma big fan of “hey guys, guess what i screwed up this time!”

1 Like

I did the exact same thing. I just ordered a new jackpot and newer checked if I only fried the ESP32 or the whole unit.

Very likely the Jackpot is fine and only the ESP32 is blown.

Then I will try it on my next machine. :grin:

1 Like

Thoughts on future Jackpot and ESP32 board revisions have 20 pin header on either the top or bottom, then, like today, keep 19 pin header on the other side. The extra pin could be ground, or something useful?

Hopefully the asymmetrical layout will provide a enough of a cue to people to minimize future instances. But, design will still be similar enough that either the JackPot or the ESP32 board are compatible with other regular 2 x 19 hardware.

People wanting to use the V1E ESP32 in other situations can clip the extra pin if needed.

Thought about this before, but didn’t think it worth mentioning until more instances occurred.

It needs to fit a standard esp32. Not sure how to prevent this.