esp32_tm wrote: ↑Mon Jan 06, 2020 4:22 pm
code that won't fully run on this board [ESP32 Thing] will run normally on another that doesn't auto boot.
This is probably a different cause, the ESP32 Thing is the only ESP32 development board (to my knowledge) that has used a 26MHz crystal on the board, and Espressif recommends using 40MHz crystal only.
If you configure your project for 26MHz it should work. The ESP-IDF config item is here (default is 40MHz):
https://docs.espressif.com/projects/esp ... l-freq-sel
esp32_tm wrote: ↑Mon Jan 06, 2020 4:22 pm
Three of the boards ( Sparkfun ESP32 Things, by the way) have the D0WDQ6 revision 1 chip but the fourth board has a revision 0. Revision 0 provided the auto boot.
There is a bug in revision 0 at boot time (spurious WDT reset) that makes it easier for the auto boot circuit to work, because it gets a "second chance" to set the pins correctly.
But a correctly designed development board can auto boot a new ESP32 revision on nearly all computers. The problem is with the board design, not the chip.
The "ESP32 Thing" schematic shows that there is no capacitor between EN pin (marked CHIP_PU in the schematic) and GND. This cap is needed for the auto-reset to work reliably. If you add a capacitor to the breakout pins on the board (use approx 1uF value) between CHIP_PU and GND then auto-reset will probably start working.
Sparkfun will need to update the board design for it to work reliably out of the box (same goes for the choice of 26MHz crystal).