Really Small(s) GPS

Hi peeps, I have been wanting to make a small GPS device (GPS receiver and some sort of screen) that I could carry around for a while now, but I didn’t want it to be too big, so I made this. Mission accomplished.

This unit is explained in the video above, but is basically a GPS receiver, 1 CR1220 battery for the RTC on the GPS breakout, one of my Square Inch of Goodness boards, one 128×32 OLED display, three 6mm buttons, and a 400mAh Li-Po Battery (from Sparkfun). It even has FTDI headers on it so I can update the firmware with ease (with my own FTDI adapter!). The awesome part is that all of those things fit in an Altoids Smalls tin, measuring 2.15″ (W), 1.35″ (L), and .56″ (H), or 55mm (W), 34mm (L), and 14mm (H).

The GPS breakout board is from Adafruit and uses theΒ MTK3339 GPS module, and man does it work well. I have had other GPS modules that worked, but it was a fight. If you’re thinking about putting GPS in a project, use this. They also have a great library for it. They even have the raw MTK3339 GPS moduleΒ if you want to use your board. Read the Adafruit product page for all the features, there are many.

The 128×32 OLED display is also from Adafruit, it works well and has the typical OLED crispiness. Very easy to read, even in sunlight, for the size and you can even multiply the text size if you want to.

So I’m going up to NY in a few days, and I wanted a new and exciting way to talk with the TSA folks, so I figured this would work. (kidding) If only Hollywood had not trained everyone to think a gadget with a few wires and a flashing red LED, that they didn’t understand, was a bomb.. ugh. (not kidding)

*UPDATE – there is a set on Flickr for this with teardown pictures.

*UPDATE #2 – Oops, I forgot to put the link to the code on Github. 0_0

26 thoughts on “Really Small(s) GPS

  1. Holy crap, that’s … *speechless* … coolest thing ever!
    Some constructive criticism: doesn’t that tin box, shield the radio-waves and thereby disabling the device?
    Standby current is 15mA? That seems huge… what consumes that much power? You have nearly everything disabled… (most ingeniously, if I might add).
    (PS. TSA would rape you if you’d try to take it aboard lol)

  2. Pingback: Really Small(s) GPS « adafruit industries blog

  3. Looks like a great project! What kind of battery life do you get with the 400 mAh battery?

    • Thanks Kenton, I get about 10 hours with everything on, and about 34 hours on ‘sleep’. I could get more if I removed the power LED on the ‘Square Inch of Goodness’ board and actually put the 328 to sleep, but thats for the next one. πŸ˜‰

  4. Could you share your code. I’m new to programming and am working with the Adafruit GPS to build a speedometer. I see some things in you device that my help.

    • Thanks Stephanie, I saw that, uber cool! Great job on that. I have a raw MTK3339 unit sitting on my bench just begging to find a home on a wristwatch..

  5. Nice one Jeremy! How about all of this with a LiPo charging circuit on a single custom board with pins to download the MTK3339’s internal log… lots of possibilities here. I could really use a hardened enclosure for a “Sport Small(s) GPS”. I’ve got a wireless waypoint recording prototype that could use waterproofing and a size reduction. I’ll get right on that…

    BTW – nice to see Kris using your LED controller for his pool project!

  6. Pingback: Really Small GPS |

  7. Pingback: Really Small GPS | Make, Electronics projects, electronic Circuits, DIY projects, Microcontroller Projects -

  8. This is a really nice device in a tiny package! Thank you for showing this off to the world.
    A question about the direction data: is the heading calculated from the current postition in relation to the previous position, or can it give an accurate bearing standing still? I ask because I am considering making my own digital compass. If the GPS chip can give the compass reading when still, I would get the GPS breakout ($39) instead of the compass sensor ($30) and have a much more capable device that gives my direction and more. Otherwise, I will get by with the compass sensor alone, which is my primary requirement. Thanks.

    • Thanks, the bearing is only valid if the unit is moving, it has no magnetic compass. I would also wait on getting the GPS breakout from Adafruit, they have a newer, better on this week. It’s way thinner. I’t’s out of stock now anyway, so it will be the new version when it comes back in. I don’t believe the new one will have a compass, so you will probably be better off with the compass module, but I don’t know for sure. Happy hacking!

      • Thank you, sir. I thought that was what I was reading from the datasheets and such, but I was looking for confirmation.

    • Hi there! I cheated. I’m using an ATmega328P-AU that will run at voltages from 1.8 to 5, and the OLED as well as the GPS run at 3.3V and both have 3.3 LDO’s as well as level shifters on them. So, 4.2V-3.7V works without messing with any extra regulators. I heart flexible voltage/logic inputs. πŸ™‚ (thanks Ladyada)

      • Wow, that’s legit.

        This is such a simple question but I don’t even really know how to phrase it let alone find the answer to it: from reading the batteries’ datasheets on Sparkfun, it appears they discharge to about 2.5v.

        What happens to the GPS and OLED as the voltage drops? Do they turn off before the battery is actually empty?

        • Well, the battery actually only got down to 2.8V, and everything was still running like a champ. That battery has a cut off circuit, so it cuts out before dropping lower than 2.8V. I had about 10 hours of run time without and power save or sleep mode. 34 hours on ‘sleep’ mode. (the 328 doesn’t go to asleep, just the OLED and GPS)

    • I was going to ask that question myself. Figuring out how to power a portable project without wasting energy or complicating the design has been a roadblock for me. Are there any good resources/tutorials on powering small electronics from minimal battery/circuit setups?

  9. Could you pin out a cable to USB so you could interface with Google Earth or another GPS type of computer program?

    • Hi Ed, you could have data go out the FTDI cable, that plugs in your computer via USB. I’m not sure how Google Earth would handle that, although it’s just standard NMEA data. Hmmm… I think you just added another project to my list. πŸ˜‰

  10. This is really great, thanks for posting! I was wondering if there is a “data logger” mode? I would like to be able to switch to a mode where it can record a trip onto some microSD card or something that I can then upload to google earth?

    And of course, it needs to still fit in an altoids smalls tin. The cool factor is definitely required!

    thanks again

  11. @Ericb1

    An OpenLog by Sparkfun would fit the bill (and probably the tin) quite well.

    Without adding any more hardware, the Ultimate GPS supports a 15 seconds interval logging mode. That 15 seconds isn’t adjustable but you can store 16 hours worth of data. A key consideration though is getting the data off; another place the OpenLog shines.

  12. I really like your project and is exactly what I’m looking to build. I’m just curious as to what kind of connections you used to connect the battery to the microcontroller, OLED, and GPS without the use of a breadboard? I’m also planning on adding a microSD breakout board, as mentioned above, and am thinking about how they might all be powered together. Thanks for your advice, and congrats!

    • Thanks Albert, I connected all the components with 30 gauge wire. They are all 3-5V compatible, so a 3.7 Li-Po was a prime choice. And cheap. πŸ˜‰

Comments are closed.