15th May 2022 Why Oh Why do things never work first time !
I bought a Badger2040 as I wanted to try out an eInk display and it was cheaper to buy the Pimoroni Badger2040 than buy a separate eInk display and either an Arduino or Pi Pico.
However it would appear that there is a magical incantation that one needs to know to get it to work rather than just follow the scripts on many Youtube or blog pages.
What worked for me was...
I downloaded the thonny-3.3.13.pkg from https://thonny.org/ which links you to the GitHub download page which for Mac was https://github.com/thonny/thonny/wiki/MacOSX there followed the usual MacOs security shenanigans of getting an application downloaded from the web (and not from the app store) installed and running.
Once running Thonny became stuck in a loop insisting on either updating the python firmware or saying that the badger2040 was "Device is busy or does not respond."
Here is where you need to know the magic incantations.
Make sure that Thonny is using MicroPython (Raspberry Pi Pico) interpreter, and not the default. The active interpreter is shown in the bottom right hand corner of the Thonny App. To change this just click on that text to get a menu with options to chose the interpreter or to configure it. Once you have selected the right interpreter - click on the configure interpreter option - select the interpreter tab and manually set the Port option to where the badger2040 is connected. Now reboot Thonny to start with the correct options enabled.
Rather than just working you now need to a) connect the badger2040, push the rst button on the badger 2040 then click the Stop icon on the Thonny app - all before the two will sync together.
Before updating the firmware backup the examples shipped with the badger2040 or look below on how to download them again.....
Navigate to https://github.com/pimoroni/pimoroni-pico/releases and scroll down to the Assets section.
Click on the pimoroni-badger2040-v1.18.6-micropython.uf2 file link to download the 18.6 (latest in May 2022) firmware.
With the Badger2040 unplugged, first hold down the boot/usr button (on the rear of the badger2040) with one hand and while doing so with the other hand connect the usb cable into your computer. This will start the badger2040 in bootloader mode, where it acts like a USB memory key enabling you to copy python programs or firmware to it.
Bring up a Finder or Explorer window, look for the RPI-RP2 folder and then drag the downloaded uf2 type file to it. As soon as the copy completes the badger2040 will recognise the file type and automatically apply the firmware and reboot into normal program execution mode. In the process generating an annoying Eject "RPI-RP2" before disconnecting error on the Mac.
In trying to get the badge and various ide's (Thonny and Mu) to work, I loaded different levels of MicroPython and CircuitPython firmware many times. This resulted in me loosing the example code which is shipped on the badge.
After searching I eventually found the GutHub link to them in a Pimoroni support answer. So here it is...
https://github.com/pimoroni/pimoroni-pico/tree/main/micropython/examples/badger2040#badge
Examples:
https://github.com/pimoroni/pico-circuitpython-examples/blob/main/badger2040/displayio_example.py