Firmware for the GPS tracking device

After some trouble with my SMS sending routine I am finally able to show some working code.

Features so far

  • Displays menu via serial port if attached to PC
  • Can run unattended or interactively for debugging
  • Fetches GPS positions and sends them via SMS every two minutes

If the circuit is powered on, the following sequence will be executed:

  1. Boot up, switch on the GPS-GSM module
  2. Initialize the modem
  3. Fetch the GPS position, redo until position is fix
  4. Parse and format position
  5. Send formatted position as link to Google Maps as SMS
  6. Wait 120 seconds
  7. Goto 3

Rebuilding it

Well, now you have all information and sources to rebuild and program this device, at least you should. If not, please tell me, what is missing.

But I had some hints in the comments that this can be done easier with the built-in Python. There also other very promissing sources and that is definetely the next thing, that I want to try out. If that works fine, which is not really doubtful to me, I could drop nearly all the external components. That would make it cheaper, easier and smaller.

Nevertheless, the firmware can be useful, if you would like to see, which commands to use to talk to the Telit module.




  1. Hi Alex,

    Great Post! The firmware makes use of PC5 but I don’t see it referenced in the schematic. Is PC5 in the firmware code PD4 in the schematic?



  2. newbie question.Is 4.096Mhz quartz is VERY important for device to work at all.What about if put a 4Mhz or 5Mhz ?


  3. again stupid newbie.I did it like you say and put a 7.3728Mhz quartz and telit and atmega8 is talking to each other perfect.but now there is a problem with software uart a connected to my pc (in 9600 boud)- I see that bytes are sending over wire but they are unreadable.may be timer1 sync problem or ?
    is there any fuses in atmega that migth be set?
    thanks and cheers


  4. hi again today i’ve made some kind of test of above problem described.I compile and run sample application that use software uart and print “Hallo Peter !nr” on terminal.It was compile for 4MHz ,8MHz Internal OSC and 7,3728 Mhz ext crystal.All results – I mean 4,8, and 7,3728 MHz was equal to “Ю=”!Ñ—_55″.
    In internet I’ve read about max232… Is it right way?
    thanks and cheers


  5. I´ll test gps track device with ADOBE FLEX COMPONENTS BELOW :

    I thing that firmware software can generate a XML file for integration with google maps ! This components are free ! Certainly alex can modify and
    provided a professional solution for tracking.


  6. I think it’s expensive device ( price of SMS )
    You can adding some additional function to your tracker:
    it don’t send anything before recive phone cell ( or SMS ). After that it is starting to get position and send SMS ( it can be one SMS or series of SMS ). Or it can be drived by incoming SMS like this ( text os SMS ):
    start [n] ( n – number of position messages, if 0 – continue )
    stop ( stop sending SMS )

    I am sorry for my English


  7. Hi Alex,
    I am working on my senor project. And I saw your blog.
    This is a newbee question but to receive the location of the device
    you need a gsm module and sim card right?
    I am working on how to call the device and find if from a different location.
    I have not read all of ur but dose urs do that? if so can u give me some hints?


  8. Hi Alex,
    what string do you have to send a gps reciever in order to get it to send you back the nmea data?
    i cant seem to work ou how it is done in your code
    thanks in advance


  9. Hi Alex,

    I’m working on this project now.
    * I bought all the components and assembled them.
    * Got yourself a SIM.
    * Edited beacon.c, replaced all “EDIT THIS” parts with my settings.
    I provided the PIN for my SIM. But I just set the number of the SMS-to-Email gateway
    by my number. Is it possible to send SMS if there is no SMS to E-Mail service gateway number???.
    * Compiled it with WinAVR.
    * Programmed my device.
    * Attached my terminal to the device and I can’t see the menu, I can’t connect device to my PC, I use FTDI chip converter. Help me how to solve these 2 things!!!

    1 is inquiry that is it possible to send SMS to my phone number instead of special SMS to E-Mail service supported phone number?
    2 is how to connect the device to my PC? what program can I use to do this issue? (Hyper terminal? or something like that?)

    Help drop me a Message.

    Best regards, Ideree.


  10. My device is initializing normally and GM862-GPS is started normally but it couldn’t send any SMS.
    I provided PIN and phone number to send SMS.
    Maybe it relates to My SIM’s supported services. It is not supported SMS to E-mail service.
    Please help me to finish this project successfully.


  11. Can you give me the Monitor LED Statuses.
    It blinks when i power on device and then Monitor LED is lightning for a few seconds and then Monitor LED is Off and the GM862GPS is powered on.
    When a LED is Off, what it means?


Comments are closed.