If you are using a Mac and are programming with MakeCode, you may need to update your bootloader!

If you are using MakeCode (https://makecode.adafruit.com or https://maker.makecode.com) on a Mac, you need to update your board's bootloader to avoid a serious problem.

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 CPLAYBOOT drive (or other ...BOOT drive) from appearing. 

Updating Your Circuit Playground Express Bootloader
(see below for other boards)

To see if you need to update your bootloader, get CPLAYBOOT 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. All the NeoPixels should turn green.

Click the CPLAYBOOT drive in the Finder and then double-click the INFO_UF2.TXT file to see what's inside.

The bootloader version is listed in INFO_UF2.TXT. In this example, the version is "V2.0.0-adafruit.5".

You do not need to update if your bootloader version is v3.3.0-adafruit.10 or newer.

If the bootloader version you see is older than "v3.3.0-adafruit.10", you need to update. For instance, the bootloader above needs to be upgraded.

Download the latest version of the Circuit Playground Express bootloader updater here:

The bootloader updater will be named update-bootloader-circuitplay_m0-v3.7.0.uf2 or some later version. Drag that file from your Downloads folder onto the CPLAYBOOT drive.

After you drag the updater onto CPLAYBOOT, 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, CPLAYBOOT will reappear in the Finder. After that, you can click on CPLAYBOOT and double-click INFO_UF2.TXT again to confirm you've updated the bootloader.

Updating the bootloader erases any existing program on the board.

After you update the bootloader, anything else on the board will have been erased. You will need to reload CircuitPython, load a new Arduino program, or reload the code.org firmware. To reload the code.org firmware, see the code.org CSD page.

Oh no, I updated MacOS already and I can't see CPLAYBOOT!

If your Mac has already been updated to MacOS 10.14.4 and now you can't see CPLAYBOOT in the Finder, you need to find another computer that will work. Not all upgraded Macs will fail to show CPLAYBOOT: 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.

Upgrading Other Boards

If you don't have a Circuit Playground Express, but are using a different Adafruit board with a UF2 bootloader, the procedure is similar to what you see above. Single-click (if using MakeCode) or double-click the reset button. You'll see a drive whose name ends in ...BOOT. Check the version as above. If you need to update, download a bootloader updater for your board. Links to the latest updaters are available here in the Updating the bootloader section on the UF2 Bootloader Details page. Then drag or copy the updater .uf2 file onto your BOOT drive.

This guide was first published on Oct 12, 2017. It was last updated on Oct 21, 2017.

This page (Update the Bootloader (Mac Users Especially!)) was last updated on Apr 24, 2019.

Text editor powered by tinymce.