Cheap Smartwatch Hacking, To Run Your Own Code

[Aaron Christophel] has been busy, he picked up a P8 smartwatch of the type that many of you will no doubt have seen. They cost almost nothing and do almost… nothing. In all fairness, they do connect to your phone using Bluetooth LE courtesy of a chip from Nordic (the NRF52832), and they can do several simple tasks. But they don’t run applications in the way an Android or Apple watch does. [Aaron] wants to run his own applications, so his YouTube channel has a lot of information about hacking the P8 and other watches with similar chips. In one video you can watch below, he demonstrates how he’s written support for Arduino programming to the devices. What we were really excited about was the second video below where he shows his Android app that can flash the devices via Bluetooth. That means you can potentially hack these devices without opening them up.

The app that normally runs these watches is called Da Fit, so [Aaron] called his utility DaFlasher. This is all early stuff so we expect some coaxing to get everything working, but it has great promise.

Inside the device is an ARM processor with a built-in Bluetooth stack. Apparently the same circuit board is in a lot of these cheap smartwatches and fitness trackers. We tried it with a watch we had laying around that uses Da Fit, we never saw its MAC on the DaFlasher screen but it is a lot different from the P8 that appears in the video. The program did find a lot of other BLE devices nearby, though.

Running your own code on your watch gets you a lot of geek cred. But not as much as building your own watch. From what we’ve seen, the enclosure is the hardest part.

30 thoughts on “Cheap Smartwatch Hacking, To Run Your Own Code

  1. For a while Right-Aid (Or whatever they call themselves this week!) was selling them by the big things. If I find one I might want to try and do that hack, it seems well good. Oh and Al? Parallax called again, they need your talents.

  2. It will be interesting to see if anybody writes something cool to run on one of them. You get a fair amount of hardware for very little cash and a nice little case.

    1. it probably can, honestly. there’s a surprising amount of processing power in those things, but it’s not doing much of anything useful, and the battery capacity won’t handle that for very long

  3. The PineTime open source smartwatch seems to be the same hardwarewise, which also fits with some of the pine64 founders reports on where they got the parts and design from.

    So probably if you’re looking for some documentation (schematics) and open source software running on those devices, you’ll find some resources over at the pine64 wiki: https://wiki.pine64.org/index.php/PineTime

    One of the projects I’ve sen coming along quite nicely is JFs FreeRTOS based firmware for the PineTime: https://github.com/JF002/Pinetime/blob/master/README.md

    1. The PineTime is also made by DaFit / Crrepa as the P8

      i made this app for all the DaFit watches, in the Repo is a list of 400 devices that this app supports to update including the PineTime stock firmware.

      On the DaFit hardware the display and External 4mb flash is always on the same pins to have the Bootloader accross all devices, only the aditional hardware is on different pins like push buttons leds or touchscreen.

      1. Which repo? I have started to compile a list of devices using the nRF52, but if there is already one. I hunt on fccid.io and search for “smart bracelet”, and look at the internal pictures if I recognise an nRF52.

    2. Thanks a lot for that link, I didn’t know about the PineTime.

      I just ordered one.

      This is really great, I’ve been looking for a simple electronic watch, but I don’t a “smart” watch; I just want a moderately clever watch that can track my pulse. And I don’t really want software, I just want the hardware.

      Once I have the software working the way I want, I can buy a regular DaFit and flash it!

    1. Would you mind sharing the details of the flashing process? I don’t have an android phone and android x86 is being a PITA to use with BT. I’d rather write the tools myself if I could use them from Linux directly.

        1. Hadn’t seen that around, Thanks!

          I’ll try to write a tool to do that from the command line, probably in python. If anyone wants it too lemme know and I’ll drop a note when it’s done.

  4. Awesome work that opens up some interesting possibilities. The display on these is an RGB 1.4″ TFT 240×240. With some hardware/software hacking, this thing would be just about perfect for a “look through” semi-silvered mirror or just surface-reflective one-eye head-mounted display. NRF52832 has a Cortex M4F core, so there’s lots of oomph here. I think I need to order a few just to play with them.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.