Squirrel firmware for Pycom/ESP32

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.

Vanilla firmware images

These images called VERSION-BUILD-vanilla-squirrel 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-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:

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”.

2020-05-28 22_01_53-Pycom Upgrade

Notes for LoPy, LoPy4, SiPy and FiPy devices

:warning: 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:


  1. 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.

    ↩︎
3 Likes

Using the most recent 1.20.2.rc3 release seemed to help @pascalschaefer doing pure LoRa on a LoPy4 device, see Random Core Panic with Lora Socket send/recv, device doesnt restart - try with CONFIG_ESP32_PANIC_SILENT_REBOOT | Pycom user forum and Investigating core panics on the LoPy4.

I tried the new build LoPy4-1.20.2.rc3-0.8.0-vanilla-squirrel.tar.gz and not any “bad00bad bad00bad bad00bad” Core Panic happened till now.

Thanks @husigeza and the whole Pycom team for mitigating this specific issue with LoRa.

1 Like