Code Monkey home page Code Monkey logo

nike-sportband's Introduction

Nike+ Sportband Reverse Engineering

Premise

In April, 2018, Nike finished to support some old products, so it is no longer possible to download data from old running watches, such as Nike + Sportband.

I still use Nike+ Sportband and I am a Linux user, so I looked for an alternative solution. I have found two old open source projects (~2011), written in C/C ++, for Linux users. These two projects are a complete reverse engineering of the Nike+ Sportband protocol.

The first project [1] allows to download data in hex format and convert it in clear text. The second project [2] is a complete reverse engineering of the protocol: it is possible to edit nickname, time, weight, other information and extract the data of the runs in hex format, but it does not read them in clear text.

Using the PyUSB [3] I have translated these two codes into Python to extract data from my Sportband. This work is not finished, but I have decided to publish the code written so far. This is good failure.

Useful links

How it works

To download data from Nike+ Sportband on Windows I had to use Nike + Connect. It downloaded the data and uploaded it to my own Nike profile. Now the online service is offline, so Nike+ Connect doesn't work. The only useful features of Sportband are:

  • date
  • time
  • weight

So I worked on these features, the Python code can:

  • read and set the weight
  • set date and time, by reading the date of the computer
  • extract data in hex format

For now the Python code can not:

  • reset the device
  • read the dumped data

This last feature is the most important, it is possible to use the project [1] to read the data. The developer did an awesome reverse engineering work! I hope to finish this script soon.

The script is written in Python 2.7.x.

nike-sportband's People

Contributors

luigigubello avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.