Building3 min read

Wearables — 指輪・ネックレス・足首・腕時計を基板からアプリまで

nRF52840を使った指輪・ネックレス・足首バンド・腕時計の開発メモ。基板、3Dプリント筐体、ファームウェア、BLE、iOS/Webアプリの進捗。

nRF52840ZephyrKiCadbuild123dSwiftUICoreBluetoothWeb BluetoothReact
Wearables — 指輪・ネックレス・足首・腕時計を基板からアプリまで

概要

指輪・ネックレス・足首バンド・腕時計の開発メモ。回路、筐体、ファームウェア、アプリを制作中。4種ともnRF52840を使用。BLEの仕様を共通化して、iOSアプリとWebアプリでまとめて扱う構成。

デバイスねらい現状
スマートリング心拍・SpO2・睡眠とジェスチャー。薄さ最優先フレキ基板の配線中。ファームはビルド済み
スマートネックレスマイクで音声を拾い、文字起こしファームと受信側を実装。実機検証はこれから
足首バンド歩数・歩行時間。足首での心拍も試験中XIAOで加速度ログとUSB回収が動作
スマートウォッチ円形LCD・歩数・BLE実機で起動。IMU・省電力・BLEまで確認

スマートウォッチの例

XIAO nRF52840 Sense、1.28インチ円形LCD、80mAhのLiPoを使用。実物を重ねて高さを測り、筐体を設計。部品の高さは9.5mm、底とベゼルを含む設計上の総厚は11.3mm。

  • 筐体は寸法を1つのJSONに集め、そこからCADを生成。部品どうしの干渉に加えて、バネ棒・ベルト・USBプラグの通り道を形状で検査。太いバネ棒を入れたときに干渉が検出されることも確認
  • ファームはZephyrで、表示・IMU・電池のピン配置はボード定義だけに書き、同じアプリを開発ボードとXIAOで使用
  • 静止時の加速度は9.77〜9.96 m/s²。5秒静止で消灯、動かすと点灯
  • 書き込みはUSBシリアル経由で、ボタン操作は不要

共通BLE仕様とアプリ

BLEは標準サービス・共通サービス・個別サービスの3層に整理。各デバイスの既存ファームウェアに共通サービスを追加する構成。UUIDは1つのJSONにまとめ、iOSアプリとWebアプリから読み込み。

  • iOSアプリ(SwiftUI + CoreBluetooth): 4種を同時に扱い、記録をJSONで書き出し
  • Webアプリ(React + Web Bluetooth): Chromeから直接つなぐか、iOSの記録を読み込んで表示。データはブラウザ内で処理