Skip to content

gotzl/gps-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPS Tracker and LapTimer

This is a small R&D project intendet to familiarize myself with programming of Mircoprocessors in the Arduino environment. The goal is to create a GPS tracker and LapTimer that records laps performed at a race track and shows the delta time to the fastest lap. The code is currently very messy and might get some cleanup at a later point.

Features:

(Somewhat) Implemented

  • define start/finish line
  • detect start/finish crossing to start/end a lap
  • show laptime, lap number and various other information
  • show delta time to reference lap (with number and a red/green bar)
  • save completed laps to SD card in a structured manner
  • connect to WiFi and offer WebServer to retrieve recorded laps from the tracker
  • analyse recorded laps in python on PC
  • OTA update over wifi

Planned

  • navigation via touchscreen through a menu to allow
    • loading a specific reference from SD
    • loading a predefined start/finish line location (associated to a certain track 'track')
    • setting up the WiFi connection
  • record analog inputs (ie for break/gas pedal)
  • get a proper GPS antenna

A commercial product would be eg this one.

Parts:

The GPS module might not be accurate enough to realy calculate accurate delta times, but its cheap and its enough for early testing. Later, following modules might be interesting (suggested in this article): http://www.unicorecomm.com/en/product/content_1611.html https://www.ardusimple.com/product/simplertk2b/

Setup:

The idea is to split work on two devices:

  • ESP32s takes care of the GPS tracking and corresponding calculations as well as handling SD card data
  • Leonardo to work the display

The two devices communicate via a very simple binary protocol over Serial port.

alt text

Connections:

  • ESP32 -> GPS (Serial)
  • ESP32 -> SD (SPI)
  • ESP32 -> Leonardo (Serial)
  • Leonardo -> Display/Touch (SPI + I2C?)

Development:

Eclipse IDE with the following platforms/libraries

Platforms:

  • arduino
  • esp32
    • FFat, FS, SD, SPI, EEPROM
    • Update, WebServer, WiFi (needs this fix)

Libraries:

  • Adafruit FT6206
  • Adafruit GFX
  • Adafruit GPS
  • Adafruit ILI9441
  • NeoGPS

Note: To be able to flash the Leonardo from within Eclipse, one neeeds avrdude_autoreset_wrapper.

Releases

No releases published

Packages

No packages published

Languages