I’ve built the first prototype of my bike computer and have been developing the firmware for a couple of weeks now. Everything except the temperature sensor, accelerometer, servo headers, and Li-ion fuel gauge have been populated.
There have been a few minor electrical bugs like forgetting resisters for the ISP programmer, but nothing too difficult to fix for the next prototype. The bigger problems have appeared in the software world. First, I’ve filled all 32K of the ATmega memory mainly because of lengthy sensor configurations, USB libs and FATFS. Second, RAM has become an issue when processing things like NMEA strings or drawing complex graphics. I’ve realized there is no point in having a vibrant TFT LCD screen if the 16MHz ATmega can only achieve low refresh rates, which is why I’ll probably switch to some ARM processor for the next prototype. Maybe I’ll go with the STM32F4 series.
- 2 servo outputs to control an electronic derailleur
- 3 axis accelerometer – MMA7260Q
- GPS – Linx rxm-gps-sg
- Altimeter – BMP085
- Micro SD card
- LIPO Charger – MCP73871
- Fuel gauge – MAX1704X
- 2.4′ x 2.0′
- Electronic derailleur controller (electronic erailleur details)
- Heart rate monitor & pulse oximeter
- LCD touch screen
- Accurate measurement of energy output (maybe calibrate for each user instead of curve fitting)