I have two ESP32 boards that are slightly different. The first from AZDelivery.de works great. The second from miniduino which slightly stouter (no 3v3 and gnd pins at the back) crashes with wifi usage. Using the standard do_connect() script and typing in the lines one at a time it crashes at wlan.active(True). I read some posts here talking about power, capacitance, and cables and so I ran the do_connect() script on both boards on two different computers with two different usb cables and the problem follows the miniduino board.
Finally I used the Arduino IDE (WifiClient example) and was able to run and boot without issue (but without micropython


I also tried the lobo fork and it crashes too.
When it crashes it sometimes says something about RF calibration but it always kills the serial connection.
[code]>>> do_connect()
I (108259) wifi: wifi driver task: 3ffcae0c, prio:23, stack:3584, core=0
I (108259) wifi: wifi firmware version: 7aac1f9
I (108259) wifi: config NVS flash: enabled
I (108259) wifi: config nano formating: disabled
I (108269) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (108279) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (108299) wifi: Init dynamic tx buffer num: 32
I (108299) wifi: Init data frame dynamic rx buffer num: 64
I (108299) wifi: Init management frame dynamic rx buffer num: 64
I (108309) wifi: Init static rx buffer size: 1600
I (108309) wifi: Init static rx buffer num: 10
I (108309) wifi: Init dynamic rx buffer num: 0
[/code]
espefuse does show a mac address.
I was ready to switch to Arduino but then I put a huge cap from 3v3 to gnd and the problem was resolved. With the cap in place days of hassle melted away. Clearly the second board lacked capacitance.
Why does the Arduino built firmware run without the big capacitor?