Please note: If you are looking for more recent releases based on Pycom’s 1.20.2.rc3 and 1.20.2.rc6 complemented with additional features, you might want to follow up at Squirrel firmware for Pycom/ESP32.
We’ve built upon many aspects researched within Investigating random core panics on Pycom/ESP32 devices and will follow up on this with an extensive report and an attempt to mainline this ASAP, as soon as we are able to confirm it will really make things more robust. In all other cases, this is just us fantasizing about possible improvements.
For now, we would like to get this into the hands of more people and will be happy about any feedback.
The firmware images referenced within this post are all based on Pycom’s 1.20.1.r1. On top of that, these builds also include noteworthy patches from the community you might enjoy.
Mitigations against random memory corruption errors and core panics.
This has been researched within Random memory corruption faults on ESP32-WROVER rev.1 and rev.2 when running in dual-core mode and Investigating random core panics on Pycom/ESP32 devices.
Mitigations against random file system corruption and core panics, mostly when using LittleFS or FTP.
Fix core panics: Don't use m_malloc and gc_malloc unintended by amotl · Pull Request #418 · pycom/pycom-micropython-sigfox · GitHub
Vanilla firmware images
These images called
VERSION-BUILD-vanilla-dragonfly are inofficial firmware images for testing built with
VARIANT=BASE. They are available from Index of /hiveeyes/foss/pycom/vanilla/. The most recent releases are:
Pybytes firmware images
These images called
VERSION-BUILD-pybytes-dragonfly are inofficial firmware images for testing, built with
VARIANT=PYBYTES. They are available from Index of /hiveeyes/foss/pycom/pybytes/. The most recent releases are:
Please be aware that when upgrading from a lower firmware version to the current
1.20.1.r1 development release these builds are based upon, you will have to erase your device completely before flashing in order to keep things straight . Hint: Use a command like 
pycom-fwtool-cli --port /dev/ttyUSB0 erase_all pycom-fwtool-cli --port /dev/ttyUSB0 flash --tar FiPy-1.20.1.r1-0.6.0-pybytes-dragonfly.tar.gz
On Windows, the invocation would be slightly the same. Just adjust the
--port setting appropriately.
pycom-fwtool-cli.exe --verbose --port COM11 erase_all pycom-fwtool-cli.exe --verbose --port COM11 flash --tar FiPy-1.20.1.r1-0.6.0-pybytes-dragonfly.tar.gz
Notes for LoPy, LoPy4, SiPy and FiPy devices
Please also be aware that this procedure will also erase the LoRa MAC as well as the Sigfox ID and PAC identifiers stored on the device. @robert-hh thankfully outlined the procedure to restore it appropriately:
On Windows, the program installation location will be
c:\Program Files (x86)\Pycom\Pycom Firmware Update.
On macOS, it is
/Applications/Pycom Firmware Update.app/Contents/Resources/pycom-fwtool-cli.