GPS logger based on EFM32 Giant Gecko Starter Kit

This project was developed by four summer students, Michał, Łukasz, Bartek, Jakub in Krakow, Poland in the last Hack-a-Gecko day (5th, July).  


Project description: 

The general idea was to use Giant Gecko with a GPS module to track a walk path. Our goal was to draw a gecko on the narrow streets of Krakow with the GPS module.


Our goal 

At first we have prepared an overview of the project. We have decided to divide the whole work into 5 different modules:

  1. GPS module communication via UART
  2. LCD screen from the EFM32 Giant Gecko kit
  3. SD card for data acquisition (with FAT32 file system)
  4. Energy friendly software
  5. Google Maps visualization with data analysis


We have prepared a homemade PCB which holds GPS module, SD card slot and a lot of gold pin connectors.


PCB for GPS module 

After a long night of preparation, the whole hardware was ready.


To run our device, you should connect the GPS module to UART interface on the EFM32 GG STK board.

TX: C1 with pin 18 on custom board
RX:   C0 with pin 16 on custom board

SD Card SPI interface :

CLK:   D2 with pin 1 on custom board
MOSI: D0 with pin 5 on custom board
MISO: D1 with pin 7 on custom board
CS:    D3 with pin 9 on custom board

Power supply:

Ground with pin 2 or  4 on custom board
3.3V with pin 6 on custom board

The description of pins is included in board project files – Eagle program.
In our program, we used four main functions:

void GPS_Initialization();
int GPS_WaitForData(sGPS_Data* data);
void SDCARD_Initialization();
void SDCARD_Save(sGPS_Data* data);

A shortcut to run a program:

·         Peripheries initialization (UART, SPI)
·         Configuration data send to GPS (definition of a period and data format)
·         SD Card initialization (mount FAT 32 file system and open proper file)
·         Main loop (waiting for data in sleep mode, gather data and save it on SD Card)

The second part of our software is on a PC. A python script parses GPS output in NMEA GGA format and prepares a .kml file which is a Google Maps format.


After 8 hours of work on hardware and code, we went for a walk and this is the result:


Materials used: 

·         Giant Gecko STK
·         MTK3339 ultra-small GPS Module

Source Files

This Hack a Gecko project is a result of a “fun hacking session” and are provided as is, free of charge with no guarantees or support from Energy Micro, to partially or fully show and demonstrate EFM32 Gecko microcontroller capabilities. Get inspired, use at own risk, and build some awesome and cool applications.

For technical questions about this project, please use our forum. The Hack-a-Gecko team will answer your questions directly.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s