WatchDK Quick Start

This guide walks you through setting up your ZSWatch Development Kit (WatchDK) for the first time - from powering on to having a fully working smartwatch UI with icons and images.
What You Need
| Item | Required? | Notes |
|---|---|---|
| USB-C cable | Yes | For power and optional USB firmware updates |
| WatchDK (with display & vibration motor connected) | Yes | Ships assembled and tested with display & motor pre-connected |
| Debugger (recommended: Nordic nRF54L15 DK, ~$35) | Optional | Needed if you want to develop the FW and flash via SWD instead of USB/BLE. A SEGGER J-Link works too, but is more expensive |
| 10-pin 1.27mm SWD cable | Optional | Needed to connect the debugger to the WatchDK. Example cables: Adafruit, Amazon |
| Battery (LiPo) | Optional | The DK runs fine from USB power alone. See battery section at the end |
Step 1 - Power On
- Connect the USB-C cable to the WatchDK.
- The watch should boot into the ZSWatch UI.
- Try press top right button to open the application picker.
The watch ships with firmware but without image resources. The UI will work, but icons and graphics will be missing until you upload them in Step 3.
Step 2 - Update Firmware
We recommend updating to the latest firmware as the first thing you do.
Enable Updates on the Watch
Before any USB or BLE update, you must enable it on the watch:
- On the watch, navigate to Apps → Update.
- Set USB and/or BLE to ON depending on which method you plan to use.
Choose Your Update Method
- Web Update (no debugger needed)
- Debugger (SWD)
This method requires no extra hardware.
- Make sure you enabled USB or BLE updates on the watch (see above).
- Go to zswatch.dev/update.
- Follow the on-screen instructions to flash via USB or BLE.
For details on firmware files and other update methods, see Firmware Updates.
Use this method if you have a debugger connected and want to flash via SWD.
See Firmware Updates for the full SWD flashing steps (pre-built firmware and building from source).
Step 3 - Upload Image Resources
Many icons and images in the ZSWatch UI are stored in external flash and are not included in the firmware binary itself. They need to be uploaded separately. The image resources file (lvgl_resources_raw.bin) is included in the firmware download package, so you already have it.
The easiest method is the web updater, no debugger required:
- On the watch, go to Apps → Update and enable USB and/or BLE.
- Go to zswatch.dev/update.
- Follow the on-screen instructions to upload image resources via USB or BLE.
See the full Image Resources guide for more details.
If you have a debugger connected, you can upload images from VS Code by pressing Ctrl+Shift+P and running the task Upload Raw FS, or from the terminal:
west upload_fs --type raw --ini_file app/boards/zswatch/watchdk/support/qspi_mx25u51245.ini
Step 4 - Done!
Your WatchDK should now be running the latest firmware with all icons and images visible. Navigate around the UI using the four buttons and the touchscreen.
Optional: Battery & RTC Jumper
The WatchDK works without a battery - USB-C provides all the power needed. However, the real-time clock (RTC) needs a power source to retain the time.
Without a Battery (Default)
Set the RTC jumper so that the RTC is powered from VSYS (USB power) instead of VBAT. This way the RTC works while USB is connected, but time will be lost when unplugged.

Jumper configuration - ensure the RTC power jumper is set to VSYS when no battery is connected.
With a Battery
If you add a battery, move the RTC (Battery) jumper to VBAT so the RTC stays powered even when USB is disconnected.
Next Steps
- Setting up the Development Toolchain - install VS Code, nRF Connect SDK, and build tools
- Compiling the Software - build custom firmware from source
- Firmware Recovery - if the watch becomes unresponsive