Marco is a GPS Bike Computer, based around Arduino. This repository contains general notes for the project as well as code.
When paired with a speedometer and a magnetometer (perhaps with other sensors?), I hope to reduce GPS polling frequency with intermediate points calculated via dead reckoning, ultimately allowing for a very low power device - <5mA on average should be achievable. <1mA would be nice, but is a stretch. Low power consumption will ultimately require different hardware.
Development will be focused towards basic stats as well as creating a GPS track. Navigation may be added, but is a low priority.
Long-term, supporting a variety of external sensors is desired - heart rate, etc. This may include direct connections to wired speed or cadence sensors. I intend to use my dynamo hub as an initial speed sensor; supporting other types is desired but is not a priority.
- Interface with Hardware
- Correctly interface with sensor modules individually
- Extend device libraries to provide necessary functionality
- Merge hardware onto same physical platform
- Create UI
- Add basic UI with time, distance, speed and bearing
- Scroll through all time stats, activity stats and lap stats
- Discover limits
- Log data to SD card
- Add post-processing tools to convert to a GPX track
- Score GPX track accuracy vs. reference tracks
- Adjust polling rate and sensor selection
- Verify performance via fuzzing for worst-case of data sheets
For prototyping, I am using devices from adafruit:
- Arduino Zero
- GPS+SD Card shield
- Bluetooth LE shield
- Bosch BNO055 9DOF IMU with Sensor Fusion (Accel+Gyro+Mag)
- Freescale MPL3115A2 Altimeter
- Sharp Memory LCD
- Photo cell
- Buzzer
- Spring Terminal Blocks
I will update the actual hardware layout as I go.
For potential production hardware, see this spreadsheet
Wind speed sensors would be good, but I haven't seen a great solution.
- http://www.avdweb.nl/solar-bike/electronics/solar-bike-computer.html
- http://www.piclist.com/techref/piclist/biketut/index.htm
- http://www.engbedded.com/veloace
- https://hackaday.io/page/428-brainstorming-an-open-bicycle-computer
- http://rockthebike.com/open-source/
- https://github.com/yock/arduino-bike-computer
- http://www.fringeneering.com/2011/07/open-source-cycling-computer.html