I have one of these devices and I would really love to figure out if it is possible to write and push my own firmware into the device. The software on the watch is pretty limited and I would like to extend it out to give me more capabilities, like being able to choose an activity type of something other than running.

One option that I have thought of is to record the USB activity when the device is being updated but I suspect that it will be downloading an encrypted hex file or something to try and protect the companies IP. Well that is what I would do if I were them...maybe that is a bad assumption.

Before I go about trying to pry the thing open, I wandered if anyone else had done something similar to find out what processor type it runs on, etc.

Any information would be useful in heading me down the right path before I take a screwdriver to it.

Note: I am not looking for software development knowledge here, I am a programmer and have experience in firmware. I am just trying to find out the platform so i can work out if there is a toolset available to compile or if the device runs some custom FPGA config or a proprietary processor which would mean the idea is dead in the water to start.


closed as too broad by W5VO Jul 12 '16 at 19:07

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ You're probably going to have to do some serious reverse engineering... \$\endgroup\$ – fuzzyhair2 Jun 10 '13 at 15:12
  • 1
    \$\begingroup\$ Have you considered that the software may be stored in ROM or it is an ASIC because it was never meant to be modified? \$\endgroup\$ – fuzzyhair2 Jun 10 '13 at 15:12
  • 2
    \$\begingroup\$ I'm inclined to think that there isn't an fpga in there. This particular application isn't particularly suited to an fpga. it's most likely a processor or an ASIC of some description. \$\endgroup\$ – stanri Jun 10 '13 at 15:16
  • 1
    \$\begingroup\$ I know that the software is not fixed in an ASIC/ROM as it does receive firmware downloads sometimes when I plug it in. I’m not sure if it makes much difference but it had some TomTom branding on it but not sure if that is the watch that has the TomTom technology or the analysis software on the Nike+ website. \$\endgroup\$ – Richard Hooper Jun 10 '13 at 15:23

The Nike website clearly shows that the firmware for the watch can be updated, so yes, in theory it is possible to change the program. Whether you have enough information about the nature of the bootloader, the hardware environment, or the address space for any of the peripherals in order to do so, however, is doubtful.

Your best bet might be to try to get hold of a firmware update and try to disassemble/decompile it, and start from there. I've got no clue as to whether the firmware update file is encrypted or not.

Another option would be to see if all the info you need gets through to the host program, and if it does, just figure out what info is being passed and edit the host side.


In my nike sportwatch GPS chip is a SIRF starIV GSD4e and it sends raw data to secure-nikeplus.nike.com:443 each time i plug it on my computer after a run :

  • runXML.txt (xml file, easy to read)
  • rawGpsData.bin (binary file, contains full traces of last run)
  • accelData.bin (binary files, not decrypted yet)

Then it receives SGEE prediction data (Server Generated Extended Ephemeris) from traces.tomtom.com:443 used to quickly acquire satellites first fix before a run :

  • packedDifference.f2p7enc.ee (next 7 days satellites positions)
  • \$\begingroup\$ Does this answer the question? \$\endgroup\$ – Anindo Ghosh Jan 14 '14 at 18:29
  • \$\begingroup\$ I think yes. It seems to indicate what at least some of the hardware is, and has information about the behavior, which was requested by the question: "Any information would be useful in heading me down the right path". \$\endgroup\$ – Phil Frost Jan 14 '14 at 18:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.