ZSWatch is an open-source hardware smartwatch based on an u-Blox ANNA-B402 module with Nordic Semi nRF52833 Bluetooth 5.1 SoC and running Zephyr real-time operating systems.
We’ve seen several open-source hardware smartwatches over the years, as well as open-source firmware projects such as AsteroidOS or InfiniTime with the latter used in the PineTime smartwatch, and the ZSWatch adds to the list of interesting open-source wearables with all source files made public.
- Wireless module – u-blox ANNA-B402 based on Nordic Semi nRF52833 Arm Cortex-M4F microcontroller with Bluetooth LE 5.1 and direction finding support
- Storage – 8MB flash (MX25R6435FZNIL0)
- Display – 1.28-inch 240×240 IPS TFT circular display with GC9A01 driver; covered with Sapphire Crystal Glass.
- Accelerometer (LIS2DS12TR) for step counting, etc…
- MAX30101EFD for pulse oximetry and heart rate monitoring
- 3x buttons for navigation (prev, next, enter)
- Vibration motor (DRV2603RUNT) with haptics driver to give better vibration control.
- Power Management
- Battery charger and battery supervisor (MAX1811ESA+, TLV840MAPL3).
- 220 mAh Li-Po battery
- Dimensions – PCB: 36mm diameter
The current firmware shows the time, date, battery level, weather, step count, and heart rate (not implemented yet), as well as an envelop icon with the number of unread notifications. The watch also supports Bluetooth direction finding using u-blox ANT-B10 or other AoA antenna boards. The firmware still needs some more work such as implementing heart rate calculation (now only samples the raw data) and “proper BLE pairing”.
Jakob Krantz designed the board with KiCad, the 3D printed enclosure with Fusion 360, and ported Zephyr OS to the hardware making sure the firmware works with the popular GadgetBridge app for synchronization with an Android smartphone. There’s also a 3D printed charging dock. He released everything on GitHub but does not recommend people reproduce the current build, and instead wait for ZSWatch v2 which will fix some of the hardware issues and rely on u-Blox NORA-B10 module with Nordic Semi nRF5340 dual-core Cortex-M33 BLE/Zigbee microcontroller, and add a touchscreen, but probably do without the 8MB flash due to space constraints.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.