Firmware Updates
This page describes how to update ZSWatch firmware on WatchDK.
Enable Updates on the Watch
Before any update (USB, BLE, or SWD), enable updates on the watch:
- On the watch, go to Apps → Update.
- Set USB and/or BLE to ON if you plan to use the web updater.
Firmware Download Contents
When you download a firmware package from GitHub Releases or GitHub Actions, the zip contains both the firmware and the image resources:
GitHub requires you to be logged in to download GitHub Actions artifacts. If the link redirects you to sign in, log in and try again.
| File | Description |
|---|---|
dfu_application.zip | Firmware images (zip, for USB/BLE update) |
watchdk@1_nrf5340_cpuapp_debug.hex | Firmware image (hex, for SWD flashing) |
zswatch_nrf5340_CPUNET.hex | Network core image (hex, for SWD flashing) |
lvgl_resources_raw.bin | Image resources (icons, graphics) for USB/BLE upload |
After updating firmware, you typically also need to upload the matching image resources so icons and graphics display correctly. See Image Resources for details.
Method A: Web Updater (USB or BLE)
- Enable USB and/or BLE updates on the watch.
- Open https://zswatch.dev/update.
- Select a WatchDK firmware image.
Firmware file naming
The WatchDK firmware build is named:
watchdk@1_nrf5340_cpuapp_debug
Method B: Flash via Debugger (SWD)
Use this method if you have a debugger connected (for example J-Link, or Nordic nRF54L15 DK) and a 10-pin 1.27mm SWD cable.
Option B1: Flash a pre-built firmware (nrfjprog)
- Download the latest firmware hex from one of:
- Connect the debugger to the WatchDK SWD header.
- Flash the application core (and external flash configuration):
nrfjprog -f nrf53 \
--program watchdk@1_nrf5340_cpuapp_debug.hex \
--chiperase --qspisectorerase --verify --reset \
--qspiini /path/to/qspi_mx25u51245.ini \
--coprocessor CP_APPLICATION
The --qspiini flag expects the qspi_mx25u51245.ini file from this repo. If you are flashing pre-built hex files, provide a local path to your copy of that file.
- If you also need to re-flash the network core, flash CPUNET:
nrfjprog -f nrf53 \
--program zswatch_nrf5340_CPUNET.hex \
--chiperase --verify --reset \
--coprocessor CP_NETWORK
Option B2: Build from source and flash
If you are building the firmware yourself, use the nRF Connect VS Code extension or west.
See: