I’ve been working on a project to be distributed to largely unskilled end-users and a means to easily reset WiFi configuration is desirable. I’ve taken the approach that variety is better, and I have provided a means to reset WiFi on boot with a pin held low, via the software (if they plan ahead), and found the jenscski/DoubleResetDetect project which seemed like another I wanted to look at adding.
I hit a challenge with developing that into my project which I originally thought was an issue with DRD, but I found it’s actually an offshoot of the IDE/Serial Monitor/Controller communication. Specifically, when flashing the firmware, of course, that’s one “reset”. Then, there’s apparently another one when the serial monitor reconnects to the controller. That kicks in the DRD detection and I’m left wondering where my credentials went.
This is not a complaint/problem per se, I’m just looking for a way through this.
I thought I understood that a serial connection is made resets controllers like the Uno, but that this was not the case with the ESP8266. What I find is different so I am not sure if that’s a “feature” of the controller or specific to how PlatformIO/VSCode creates that connection.
So, if anyone has ideas about how I can avoid this/properly test this, I’m all ears. I’m also interested to hear how other people have designed in field reset functionality.