Merry Christmas and Happy New Year. I hope your holidays are filled with friends and of course blinky things.
Update:
I posted on Espressif’s forum under bugs for a feature request. At the time that I write this post, there have been 26 views of the request. I hope it gets enough interest that Espressif considers my request.
Testing:
I soldered a 2 pin header into pins 1 and 2 of the programming connector. I then connected 3.3 Volts to Pin1. I hooked up my Oscilloscope to pin 4 and immediately saw data on the line. Pin 4 is attached to MISO. This is great news, the data is getting through the level shifter. Unfortunately, the waveform shows a lot of noise. Then I switched to 5V and I saw data again, but the firmware crashed very quickly. I started out by assuming the 5 Volts was the problem. So I tried setting it back to 3.3 Volts and the system wouldn’t reboot. Then I disconnected the voltage supply and still not booting. Finally, I disconnected my oscilloscope probe and it would boot again.
Analysis:
The MISO line brings the code from flash into the processor. Any glitch on it could cause crashes/failures. It appears that the scope probe added to the output of the chip was enough to cause a glitch back on the MISO line. This is disappointing, scope probes are very minimal loads. Typically 10pF and 10MΩ on the circuit. That is less than most devices that I would want to program. This is going to take some more time to look at. I need to test with a larger load, and maybe some pullups/pulldowns. I am beginning to think a port expander might be a better choice. It’s still early to make that decision.