A USB pedometer with only Windows software supplied - a nice little weekend project emerged when my local electronics retailer (Jaycar Electronics) were running them out. I was hoping to produce a FreeBSD and a Mac OS X program to read the data from the device. I succeed in getting the OS X program to work; but have placed the FreeBSD project on the back burner due to the libusb code that works on OS X causing the pedometer's USB interface to lock up when run under FreeBSD 7.0 with the libusb-0.1.12_4 library - you must remove the battery from the pedometer to get it to work again. When I finally get time to upgrade to FreeBSD 8, I will have another go at it.
Fortunately I did not need to reverse engineer the protocol myself. A Linux program built for Python exists, but ts primary language is Czech. Martin Filip's program - http://www.smoula.net/stepper/ - was distributed under GPL-2. Although my work is not strictly a derivative work of the other I have included the code on this page as an example of the protocol.
I have provided two applications that read the pedometer and source code for those applications under a BSD licence. The libusb code MAY work on non-Mac architectures (it is known NOT to work under one FreeBSD 7 config - see above); but has only been successfully tested on a Mac OS X 10.6.3; the pedometer application uses Cocoa and CoreData to store the results read from the pedometer. As such it is an example of implementing native USB access, CoreData storage and very simple Cocoa implementation on the Mac.
Please note: The code is supplied "AS IS" under a BSD licence
Archive of python source: