Some time ago…, Goran Mahovlic commented about how he was trying to run Arduino on an IDo 003, fitness tracker / smart watch which uses the nRF51822. As I’ve been interested in smart watches for some time, I thought I’d buy the same watch, and join in the fun.
Unfortunately the first watch I bought didn’t contain an nRF51822 (see my other post about nRF51 based smart watches), so I ordered 2 more of different types, and finally after another 2 weeks, an ID100HR arrived and to my relief it did use an nRF51822, even even better it was the QFAC variant which has 256k flash and 32k RAM.
The spec for this watch are:
MCU: Nordic nRF51822QFAC (256k flash , 32k RAM)
Operating clock frequency: 16Mhz
Realtime clock crystal : 32khz
Display: 0.49 inch OLED display (64×32 pixels) which uses the SSD1306 display controller
Motion sensor: Kionix kx022-1020
Heart rate sensor: Silicon labs Si1142
Battery: LiPo 60mAH
Charger: USB cable with 3 pins (5V, GND, 5V), (No PSU is supplied). The cable just connects 5V from the USB cable, so the battery charge controller must be inside the watch.
One push button and a vibration alert (motor)
Pin Assignments for the most of these watches seems to be as follows
|P0.10-16||possible range of pins used|
Whats great about this watch, is that they have labelled the SWDIO and SWCLK pads, and also that they have even broken out 2 pins to 2 pads labelled TX and RX.
So its easy to connect either a JLink or Blackmagic probe to the SWD pins to reprogram it.
I also like to thank Goran Mahovlic for his work on the ID003 smart watch, and in turn to thank the Espruino guys for giving Goran something to work from… http://forum.espruino.com/conversations/280747/
michael.thomas has requested the source coded I used in the Youtube video. The video was done around 18 months ago, so I don’t know whether this code still works as libraries and cores change all the time
But here is some code I found on my hard drive related to the ID100HR