Awesome Open Source Embedded Project on Github – ZSWatch Smartwatch

ZSWatch is an open-source smartwatch that includes both hardware and software. It is named ZSWatch-Zephyr Smartwatch because it is built on top of Zephyr RTOS. Currently, this project is open-source on Github, and it is a fantastic open-source project~

Zephyr was originally developed by Wind River as a microkernel and became a project maintained by the Linux Foundation in 2016. Over the years, it has evolved into a fully functional embedded OS. The platform now supports processor architectures such as ARM, RISC-V, X86, Xtensa, etc., and features a native BLE protocol stack, a complete Net protocol stack including TCP/IP and application layer protocols, providing strong support for embedded application development.

ZSWatch Beautiful Pictures

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Github Link (Currently ZSWatch has been updated to V2 version)

https://github.com/jakkra/ZSWatch

https://github.com/jakkra/ZSWatch-HW

Hardware Schematic (V2 version)

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

PCB (4-layer circuit board with a diameter of 36 mm)

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Main Components (V2 version)

  1. u-blox NORA-B10 low-power module (based on Nordic nRF5340 BLE chip)

  • Dual-core Cortex-M33

  • Arm TrustZone and CryptoCell 312 for enhanced security

  • Multi-protocol support for Bluetooth 5.2, Bluetooth Mesh, Thread, Zigbee, and NFC

  • Indoor positioning support

  • Support for BLE audio

  • Extended temperature range up to 105°C

  • UART, QSPI, SPI, I²C, I²S, USB, QDEC, PDM, PWM, and ADC

  • Advanced design rules for fast and low-cost PCB design

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

2. IPS TFT round display (1.28 inches with a resolution of 240×240), with touch, the display driver IC is GC9A01.

3.Bosch BMI270 IMU (Inertial Measurement Unit), enabling various functions such as gesture navigation and waking the smartwatch by moving the arm. Makes the display clear and visible.

4. Bosch BME688 environmental sensor (gas, humidity, pressure, temperature).

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

5. Bosch BMP581 barometric pressure sensor with a wide measurement range of 300 hPa to 1250 hPa and an absolute accuracy of ±30 Pa.

6. ST LIS2MDLTR magnetometer.

7. Renesas AT25SL128A 16 MB external flash memory.

8. Broadcom APDS-9306-065 light sensor for automatic brightness control.

9. Some sensors can be omitted to save BOM costs.

3D Printed Shell Structure

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Charging Dock (Currently still V1 version)

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Software Features

  • Interact and control with smartphones through the Android app GadgetBridge.

  • Watch face interface that can display time, date, battery level, weather forecast, step count, environmental data, unread notifications count, and heart rate.

  • Easy-to-extend settings menu system

  • Music control app, compass app, etc.

  • Supports Bluetooth positioning, allowing you to use the watch as a tag for any u-blox AoA board tracking.

Communication with Mobile Phones

Android Phones

There is an excellent Android app called GadgetBridge that handles all the necessary functions on the mobile side, such as notification management, music control, etc. ZSWatch is now one of the smartwatches supported by Gadgetbridge, using the same API.

Pairing

Enter "Settings" -> "Bluetooth" -> "Enable Pairing" on the watch, and reconnect the watch from the Gadgetbridge app. It should now be successfully paired.

iOS Device Communication

Apple has opened the Apple Notification Center service GATT server for handling notification management on the mobile side, and music control is also done through Apple media services in the same way… ZSWatch communicates directly with iOS without the need for an additional app.

Pairing

Enter settings on the watch -> Bluetooth -> Enable Pairing, now go to device settings -> Bluetooth and select "ZSWatch". The system will prompt you to pair and allow notification sharing.

Project Updates and Progress

The possible features are virtually limitless; please check the link below to follow all developments of this project.

https://github.com/users/jakkra/projects/1

Awesome Open Source Embedded Project on Github - ZSWatch Smartwatch

Follow the WeChat public account “Embedded Talk” for more interesting embedded project information. Thank you all for your likes and support~

Leave a Comment

×