Hacker News new | ask | show | jobs
by Sprite_tm 934 days ago
Espressif dev here. I usually advise people to break out GPIO0 (or GPIO9 for the ESP32Cx series) because 1. if you somehow write firmware that reconfigures the USB pins, there's no way to get the USB connection going via which you can reset the ESP into download mode, and 2. if somehow a firmware upload aborts halfway, the ESP32 can go into a bootloop with the USB device periodically disappearing. In the 2nd scenario, it's not impossible to time your flash so it goes through, but simply pulling GPIO0 low is easier. I don't think having an actual button is needed, but I'd certainly have a test point or another way you can ground that pin when you get yourself in a pickle.
1 comments

Oh, we absolutely have on our boards. It's just we've had to use it to recover from a borked flash maybe twice, total? We don't have a button, just have to bridge some pads.