Project 04- GPS Logger with STM32F4xx and USB flash drive

It was nice Saturday day to try motor for first time this year for me. Using it with GPS logger, it was very fun to track myself where I drove for about half an hour.

I’ve made a GPS data tracker using STM32F4-Discovery board. Project uses GPS device from ebay (UBLOX NEO-6M) and USB flash drive to store data onto.


Project works with STM32F4- or STM32F429-Discovery boards. It was tested on F4-Discovery, because it has more LEDs than F429.

For indication, all 4 leds are in use:

  • BLUE: If turned on, USB flash key is detected by USB stack
  • RED: If turned on, we received first data from GPS, so we know that GPS receiver works and has correct baudrate
  • ORANGE: If turned on, GPS signal is valid
  • GREEN: If turned on, USB flash key is mounted OK

For mount/unmount control, button is in use:

  • LONG PRESS: File for GPS will be deleted from usb key and system will reset to start new measurements
  • SHORT PRESS: File will be closed, USB key unmounted and prepared forĀ user to remove from discovery board
    • All leds will blink when you are ready to remove USB flash key

Data is formatted in CSV format, which allows you to use this in Google fusion tables to show your coordinates on google maps where have you been.

GPS settings

My GPS was configured (using ublox configurator) to 115200 bauds and 5Hz refresh rate. It is connected to PB7 pin on Discovery board. TX from GPS to RX (PB7) on STM32F4.


All libraries are included in project:


Owner of this site. Application engineer, currently employed by STMicroelectronics. Exploring latest technologies and owner of different libraries posted on Github.

You may also like...