My shallow requirements for this project summed up:

  • A as small as possible device, mounted somewhere near the rim.
  • Revolutions are counted using the classic magnet mounted on a spoke, sensed using a reed switch or hall effect sensor mounted on the device itself.
  • Revolutions are recoded over time and consolidated in time frames of something in the order of 1-5 minutes.
  • While awake, the device can be connected via Bluetooth Low Energy for syncing data to your phone.
  • The device goes to sleep after not registering any revolutions a certain time to save power.

More specifically,  I'd like this project to be powered by a CR2032 coin cell battery, ideally with a battery lifetime in the range of years, which seems reasonable (<10µA average). I'm planning on using a nRF52 BLE module for both RF and as the application processor.