Sunday, November 30, 2014

RFduino Bluetooth Low Energy Bicycle Speed Sensor

During October and November I worked on a project to build a Bluetooth low energy bicycle speed sensor and interface it with my Android tablet.  The project used a hall effect sensor and magnet to count the rotation of the wheel.  The hall effect sensor was fed into the RFduino which computed the time for a complete rotation of the wheel and then using a BLE notify fed the data to the tablet.

BLESpeedometer

In the picture below the RFduino is at the top of the picture.  The RFduino is covered by a blue and red led.  The blue led is to provide visible status when a device is connected to the speed sensor and the red led cycles on and off as the hall effect sensor is read.  Below the RFduino is an Adafruit CR2032 holder.  To the left of the CR2032 is the connector that the hall effect sensor plugs into and to the right is the on / off switch.

BLESpeedometerClose

On the tablet I developed an app that builds on the Interactive Bicycle Trainer that I developed last winter.  The tablet is fastened on the handle bars and the bike is put on the trainer with the front wheel raised so that the handle bars are able to be turned.  Using the speed sensor a virtual rider on the tablet moves along a roadway at a speed that depends on how fast you pedal.  Leveraging the rotational senor capabilities of the table turning the handle bars allows you to steer the virtual bike to avoid oil slicks that are on the road.

device-2014-12-19-215943

The RFduino sketch and the Android App are on GitHub in the digitalhack/dhRFduino repository.