This tool allows you to update the firmware on Bangle.js 2 devices from within the App Loader.

Firmware updates using the App Loader are only possible on Bangle.js 2. For firmware updates on Bangle.js 1 please see the Bangle.js 1 instructions

Your current firmware version is unknown and DFU is unknown

If you have an early (KickStarter or developer) Bangle.js device and still have the old 2v10.x DFU, the Firmware Update will fail with a message about the DFU version. If so, please click here to update to DFU 2v12 and then click the 'Upload' button that appears.

The currently available Espruino firmware releases are:

To update, click a link above and then click the 'Upload' button that appears.

What is DFU? ▼

What is DFU?

DFU stands for Device Firmware Update. This is the first bit of code that runs when Bangle.js starts, and it is able to update the Bangle.js firmware. Normally you would update firmware via this Firmware Updater app, but if for some reason Bangle.js will not boot, you can always use DFU to to the update manually.

DFU is itself a bootloader, but here we're calling it DFU to avoid confusion with the Bootloader app in the app loader (which prepares Bangle.js for running apps).

Advanced ▼

Advanced

Firmware updates via this tool work differently to the NRF Connect method mentioned on the Bangle.js 2 page. Firmware is uploaded to a file on the Bangle. Once complete the Bangle reboots and DFU copies the new firmware into internal Storage.

In addition to the links above, you can upload a hex or zip file directly below. This file should be an `.app_hex` file, *not* the normal `.hex` (as that contains the DFU as well).

DANGER! No verification is performed on uploaded ZIP or HEX files - you could potentially overwrite your DFU with the wrong binary and brick your Bangle.