Introduction
In the spirit of the Dragonfly firmware for Pycom/ESP32, we have updated the firmware images based on the Pycom Firmware Release 1.20.2.
We’ve built upon quite some research to resolve different instability issues and added a number of contributions from the community (thanks everyone!) to unlock various interesting features compared to Pycom’s baseline. Now, we would like to get this into the hands of more people and will be happy about any feedback – thanks already!
As usual, all artefacts are available from Inofficial firmware images for Pycom devices.
Enjoy!
About
The firmware images referenced within this post are all based on Pycom’s 1.20.2.rc3 and 1.20.2.rc6. 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 -
Improved 1-Wire support
Support modonewire from vanilla MicroPython by amotl · Pull Request #356 · pycom/pycom-micropython-sigfox · GitHub -
I2S support
Add I2S support by amotl · Pull Request #368 · pycom/pycom-micropython-sigfox · GitHub -
Filesystem metadata fixes
Fix integer overflow in filesystem stat implementation by amotl · Pull Request #413 · pycom/pycom-micropython-sigfox · GitHub -
UART inverted mode
mods/machuart.c: Support the UART inverted mode by robert-hh · Pull Request #362 · pycom/pycom-micropython-sigfox · GitHub -
LTE improvements
esp32/lteppp: Don't send CR each time when invoking "lteppp_send_at_cmd" by amotl · Pull Request #414 · pycom/pycom-micropython-sigfox · GitHub
Vanilla firmware images
These images called VERSION-BUILD-vanilla-squirrel
are inofficial firmware images for testing built with VARIANT=BASE
. They are available from https://packages.hiveeyes.org/hiveeyes/foss/pycom/vanilla/. The most recent releases are:
- FiPy-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
- GPy-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
- LoPy-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
- LoPy4-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
- SiPy-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
- WiPy-1.20.2.rc6-0.10.1-vanilla-squirrel.tar.gz
Pybytes firmware images
These images called VERSION-BUILD-pybytes-squirrel
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:
- FiPy-1.20.2.rc6-0.10.0-vanilla-squirrel.tar.gz
- GPy-1.20.2.rc6-0.10.0-vanilla-squirrel.tar.gz
- LoPy4-1.20.2.rc6-0.10.0-vanilla-squirrel.tar.gz
- WiPy-1.20.2.rc6-0.10.0-vanilla-squirrel.tar.gz
Installation instructions
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 [1]. Hint: Use a command like [2]
Linux/macOS
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
Windows
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
On Windows you can use also the installable software Pycom Firmware Update. The GUI guids you through the process. At step 3 “Communication” use the option “Flash from local file”.
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:
Installing the recent Pycom Firmware 1.20.1.r1 requires erasing the flash memory completely ↩︎
-
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
.
-