DIY: AVR Based GPS Running Watch
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
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.
nice project idea, can u send code and schematic for this to my mail.thanks for the same.
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?
can u send to my mail ,the code and circuit so i can also participate in this development.
very good project. Can you send a code and schematic to my mail?
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.
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
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.
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
very good project. I have a work same your project.Can you send your project to my mail.
So thanks………
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