Tiny Arduino GPS Car Tracker with SD Card :: James Bond Wanna Be

Isn’t it hard to finish watching a spy movie and not want to do something…spy-like?  You know, like having 40 video cameras in your house, dancing the tango with some ambassador, or jumping off a helicopter onto a wild cheetah?

Well – what about secretly logging the GPS coordinates of a car on an SD card?

Here is the basic concept – you build a tiny Arduino GPS data logger and put it in a magnetic key case. Then attach the key case to the vehicle you want to track. When the car returns, you pull off the GPS tracker, upload the secret data to your computer then map the data using the free Google Earth software.

This turns out to be really easy to do.  We can use existing code that was originally featured in MAKE magazine for building a cat tracker.  Track cats or be a slick – your choice!

In this video we will walk step by step through building this GPS data logger.

Your Guide to Creating a Tiny Arduino GPS Data Logger

I wanted to keep my tracker discreet – so it needed to be small.  For this project, I chose to use the TinyDuino platform.  For all intents and purposes, it operates basically the same as an Arduino UNO, it’s just a whole lot smaller.

You Will Need:

  • 1 TinyDuino Processor (TinyCiruits)  for this project I would recommend getting it without the coin cell battery holder as it makes getting to the positive hookup a little more difficult (but not undoable by any means)
  • 1 TinySheild USB and ICP Adapter (TinyCiruits)
  • 1 TinySheild MicroSD card (TinyCiruits)
  • 1 microSD Card (I used a 4GB card, but I am sure much smaller would work fine.  I had one lying around from an old cell phone I had bought it for.)
  • To read the card, you will also need an microSD card reader.  I used an SD card adapter so my mini-USB card could fit right into my computer.
  • 1 TinySheild GPS (TinyCiruits)
  • 1 Lithium Battery – I used the 3.7v, 2700 mAh.  As long as you supply between 3 – 5 volts, you will be fine, just don’t supply more than 5.5 volts. (Adafruit)
  • 1 Female JST Connector – I just snipped the male connectors side off and used the Female connector (Adafruit)
  • 1 Master Lock 207D Large Magnetic Keycase
  • Dark Sun Glasses

This sounds like a lot of stuff – but really it’s not!  Essentially it’s a processor board and two shields with a battery and a case.

Tools You Need:

You will also need to solder for this project, so you will need:

  • Soldering Iron
  • Solder


Click Here to download the Code


Step One: Solder the External Power Connection

The first thing we will need to do is solder up a power connection on the TinyDuino.

The TinyDuino can run on a coin cell battery, but since we are using the GPS shield, the GPS module requires more power than the coin cell battery can provide.


Take a female JST connector and solder on the positive (red) wire to the positive terminal of the TinyDuino Processor.  Then take the negative (black) wire, and solder that onto the ground (labeled GND).

They have two versions of the TinyDuino – one with a coin cell battery holder and one without.  The one I used had the coin cell holder, but I think it would be easier to solder, if it wasn’t there.  You will want to solder the wires to the back side of the board.

TinyDuino.poer arrows

Step Two: Build the Stack

Once we have the external power connection setup, let’s go ahead and build the “Stack” we will use for this project.

Connect the TinySheild GPS on top of the TinyDuino processor board. On top of that, connect the TinySheild SD Card writer/reader.  Insert your microUSB card into the SD card shield. Finally, attach the TinyShield USB adapter.

That’s it for the stack now, in a moment we will remove the the USB shield, but first let’s keep it attached as we load the Arduino code.

Step 3: Load the Code

To load the code on the TinyDuino, attach a micro USB cable from the TinyShield USB to your computer.

Open up the Arduino IDE.

Under Tools > Board, make sure to select Arduino Pro or Pro Mini (3.3V 8 MHz) w/ ATmege 328

Under Tools > Serial Port  and select the correct Serial Port.  For a PC it is likely COMM 4 or 3.  On a Mac, it will start with tty.

Now go to File > Open and navigate to where you loaded the sketch.  Depending on where you saved the file, you will probably get a message that the sketch was put into a subfolder – this is normal.

Click upload – you will see some LEDs flicker on your tinyDuino. It should take about 20-40 seconds for everything to load, you will see “done uploading” in the Arduino IDE.

Check to see that the Green indicator light on the TinyDuino is blinking about once every second, this tells us that the TinyDuino is writing to the SD card (not necessarily that you are getting a GPS signal).

Go ahead and detach the TinyShield USB connector and attach the lithium battery to the processor board.

Now place everything in your case.

My Tiny Arduino GPS care tracker

Step 4: Test Placement and View the Data

I highly recommend doing a test run, before you start doing your real-deal tracking.  Since the tinyGPS shield is so small, it’s antenna can be a bit weak – the bottom line is, it needs to be outside to collect data – and preferably pointing toward the sky.

Once you have collected some outdoor data, now lets take a look at the data – this is the fun part!

Take out the microSD card and attach insert into your microSD card reader.  When the SD card opens on your computer, you will see a file named gps.txt.

In order for us to read this file using Google Earth, you will need to change it to a different file extension, called nmea – this stands for National Marine Electronics Association – it is the standard file type for organizing GPS data.

To do this on a Mac, right click and select “get info”, then go to file name, and change it from .txt to .nmea.  You will get a warning about changing the extension, so choose to change the extension.

On a PC, you will simply right click and rename the file extension to .nmea – that’s it!

Before we get started looking at the data – we are going to need a program to display the information.  I used Google Earth – it’s free and easy to use – you will need to download it to your computers hard drive.

Once it has installed, go ahead and open it up.  Now go to Tools > GPS.

Using Google Earth to upload my Tiny Arduino GPS data via the Tools > GPS menu

From the popup window, select “Import from file” and click all of the options for import and output, then click “Import”.

Using the Google Earth GPS Import pop-up menu to upload data from my tiny Arduino GPS logger

Now browse to the file gps.nmea on your sdCard and select “open”

All the routes will be imported and whalla! You can check out the individual points and the track.  That’s pretty much it – not as hard being as sly as you might think!

I would love to hear how it works for you – let me know in the comments.

Arduino Laser Tag Land Mine :: Featured Student Project

Arduino Laser Tag Land Mine

Want to spice up your laser tag game – why not add some Arduino laser tag land mines?

This is another cool project created by James, an Arduino Course for Absolute Beginners Academy student.

James writes about this project…

“A friend who runs a Laser Tag business approached me to create some grenades/land mines for players to use.

Hardest thing to code was the actual command to “explode” the player.

Another hurdle was that IR LEDs work best in low light conditions but have poor performance during daylight.”

James was kind enough to share his schematics and code.  If you are interested in learning more about the project, feel free to reach out through the comments – James would love to hear your feedback!






What is Arduino?

Have you seen some really cool stuff being made with a thing called Arduino?

What is Arduino anyway?  It sounds like an italian sandwich with extra cheese or something…

Well – it’s that and a lot more.  I hope this video can help explain some the basic premise of the Arduino!

Arduino Circuit Breaker Simulator :: Featured Student Project

Arduino Circuit Breaker SimlulatorNeed to test some large circuit breakers?  You may have found your solution!  This Arduino circuit breaker simulator project was submitted by James, a student of the Arduino Course for Absolute Beginners.  Let me just say I am impressed – I wish I could build something half as cool!

James writes this about his project…

“I work at a power plant and we routinely test large circuit breakers. Because of the constant closing and tripping these breakers take a lot of needless wear and tear. Continue reading

Which Arduino to Buy if you are just Getting Started

Does it feel like there are a million Arduino board options to choose from?

Do just wish someone would tell you which Arduino to buy?  Well here is the answer – and I think most people will agree.

Buy an authentic Arduino Uno.

This video describes why.

Agree? Disagree? Let me know what you think!