Montre Connectée
Développement d'une smartwatch sous Zephyr RTOS (inspirée du projet ZSWatch) : interface tactile LVGL, capteurs embarqués et connectivité BLE.
À propos du projet
Développement du firmware complet d'une montre connectée, en partant du projet open source ZSWatch (smartwatch construite de zéro sur Zephyr RTOS). Le firmware, écrit en C sur Zephyr, est multi-cartes : il cible principalement la carte de développement Nordic nRF5340 DK, avec des configurations pour M5Stack Core2 (ESP32) et NXP i.MX RT1170. L'interface utilisateur tactile est construite avec LVGL (multi-écrans, chronomètre, affichage des mesures), et le système intègre une chaîne de capteurs complète en I2C : centrale inertielle LSM6DSO (accéléromètre/gyroscope), magnétomètre LIS2MDL et capteur de température/humidité HTS221, lus via des timers dédiés et une gestion par interruptions. La connectivité Bluetooth Low Energy permet la communication avec d'autres appareils, et un shell de debug sur UART facilite le développement. Pour garder l'heure même hors tension, nous avons assemblé nous-mêmes un module d'horloge temps réel (RTC) : soudure des composants CMS (circuit RTC, résistances de tirage du bus, découplage) sur un PCB dédié, avec support de pile bouton pour la sauvegarde. Le module se connecte à la carte via le même bus I2C que les capteurs (broches GND, INT, SCL, SDA, CLKOUT, VDD) et fournit l'heure et la date à l'interface. Le projet couvre l'ensemble des problématiques d'un système embarqué temps réel : ordonnancement, files de messages, drivers de capteurs et interface graphique contrainte en ressources.
Technologies utilisées
- C
- Zephyr RTOS
- nRF5340 (Nordic)
- ESP32 (M5Stack Core2)
- LVGL
- Bluetooth LE (BLE)
- I2C
- RTC (module assemblé)
- Capteurs ST (LSM6DSO, LIS2MDL, HTS221)
- Soudure CMS
Fonctionnalités
- Firmware Zephyr RTOS multi-cartes
- Interface tactile LVGL multi-écrans
- Centrale inertielle, magnétomètre, température/humidité
- Connectivité BLE
- Module RTC I2C assemblé main (soudure CMS + pile bouton)
- Sauvegarde de l'heure hors tension
- Chronomètre et affichage de l'heure
- Gestion par interruptions et timers
- Shell de debug sur UART
- Basé sur le projet open source ZSWatch
En images