Introduction: DIY GPS Data Logger for You Next Drive/Hiking Trail

About: Born as a farmer, studied electronics ,working as a Consultant and a 3D printing enthusiast by night..

This is a GPS Data Logger that you can use for multiple purpose, say if you

  • want to log your long drive you took over the weekend to check out the fall colors.
  • or you have a favorite trail that you visit during fall every year and you want to log your path on that trail, so that you can refer to it next year. And see if you took the same route, this was my main motivation for this project.
  • just want to spy on you teen to check out where all he/she has been driving around.

Once you have completed the build and downloaded the data from the GPS module of you trip/trail you can save the same using Google maps for

  • future reference and comparison
  • and share the same with you friends/family who came along, using the share button on Google maps, which is at the top right hand conner of the map-picture above.

In the future we should hope to see this feature built into smart cars by companies like Ford.And in addition it would be nice if the GPS module is removable, so that you can carry it easily on a hike or a bike trail.

To complete this instructable you will need an GPS receiver module, a micro-controller with serial interface and battery/power bank. I am using Flora GPS and Flora from Adafruit but you can also use an Arduino Uno. In addition you will need a laptop with Adafruits version of the Arduino IDE to upload code to the Flora board.

Also to keep your electronic circuit intact you can 3D print the parts using the STL files attached to step 2 or just use a small box.After 3D printing the parts the build should take you about 45 mins..

Step 1: Things You'll Need

Here are the electronic components you will need to complete the build

  • Adafruit Flora (you can also use an Arduino Uno/Micro)
  • Flora GPS receiver
  • Coin Cell battery holder
  • Coin cell CR2032 (3V)
  • Hook up wire(30AWG wire is the best or you can also use breadboarding wire)
  • USB portable charger, try an get on with an ON/OFF switch
  • Mini B USB cable
  • Velcro to stick to the box and the car sun visor or your bag

Download the STL files attached in the next step and 3D print the parts, i am using

  • 3D printer
  • filament (I am using 1.75 mm PLA filament Hatchbox filament)

Tools you'll needed

Note: The cable that you need to upload the code and power the Flora is a Mini B USB cable, which is NOT the same as the one used on Android Phone/tables.

Step 2: 3D Print the Parts or Find a Small Box to House the Components

Download and 3D print the following files


- Lid to cover the components

OR you can also try and find a small box to house all the components

Tip: If you see any warping(uneven surface) with you 3D print use sandpaper.

Note: If you observer the base closely there is square box, this is basically created to use a Lipo battery instead of a USB portable charger.The hole is wide enough to fit a JST connector which you can be inserted into the Flora.

Step 3: Doing a Dry of the Circuit Before Soldering

It is always a good idea to do a dry run of you circuit before you solder all the part together.

Follow the circuit above and using alligator clips connect the circuit

Now upload the sketch by following the steps 5 to 8 and using a tupperware container take your car out for a spin.

Here if you see the red light on the GPS module blinking it means the module is still searching for a satellite, only once it stops blinking it means the GPS receiver has found a satellite.

Tip: Face the GPS module to the open sky as shown in the picture above. Safety first, please ensure that you are in the passenger seat as you will need to hold the tupperware container.

Step 4: Soldering the Components

Before soldering the circuit together decide what goes where, by placing the electronic components in the 3D printed box.

Now solder the components using the circuit digram in the previous step, by placing the component in the same way as you expect them to go back in the box.

Step 5: Using Tape to Secure the Components

Use double side foam tape to secure the components to the base of the box.

Then use electrical tape to stick the wires to the base as shown in the picture above.

Add the coin cell battery to the coin cell holder.The 3V coin cell battery helps the GPS receiver remember its location faster when starting up, you can also complete the circuit with out the coin cell battery and holder.

Also ensure that the lid fits in snug and secure it using tape.

Tip:use normal tape or electrical tape to secure lid to the base if required, do not use glue as you may have to replace the coin cell battery in the future.

Step 6: Preparing to Upload Code to Flora

To upload code to the Flora board using the USB cable, you will have to download Adafruit's version of the Arduino IDE and install it on you computer. For complete details on how to follow the link

In addition as part of the setup you will have to download the GPS library from the following link

Place the downloaded library in the /Arduino/Libraries folder and rename it to "Adafruit_GPS" restart your IDE. Once you restart the IDE ensure that you see the Adafruit_GPS option under the example as shown in the screen shot above.

Next select the type of programmer by clicking Tools > Programmer > USBtinyISP

Then select Tools > Serial port > /dev/tty.usbmodem441

Also select the board you are using by clicking Tools > Board > Adafruit Flora

For more details/about the flora refer to

Step 7: Upload Sketch to Log Location Data

To upload the code/sketch to log location data,go to File > Example >Adafruit GPS -> leo_locus_status

Once the program loads connect the Flora with the USB cable and upload the sketch by hitting the Upload button (or use File > Upload)

Now you can take the GPS box for a test drive,drive for at-least a couple of miles. In my case I drove to my favorite coffee shop and completed my weekly shopping buy going to a super market.Basically that is the map you see in the introduction of the instructable, the vertical line is my drive to the coffee shop and back and the horizontal curve'e lines are to the super market and back.

Note: The GPS receiver module used has built in data logging and if you go through the code carefully you will observe that the Flora microcontroller board is used to send the start logging command.And the GPS receiver module can store about 16 hours of data.

Step 8: Upload Sketch to Get Logged Data

Now once your back home from your test drive, connect the device to your laptop and fire up the Adafruit's version of the Arduino IDE

Go to File > Example >Adafruit GPS -> leo_locus_dumpbasic
Once the program loads connect the Flora with the mini B USB cable and upload the sketch by hitting the Upload button (or use File > Upload)

No click on the Serial Monitor as show in the picture above.

And copy the all the data into text editor and paste it in LOCUS Parser using the URL below

Click the parse button below the first text box , and copy the KML output and paste it in any text editor as show in the screen shot above and save it with .kml extension.

Step 9: Import Data on to Google Maps

Go to Google Maps and click on the settings button and click on My Places as shown in the first picture above.

Now click on the create map button , clicking on this button will create a new untitled map.

Rename the new untitled map , and import the KML file you saved earlier using the import button.

Once done you should be able to see you path that you followed.

Tip 1: Once you map is saved you can share the map with the route you took with friends and family via email,Google +,facebook and twitter .

Tip 2: In addition the map that you save appears under settings > My Places, which you can use for future reference.

Step 10: Erase Exiting Logged Data

No once you have come back home from your long drive and you have already downloaded the logged data and saved it on Google maps. You can erase the data from the GPS using the following sketch

Go to File > Example >Adafruit GPS -> leo_locus_erase
Once the program loads connect the Flora with the mini B USB cable and upload the sketch by hitting the Upload button (or use File > Upload)

Now click on the serial monitor, enter Y in the text box area and click the Send button to erase the data on the GPS reciver.

Step 11: Attaching the GPS Box to Your Car Sun Visor

Attach the GPS box and battery to the passenger side Sun Visor as shown in the picture above using a couple of binder clips or you can use double stick foam tape. I am using double stick velcro so that it is easy to remove the GPS box so that I can get the GPS logged data by connecting it to a laptop.

In addition ensure that when you turn the sun visor, the GPS circular hole is facing the sky so that it is easy for the GPS receiver module to get signal from the satellite.

On the similar lines you can also attach the GPS box and the battery to your bag pack before heading out on you next hiking trip.

Glovebox Gadget Challenge

Grand Prize in the
Glovebox Gadget Challenge

Tech Contest

Participated in the
Tech Contest

Microcontroller Contest

Participated in the
Microcontroller Contest