Update the PyBadge Bootloader

Update the PyBadge Bootloader to prevent a problem with MacOS 10.14.4 and to fix button problems, and to prevent occasional damage to the loaded program.

Your PyBadge may need its bootloader updated for several reasons.

Bootloaders earlier than v3.9.0 do not protect against a rare problem in which part of internal flash is erased on startup.

Starting with MacOS 10.14.4, Apple changed how USB devices are recognized on certain Macs. This caused a timing problem with boards that were loaded with a MakeCode program, preventing the PYBADGEBOOT drive from appearing. Also the A and B buttons will be reversed in MakeCode if your bootloader is too old.

A HUUUUUUGE number of people have problems because they pick a 'charge only' USB cable rather than a "Data/Sync" cable. Make 100% sure you have a good quality syncing cable. Srsly, I can't even express how many times people have nearly given up due to a flakey USB cable!

Updating Your PyBadge Bootloader

To see if you need to update your bootloader, get the UF2 boot drive to appear on your board. If you're running MakeCode, click the reset button once. If you're running CircuitPython or an Arduino program, double-click the reset button.

If the boot drive is named ARCADE-D51 or BADGEBOOT, you definitely need to upgrade. If you see PYBADGEBOOT, click thePYBADGEBOOT drive in the Finder and then double-click the INFO_UF2.TXT file to see what's inside.

(The screenshots below are for PYGAMERBOOT, but PYBADGEBOOT will be similar.)

The bootloader version is listed in INFO_UF2.TXT. In this example, the version is V3.6.0.

If the bootloader version you see is older than v3.9.0, you need to update. For instance, the bootloader above needs to be upgraded.

Download the latest version of the PyBadge bootloader updater on the circuitpython.org download page for the board:

The bootloader updater will be named update-bootloader-arcade_pybadge-vN.N.N.uf2 with whatever version. Drag that file from your Downloads folder onto the bootloader drive: ARCADE-D5, BADGEBOOT, or PYBADGEBOOT.

After you drag the updater onto the boot drive, the red LED on the board will flicker as the bootloader is updated. The NeoPixels will flash and turn green again. A few seconds later, PYBADGEBOOT will appear in the Finder. After that, you can click onPYBADGEBOOT and double-click INFO_UF2.TXT again to confirm you've updated the bootloader.

After you update the bootloader, you will need to reload CircuitPython whatever other user program you are using.

Oh no, I updated MacOS already and I can't see the boot drive!

If your Mac has already been updated to MacOS 10.14.4 and now you can't see a boot drivein the Finder, you need to find another computer that will work. Not all upgraded Macs will fail to show the boot drive: older ones can work. Or find a Mac that hasn't been upgraded yet. Any Windows 10 or Linux computer should work for upgrading your bootloader. Windows 7 computers will need drivers installed, but then can work.

This guide was first published on May 25, 2019. It was last updated on May 25, 2019.
This page (Update the PyBadge Bootloader) was last updated on Jun 03, 2020.