RECORD_ID: prj_03 STATUS: COMPLETED
[SUBJECT_MATTER]

connected watch — nrf5340 & zephyr rtos

Design and implementation of a connected watch on nRF5340 with Zephyr RTOS, featuring BLE communication, I2C sensor integration, and an LVGL touch interface.

TIMEFRAME 2025
TECHNICAL_STACK
nRF5340 Zephyr RTOS BLE LVGL I2C C nRF Connect SDK Squareline Studio

system_log // connected_watch

This Master 1 project aimed to build a functional connected watch from the ground up, integrating hardware and software components into a coherent embedded system. Inspired by the open-source ZSWatch project.

mission_scope

The core challenge was developing a real-time application on the nRF5340 microcontroller using Zephyr RTOS. The device had to collect sensor data, display it on a touchscreen GUI, and communicate via Bluetooth Low Energy.

features_implemented

multi_screen_gui

Touch-enabled graphical interface designed with Squareline Studio and rendered by LVGL. Screens include: watch face, sensor dashboard, pedometer, compass, and stopwatch.

sensor_integration

I2C sensor management via ST IKS01A3 shield:

  • LSM6DSO (6-axis IMU) for pedometer and motion tracking
  • LIS2MDL (magnetometer) for compass functionality
  • HTS221 (temperature + humidity)

time_management

Persistent timekeeping through external RTC (Micro Crystal RV-8263-C8) with stopwatch function and date tracking across reboots.

ble_connectivity

GATT services for sensor data streaming to mobile devices — standard ESS for temperature/humidity, custom service for IMU data. Debugged with nRF Connect for Mobile.

hardware_stack

ComponentPart
MCUNordic nRF5340
SensorsST IKS01A3 Shield
DisplayAdafruit 2.8” TFT Touch Shield v2
RTCMicro Crystal RV-8263-C8

lessons_learned

Zephyr’s device tree model required careful pin mapping and driver configuration. The BLE stack on nRF Connect SDK provided robust GATT abstractions but added significant binary size — optimizing for flash budget was a key constraint.


Repository: github.com/M0x3m/Montre_Connectee_Projet