Arduino on the ID100HR fitness tracker

Arduino on the ID100HR fitness tracker

posted in: BLE, Bluetooth, nRF51822 | 9

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.

 

id100hr_front_smart_watch

id100hr_back_smart_watch

 

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

RX pad P0.17
TX pad P0.18
Vibrate P0.07
Button P0.04 Needs input_pullup
Accelerometer (I2C)
P0.10-16 possible range of pins used
P0.16 SCL
P0.15 Possibly IRQ
P0.14 SDA
OLED (SPI)
P0.29 SPI MOSI
P0.30 SPI SCK
P0.0  Data/Command
P0.1 Reset
P0.2 Chip select

 

 

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/

9 Responses

  1. sandeep ponnuru
    |

    Wow, this is amazing Roger! I am astonished at your curiosity and discovery nerve. I was wondering if you have any advice on their bracelet version ID115HR. http://www.geekbuying.com/item/ID115-Smart-Bracelet-Fitness-Tracker-Black-376223.html

    Do you think this might also be re-programmable?

    Thank you very much,
    Sandeep

  2. Roger Clark
    |

    Its very hard to know if a product listed on these sites like geekbuying is reprogrammable.
    I have wasted money buying 4 watches which were not what they claimed to be.

    Theoretically the ID115HR contains a nRF51822 which should be reprogrammable, but you are not guaranteed to get a nRF5x based device from that supplier, as the MCU part number of not listed in the advert, so you would have no recourse to get a refund if it didnt have a nRF51 of nRF52

    Even if a product is listed as containing nRF51 or nRF52, the only way to know for sure is to open the watch, and doing this will mean you will have difficulty getting a refund if you need to send the watch back.

    I know someone who recently bought a ID107HR Plus, which contains a nRF52 but when he received the watch he found it was the older ID107HR (nRF51). He know straight away that it was a different model, as they look different, but even then I’m not sure if he managed to get a refund.

    So its pretty much pot luck when you buy these.

    Additionally, I don’t think anyone has reverse engineered the peripherals e.g display, and motion sensor and HR sensor, on that watch, so you would have to do this yourself, which is not an easy process, especially with the display, as they rarely have meaningful part numbers on them

  3. Mark Cooke
    |

    Hi Roger, i was wondering if you could tell me the pinout of the rear ribbon cable (going to the si1142). Thanks!

  4. Roger Clark
    |

    I don’t have any more information than what I’ve already written in this post

  5. Anon
    |

    Ya know … why don’t you just suck out the code and start reversing a little bit of it (for the DFU boot loader at least)? Yes, the part is read-back locked, but there is a flaw in the SWD interface on the nRF51 … google it.

  6. Roger Clark
    |

    Did that last year, but I don’t post about those sorts of things as they can result in sites getting taken down by DCMA requests

  7. acassis
    |

    Hi Roger,
    Very interesting! I will try to get one of this watch to install NuttX on it (but I didn’t finish the nRF52 port yet).
    Do you know for sure some watch that will come with nRF52 instead of nRF51?

  8. Roger Clark
    |

    Yes. The ID107HR Plus uses a nRF52832

  9. acassis
    |

    Thank you very much Roger!

Leave a Reply