Home > AVR Projects > DIY: AVR Based GPS Running Watch

DIY: AVR Based GPS Running Watch

January 16th, 2009

Summary

Do it yourself AVR atmega8 based GPS Running Watch. Consists of an atmega8 microcontroller, a LCD out of a Nokia 3310 cell phone, and a GPS module from SparkFun.com.

Details

A few coworkers were talking about GPS running watches a few weeks ago. Right now they are very expensive. We started talking about ways of building something much cheaper. Here is a prototype for one made out of electronics parts that I already had :-)

The main purpose of a GPS running watch is to show you how far you’ve run or jogged. Also, it can tell you how fast you are running both in terms of speed (mph) or how long it will take you to run a mile. Since Charlie, one of my co-workers, trained for a marathon, it was evident that he wanted to be ontop of his target time. This type of info would be crucial for his type of training purposes. I’m sure more features could and should be added.


Cost. Commercial GPS watches seem to cost anywhere from $150-500. This one is probably $20 + the cost of a GPS module. Currently the cheapest GPS modules are $40. That still puts the cost in at $60 or so.

Details. The heart of this is an AVR atmega8 running at 1Mhz. It has 8k of flash which is 99% full. The LCD display is from a Nokia 3310 and are about $6 online. The GPS module was from my UAV project that I abandoned. It outputs TTL serial which it sends to the AVR. The AVR then parses the serial string and interprets the data. Since we don’t have much room for the code in flash, lots of care has to be taken to keep the code size small (no snprintf’s here). For input, I used an IR remote. I seem to be standardizing on that these days because it only takes one pin on the microcontroller and gives me lots of buttons to use. Obviously, on a real watch it would need buttons instead.

Lastly, I should mention that LCD support was provided by CC Dharmani’s LCD library. Many things to him for helping me troubleshoot as I was bringing up the LCD.  SparkFun.com sells this LCD for under $10 but it can also be had for a dollar or two on ebay.

Whats next? I’ll probably put everything into a small project enclosure so that I strap it to my arm. It will probably be so big that I won’t really want to jog with it much but I can at least see if it is really usable. If that works out well, I may try to see who else might be interested and I could make a special board for it and power it with a cell phone battery to make it only 2″ x 2″ x 0.5″ so that one could actually wear it as a watch. At that point I’d actually have to spend some $$ so I may never get to that point :-P

Schematics

Coming soon … until then, comment below and I can email them to you.

Source Code and Firmware

Coming soon … until then, comment below and I can email them to you.

mike AVR Projects , ,

  1. nandakumar
    February 5th, 2009 at 05:30 | #1

    nice project idea, can u send code and schematic for this to my mail.thanks for the same.

  2. February 5th, 2009 at 08:53 | #2

    Do you need it really soon? I am doing an update to this project to make it prettier as soon as some PCBs that I ordered arrive. I will be cleaning the code up at the same time. Are you able to wait until then?

  3. nandakumar
    February 10th, 2009 at 11:24 | #3

    can u send to my mail ,the code and circuit so i can also participate in this development.

  4. negus
    July 27th, 2009 at 04:45 | #4

    very good project. Can you send a code and schematic to my mail?

  5. hobbyone
    September 30th, 2009 at 04:18 | #5

    Mike, I’m interrested on this project and the other project of logging heart rate on SC, please can you send me to my email on this site both source code, I appreciate it, regards.

  6. trialex
    October 7th, 2009 at 21:11 | #6

    Hey

    Just registered to say you and your projects are awesome.

    I found your site looking for examples of people using 3310 screens with AVRs – and you seem to be pretty much the world-leading expert in this field.

    I’m only at the level of using the Arduino IDE to help hold my hand through interfacing with stuff like SD cards, so I’m trying to learn for your lowel-level examples.

    As a runner and an electronics hobbiest the DIY running watch is my favourite of all your projects. Put an SD card on there and it’d be better than my Garmin Forerunner!

    Keep up the good work

    Alex

  7. October 9th, 2009 at 09:49 | #7

    I’m just replying to let you know I got your comment. Sorry for taking so long to reply. I’d like to start posting the source code for all of my projects because I hate having to make people register to request them. That being said, I’ll email it to you this weekend.

  8. tomdklyn
    October 22nd, 2009 at 19:51 | #8

    Mike,
    Neat project! I was wondering if you could e-mail your code. I’m thinking about a project to measure the speed of a RC model sail boat and transmit the data back to shore.
    Thanks in advance.
    Tom

    tomdklyn@msn.com

  9. heodaohoa
    January 25th, 2010 at 06:35 | #9

    very good project. I have a work same your project.Can you send your project to my mail.
    So thanks………

  10. n@Net
    January 31st, 2010 at 14:27 | #10

    Mike, Tank you for sharing knowledge with other people!
    I´ve found your site searching for interfacing Nokia 3310lcd to Avr.
    I´m learnig this as a hobby and I was wondering if you coul e-mail your code!

    Thanks in advance.
    Sorry for the bad english, …from Santander, Spain :-)

  1. No trackbacks yet.
You must be logged in to post a comment.