The iPhone does not currently work with the Nike+ kit, but there's really no good technical reason for this! At launch, Apple's main reason for enabling it only for the Nano was the lack of display in the case of the shuffle and the abundance of moving parts in the case of the classic.

But what if Apple doesn't let iPhone owners use the Nike+ kit? Something must be done!

= How it works =

The foot pod transmits a 'hello world I am ' in very short bursts (less than 0.0001 second per broadcast) on one of 80 available channels every time the user takes a step. This active signal can travel as far as 40-60ft.

The foot pod was designed to activate a simple piezoelectric sensor to monitor how long your weight is on the foot (the faster you run, the shorter amount of time spent on one foot).

= What must be done =

  1. The iPhone must be made to accept the Nike+ kit instead of reporting that it's incompatible.
  2. The iPod connector dongle, which supposedly communicates to the iPhone via serial, has to be reverse engineered. (How does one do that? :) )
  3. A GUI has to be written so that the user can see his live pace.
  4. Some sort of syncing functionality (via internet, preferably) would be nice.

= Progress =

Cool, looks like pyserial works on the iPhone. I installed it manually by copying the proper directory into site-packages after loading python-2.5 via

But I've tried running my simple serial tester by going through the list of suspicious devices that could represent the dock connector with no success. Here's the list (from

ls /dev/

bpf0          disk0        ptyp1   rdisk0s1       ttyp1           uart.debug
bpf1          disk0s1      ptyp2   rdisk0s2       ttyp2           uart.iap
bpf2          disk0s2      ptyp3   sdio           ttyp3           urandom
btreset       h5.baseband  ptyp4   tty            ttyp4           vn0
console       klog         ptyp5   tty.baseband   ttyp5           vn1
cu.baseband   mrvl868x0    ptyp6   tty.bluetooth  ttyp6           zero
cu.bluetooth  null         ptyp7   tty.debug      ttyp7
cu.debug      ptmx         random  tty.iap        uart.baseband
cu.iap        ptyp0        rdisk0  ttyp0          uart.bluetooth

= References =