duallang

Sunday, September 15, 2013


Making a DIY GPS to replace the Edge 810

The GPS main tasks would be:
  • Show ride ral time info (bike computer) like speed, cadence, temperature, grade, ascet/descent, altitude, HR, power
  • Save all info to internal flash every X seconds
  • Sync with strava, endomondo, ridewithgps, garmin connect etc
Hardware requirements:
  • e-paper LCD (B&W) to have the best under sunlight experience (no touchscreen)
  • Variable intensity backlight
  • 4 buttons (3 on one side + 1 on the other)
  • Speaker
  • GPS + GLONASS + Galileo receiver
  • Precision temperature sensor +/-0.5 Celsius or better
  • Barometer
  • Accelerometer
  • Giroscope
  • Ambient light sensor
  • Fuel gauge for accurate battery measurement
  • 8 channel ANT+ tranceiver
  • BTLE tranceiver
  • Microusb connector
  • 500mA limited usb charging
  • LION battery managemente ic onboard
  • Battery large enough to allow 24h operation
  • ARM MCU
  • Real time clock (RTC) updated via GPS and/or NTP
  • Hardware Watchdog
  • USB 2.0 
  • Internal flash large enough to save 48h of ride data every 1/2 second
  • RAM memory (for TBT nav handling)
  • microSD reader
  • Unique hardware serial number
  • IPX7 water resistance (up to 1m/30minutes immersion)
  • Garmin compatible bike mount
  • Smaller than Garmin Edge 810 (5.2 x 9.3 x 2.5 mm)
  • Lighter than Garmin Edge 810 (98g)

GPS software requirements:
  • ANT+ sensors support
  • BTLE sensors support
  • Transparent realtime translation ANT <-> BTLE (to allow using the mobile phone with ANT sensors)
  • Compressed propietary internal flash saving
  • Dumping data to pc is done as XML files (realtime conversion)
  • Date, hour, temperature, latitude, longitude, altitude, HR, power, cadence, speed, g-forces saved
  • Saving frequency user defined 0.5s -> 1minute
  • "Smart" saving frequency mode where data is saved only if a significant change is detected in one of the sensors
  • Manual backlight with user defined timeout + auto mode based on ambient light
  • Day/night display mode user defined or automatically changed based on ambient light
  • User selection. The unit allows for 3 users, each of one with its own "partition" and web sync accounts
  • Bike selection (up to 10 bikes)
  • Automatic bike selector. If activity is detected in a sensor thats unique to a given bike then bike profile is changed automatically
  • Automatic wheel size calculation from gps data
  • Dynamic switching between gps data and wheel rotation sensor based on best detected conditions
  • Ascent/descent grade calculation done by distance/altitude averaging + gyro data for improved accuracy
  • auto pause, auto start, auto stop, power off automático
  • Watering alert
  • Ranges alerts (speed, cadence,HR,power)
  • Movement detected while not saving alert
  • Low phone batt alert
  • If gps has low batt then everything is disabled but ANT/BT sensors and saving to maximize the recorded data
  • CLI shown upon receiving a call. A button is provided to reject the call and another one to reject the call and send a predefined text message to the caller 
  • TBT navigation without map showing...just arrows n intersections
  • Livetrack . updates every 30 secs
  • Livetrack init/reinit/stop from the gps function
PC software requeriments:
  • Windows/osx/linux versions 
  • Create/Edit/delete gps screens and all the data shown in them
  • Create/edit/delete users and related data (age/weight/size/gender)
  • Edit general gps settings like saving rate, backlight, alerts etc
  • BT phone pairing
  • WEB sync accounts configuration (Strava ridewithgps etc)
  • Create/Edit/delete bike profiles
  • Activity saving in GPX/FIT/TCX formats
  • Automatic sync with web sites
  • GPS data backup/restore
  • WEB site data backup
Mobile app requeriments:
  • IOS and Android
  • livetrack
  • dataplan costs using user provided rates
  • Auto sync activity upon finishing
  • Mobile dataplan sync usage enable/disable flag
  • Activity summary view (distance/time etc) ... no maps no graphs as we have the more comfortable pc to do it

1 comment:

  1. does it require linux platform to develop the software?
    Since they are using a STA2062 Cartesio processor?

    ReplyDelete