I am an engineering undergrad trying to build one gps tracking device with features like live streaming, current position, average speed, etc. (and if possible then sound etc.) from some computer located somewhere else.

I know coding very well and i am good in mechanical part, but i guess it will require more of electrical part.

Can any expert in this field just help me get started? I read few tutorials which suggested approaches like rfid, etc. But i am not sure how to "actually" do it, like configure internet to device and what all parts do i need to buy/make, I am just looking to make this device, in the best possible way i can. Any help to get me started?

  • 3
    \$\begingroup\$ Are you trying to build the GPS internally from scratch, or build a device using an existing GPS module? The first option is very difficult; the second option is fairly easy; there is lots of info if you Google for it. For example, this one as well as this one. \$\endgroup\$ – boardbite Sep 25 '12 at 9:36
  • \$\begingroup\$ To provide a good answer, we'll definitely need more information. What sort of accuracy do you want (centimeters, meter, tens of meters)? How often should the unit send updates? How long should the range be? Is it supposed to operate near a determined location or should it be able to operate anywhere? Is it supposed to be a self-contained unit or can it rely on external power source? How long should it be able to operate on internal power (if it should at all)? How physically big the device needs to be? How many devices do you plan to make? These are all important bits of needed info. \$\endgroup\$ – AndrejaKo Sep 25 '12 at 11:34
  • \$\begingroup\$ @boardbite - I actually wanted to develop a system using the existing Gps modules and integrate with an online web server to get the information of the device after every fix intervals.. \$\endgroup\$ – Avnish Gaur Sep 26 '12 at 19:26

It's actually not that hard to do. All you need is a microcontroller, a gps receiver for low power electronics, and a cellular modem (to transmit the signal every X minutes.)

For an example of the hardware you need,

  1. A Raspberry Pi because it's basicaly a cheap computer that you can run Linux on, not that linux is needed, there are 8-bit processors that can do this, take a look at Sending SMS via and Arduino, but the Raspberry also has USB ports and some driver support so you can get it built faster.
  2. For the GPS receiver, there are a ton of options, I like somthing like this GPS to USB because you can mount the antenna away from your equipment (this makes a BIG difference.) Once again, if you want this to be more of an embedded solution you could use a GPS to Serial Receiver with an 8 bit processor controller.
  3. To transmit the coordinates via the web or sms, etc. you would want a USB cell modem. There are serial ones out there, but they are getting harder and more expensive to find.
  4. A battery power supply or a regulator to provided power from a vehicle etc.

That's about it. You would have the controller get the GPS coordinates every X minutes (you probably don't want to get more than 1 a minute as this will use more power and won't really help much with the detail.) Once it has the GPS coordinates all it has to do is send them via the cellular modem (messaging rates may apply,) to your web server. Then your server could map the current location and do the math to calculate speed, heading, etc. There is a lot of available information online about how to do all this.

The main thing you probably need to think about is the power requirements needed, and is this a hidden unit or just a personal/company tracking system. If it is hidden, it will probably need a battery, and you would be better off going with an 8 bit processor since that will reduce the power requirements/battery life and size. Also you may want to log coordinates if for whatever reason the unit was unable to connect to the server via the modem (out of cell range, etc.) so some form of memory may be needed. You could do this in eeprom but I wouldn't because of the limited rewrite lifetime.

Hope that helps get you started. I made a similar project about 6 years ago, and the biggest problem I had was I used a GPS receiver that was built into my unit, so the entire thing had to be mounted somewhere it could get signal, instead of just the antenna, and this made it hard to position anywhere convenient.

  • 1
    \$\begingroup\$ Actually, EEPROM may not be all that problematic, if it's carefully used. For example PIC18 series have EEPROM which can typically be erased up to 1 000 000 times. With wear-leveling, it could last very long. Another option would be to use say MSP430FR series device. It uses non-volatile FRAM to store data, which can practically survive unlimited number of erasures. \$\endgroup\$ – AndrejaKo Sep 25 '12 at 11:30
  • \$\begingroup\$ I've never used the PIC's before, that's good to know. I think the Atmega's have ~100,000 cycles, with a low amount of data and a decent amount of space that would last a very long time too. The MSP430's nv-FRAM is cool, faster read/write and something like 100 trillion cycles. \$\endgroup\$ – Garrett Fogerlie Sep 25 '12 at 11:44
  • \$\begingroup\$ Yeah, that's true with ATmegas. \$\endgroup\$ – AndrejaKo Sep 25 '12 at 12:02

Adafruit has a tutorial on using their Ultimate GPS module.

She goes into how to wire it up to a PC or an Arduino microcontroller with sample code. There are also Windows based tools to parse the data.

That module and the code/tools should get you started learning about GPS and the various ways of getting at the data. After you know what's possible, you should be able to better define your project. If you have trouble with any of the specifics, come back with another question. We'd be happy to help.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.