5

I've posted here before (this) and this could be considered a followup post.

I've taken all the feedback into consideration which would make me belief to have a working version.

However, after about 10-20 minutes of use, the thing just dies. It straight up dies. No output anymore over UART, it won't even boot. There is still ~3.3v on the 3v3 and chip_enable pins, as well as on GPIO0 (boot mode) which has an internal pullup.

Here is a screenshot of the schematic, and here is a link to the pdf, where everything connected to J1 was left unpopulated. None of those transistors were populated. All the unused pins on the ESP32 were left unconnected/floating.

Here is also a link to the pcb layout.

Here is the datasheet of the LEDs that were connected, I bought them as a generic WS1815 ledstrip, I cannot find the manufacturer of them so these might not be the exact LED.

What could be the issue?

The only thing I could think of is that, somehow, 5V shoots back into the ESP32, from the LED strip (the WS2815 have 5V logic level.)

In the two boards that I have tested, I tested a ledstrip connected to J3.

I'm at a loss, any help is appreciated.

To the remarks about ESD, it's not that I'm not at all concerned about ESD, it's more that over the past years I've worked with many custom ESP32 board that did not have any kind of ESD protection. I have never had any issues with those boards.

To the remark about the power supply, I have tried connecting the power supply to another board with the same power cirtcuit, which worked like a charm, the baord stayed alive for the couple hours that I left it on.

Cyborgium
  • 159
  • 1
  • 7
  • 1
    Where do you have the LED strips connected? – JRE Jan 12 '21 at 21:37
  • 1
    Permanently destroyed after a certain time? Likely overheating. – DrMoishe Pippik Jan 12 '21 at 21:38
  • @JRE I had them connected to J5. – Cyborgium Jan 12 '21 at 22:01
  • @DrMoishePippik How would it have though? Over the past three years I've worked with the esp32, I've never had a single one overheat. – Cyborgium Jan 12 '21 at 22:02
  • 1
    I'd be looking at a power problem or out-of-limits voltages being applied to I/O pins. I've never seen an ESP32 even get warm! – jwh20 Jan 12 '21 at 22:08
  • Is anything connected to the COM port or the JTAG port? If so, what are their interface voltages? – Elliot Alderson Jan 12 '21 at 23:47
  • 1
    Its not a wise idea to have unprotected port pins go out into the real world. Even for onboard ws2812 i use a level translator. Is the voltage regulator shutting down? Is it oscillating? Pcb layout is crucial here. – Kartman Jan 13 '21 at 00:40
  • User Cyborgium... Why don't you at least add to your profile the city you are from. I looked up your locale to try to see if you are likely in a dry place and static ESD might be more or less of a problem, but it was a waste of my time, because all it says is, "Apparently, this user prefers to keep an air of mystery about them." So is ESD likely it, or not? – MicroservicesOnDDD Jan 13 '21 at 02:17
  • Change your code to assert a "heartbeat" -- toggle an unused digital line each time around in your infinite loop / main event loop. When esp32 dies, is heartbeat still there? Is reset asserted? What are you doing with all of your unused pins? Pulled-up? -down? Floating? Is there a watchdog? Have you scoped all of your pins while it is working, and do you see anything you don't understand? Try changing your power source, then does it still die? Explain the problem to a few friends, record yourself, and tell us anything you forgot to tell us the first time (add missing details)... To start! – MicroservicesOnDDD Jan 13 '21 at 02:30
  • Can you give us a datasheet and / or schematic for the LED strips? And LED driver(s) if there is one. In the datasheet I found there were two application circuits -- we can best help you if you give us **COMPLETE** information! – MicroservicesOnDDD Jan 13 '21 at 03:42
  • *"I've taken all the feedback into consideration..."* The proposed solution was to replace the low-side with a high-side switch. But that hasn't changed. Can you elaborate on what you have changed and why you seem to think the low-side switch isn't problematic? – Codo Jan 13 '21 at 07:29
  • @MicroservicesOnDDD Yes you're right, I'll update the post with more information. – Cyborgium Jan 13 '21 at 12:31
  • @Codo There isn't a low side switch anymore. I've decided to take someone's advice and don't switch the power off to the LEDstrip at all and simply "program" them to go off when I want it to – Cyborgium Jan 13 '21 at 12:32

2 Answers2

6

I had the same issue, with the SMD version of the ESP, during prototyping. Since I started using ESD mats, and ESD gloves, I dont see my ESP's dying :-)

What I observed as Stage 1 was random serial characters, and then within few hours, esp would be dead. No Flashing either! Obviously I was touching them with my bare hands, on a carpeted floor. I took 2-3 days to research and learn ESD protection circuits.

Additionally, the schematics you posted are very blurry, but since it works and dies off, I would presume, a power failure/transient coming from ESD most probably. I didnt see any protection on Tx and Rx line of your esp32.

Esp32, I believe is only rated for 500V, and human body can at a minimum, even to feel a ESD discharge requires 3kV, which makes ESD protection more or less mandatory on esp32. Look at the dev board schematic and they have it on there, on power, D+ and D- lines.

enter image description here enter image description here

Amogh Jain
  • 135
  • 7
  • Thank you for pointing out the CM1293A-04SO, that seems easy enough to implement in my design! – Cyborgium Jan 13 '21 at 12:56
  • Would you have a link to that schematic? – Cyborgium Jan 13 '21 at 13:05
  • here is the link for ESP32 devkit on the web . On the "micro usb and Uart " section, the protection is colored Blue(dark maybe) and naming is "ESDxxx" and for power they have a "BATxxx" . Diodes D3, D4, D5 and D6 @ https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch.pdf – Amogh Jain Jan 13 '21 at 19:47
  • Instead of the array I mentioned earlier, you can also use,dedicated/standalone TVS's that do not require any power source to operate 1. AU3321D5: for Digital IO Pins (Tinyyy SMD Package, ~$0.03 @ LCSC part # C393856) @ 80 Watts Power Dissipation 2. MMBZ5V6ALT1 : for Power and Ground Pins (SOT package ~ $0.03 @ LCSC, Part # C123251 and maybe x3 at Digikey) @ 24watts Power Dissipation. – Amogh Jain Jan 13 '21 at 19:47
  • 1
    Thanks for the detailed response! – Cyborgium Jan 14 '21 at 10:13
-1

Have you tried a more consistent voltage regulation like a LM2576 module instead of linearly regulated power source?

pateitos
  • 11
  • 1
  • 2
  • 3
    Linear regulators as a rule have a cleaner and more stable output than switching regulators like the LM2576. – JRE Jan 13 '21 at 16:19
  • When used in audio applications like ESP32 wifi, linear regulation can lead to extra capacitor noise over time undesired for the cpu itself. Instead switched power sources combat this rapid load variations by autonomously regulating the same exact output voltage under a variety of load conditions. – pateitos Jan 13 '21 at 16:27
  • 2
    Nope. A linear regulator with appropriate capacitors will be **cleaner** than a switching power supply. A linear regulator reacts just as well as (if not better than) a switching regulator to sudden load changes. Additionally, an ESP32 and WiFi can't by any reasonable means be classified as "audio." – JRE Jan 13 '21 at 16:45