Custom board keeps killing chips
Posted: Sun Dec 01, 2019 5:05 pm
<t>Hello,<br/>
I am working on my own ESP32 board for home automation. I use an HLK 5M05 for a main power supply then I use an AMS1117 to bump it down to 3.3V. I am using basically the same circuit as the documentation shows for peripheral schematics. to program the chips I am using the arduino IDE with a CP2102 usb to serial module. <br/>
<br/>
I will build a board and it will work just fine for awhile, but then it will start to kill the program the serial message is error in main.c<br/>
<br/>
Then I will reprogram it and it will be just fine, but then it will start doing it again, but this time something happened to the internal pull-up on IO0 because the serial message then becomes "ready for download" as though I hit reset with IO0 pulled low. at this point if I hit the reset button then it acts as though IO0 is held low, but the boot button is not being pressed. I measure about 0.6vdc at IO0. To solve this I put a jumper from IO0 to 3v3. this allow me to upload the code a few more times, but after a bit I start to get errors like "could not write to target ram". <br/>
<br/>
as for the power supply I have tried using the 2200uf capacitor in my schematic, and I have replaced with a 10uf cap like the documents say to use. I have used a DSO nano from work to scope the 3.3v rail and it seems to be nice and smooth with little ripple, but it is a cheap scope its hard to tell. <br/>
<br/>
I have noticed that I have been using 0806 ceramic capacitors for the 0.1uf capacitor in the schematic and they seem to be getting fried as well because generally if I replace that then I can program the chip again. but I switched to an electrolytic cap and it seems to work fine now, I have 3.19vdc at the en pin when not pressed.<br/>
<br/>
My question is why do I keep killing these chips? is there something wrong with my schematic or maybe implementation? do I need a pull-up resistor on IO0?</t>
I am working on my own ESP32 board for home automation. I use an HLK 5M05 for a main power supply then I use an AMS1117 to bump it down to 3.3V. I am using basically the same circuit as the documentation shows for peripheral schematics. to program the chips I am using the arduino IDE with a CP2102 usb to serial module. <br/>
<br/>
I will build a board and it will work just fine for awhile, but then it will start to kill the program the serial message is error in main.c<br/>
<br/>
Then I will reprogram it and it will be just fine, but then it will start doing it again, but this time something happened to the internal pull-up on IO0 because the serial message then becomes "ready for download" as though I hit reset with IO0 pulled low. at this point if I hit the reset button then it acts as though IO0 is held low, but the boot button is not being pressed. I measure about 0.6vdc at IO0. To solve this I put a jumper from IO0 to 3v3. this allow me to upload the code a few more times, but after a bit I start to get errors like "could not write to target ram". <br/>
<br/>
as for the power supply I have tried using the 2200uf capacitor in my schematic, and I have replaced with a 10uf cap like the documents say to use. I have used a DSO nano from work to scope the 3.3v rail and it seems to be nice and smooth with little ripple, but it is a cheap scope its hard to tell. <br/>
<br/>
I have noticed that I have been using 0806 ceramic capacitors for the 0.1uf capacitor in the schematic and they seem to be getting fried as well because generally if I replace that then I can program the chip again. but I switched to an electrolytic cap and it seems to work fine now, I have 3.19vdc at the en pin when not pressed.<br/>
<br/>
My question is why do I keep killing these chips? is there something wrong with my schematic or maybe implementation? do I need a pull-up resistor on IO0?</t>