Undetectable Arduino GPS tracker

Hello,

one of my next side projects in the near future could well be to create an Arduino powered GPS tracking device for my car, with a GSM module and a SIM card, which could post my car's GPS location to my own web server where I could use that data directly to visualize it on Google Maps.

So far, so good. My only worry is that I saw a program on how car thieves operate a while ago, and apparently one of the first things they do when they steal a car and have taken it to a secure location is that they disable any and all GPS tracking devices using bug trackers that pick up the radio waves emitted by such tracking devices.

When designing a GPS tracking system for myself, I would like to make it difficult to detect using those bug trackers. One idea I've had is to put the Arduino in default sleep mode, from which it would only wake up every 20 or 30 minutes to check the GPS location. And then if continuous movement is detected, stay on and report the changing coordinates to my web site until the car is parked again and the GSM module switched off again.

Then again, I've read that cell phone carriers really don't like it when you sign off and on with your sim card all the time, so maybe that's not a feasible approach after all.

Do you guys have some ideas how to make a GPS tracker difficult to detect for bug tracking devices?

If the thieves put your car in a building, the tracker won't have access to the GPS satellites.

True; but maybe my GPS tracker will at least have recorded the last available GPS coordinates before the car went into that building. Which, if you wanted to track down a car, could give you a starting point of where to look for your car. And even the most expensive store bought GPS trackers won't work indoors, that's a given.

At the moment, it's just (what I think of as) a cool idea for a side project that shouldn't be that difficult to build. I would use a standalone Atmega on a perfboard and GSM and GPS breakouts. One of the design considerations would be a small hardware footprint, so it would be easy to put inside a small module box.

SIM800L (GSM/GPRS), NEO-6M (GPS) and a 3.3v Arduino should do it. The SIM800L and NEO-6M are 3.3v devices.

Yeah, I think those are more or less the kinds of modules that I've looked at.

I would like to use a standalone microcontroller on a perfboard though, instead of a whole Arduino. What would be the best DIP Atmega to use for this kind of job?

Or you could get a SIM808 module, only needs one set of I/O pins. (Caveat - no experience!)

Most suitable processor depends a lot on program size! If you used a '328 then you could, when debugged, use D0 & D1 to communicate with a SIM808.

Another consideration is location of aerial / antenna? Don't skimp with the GPS antenna, the tiny ceramic ones are poor. Look at the 28dB gain ones.

So far, so good. My only worry is that I saw a program on how car thieves operate a while ago, and apparently one of the first things they do when they steal a car and have taken it to a secure location is that they disable any and all GPS tracking devices using bug trackers that pick up the radio waves emitted by such tracking devices.

Of course, you'll also need a separate battery because if they are worried about a transmitter the 1st thing they'll do is disconnect the car battery.

Then again, I've read that cell phone carriers really don't like it when you sign off and on with your sim card all the time, so maybe that's not a feasible approach after all.

I've never heard that and I kinda' doubt it... I don't think they care if you only turn-on your phone to make a call every 30 minutes. I've never heard of a penalty for under-using a phone. Of course, they do want you connected and uploading/downloading data 24/7 because that's how they get paid!

...Many years ago I built an alarm for my car and I didn't have a warning sign or LED because I thought if they knew I had an alarm they would attempt to disable it. But, after someone attempted to steal the car stereo, I realized that MOST thieves are idiots in a big-hurry. Any tow-truck driver can open a car, but as far as I know they didn't even attempt that... They smashed the window and when the alarm went off they ran away. So... my idea sort-of worked... They didn't suspect I had an alarm and they didn't get the stereo, but I had to pay the deductible for the window replacement.

After that, I put-in a blinking LED. The next alarm I built had an LED and a delayed engine-kill so they could drive it half-way down the street before the alarm sounds and the car stalls. But luckily, nobody has tried to break-into or steal a car from me since the 1st incident. The LED seems to work as a deterrent... When my car was broken into, I lived in an apartment and they had broken-into a handful of other cars before mine... But after my alarm went off, they had to get out of there and go somewhere else, so I'm pretty sure they were avoiding cars with alarms. It saved my car stereo and the next victim.

...If the are pros targeting your Lamborghini they might just wench it into their RF shielded, soundproof, van.

DVDdoug:
...If the are pros targeting your Lamborghini

LOL... if only... :smiley:

It's true about thieves though that time is everything to them. When one of my cars a few years ago did get stolen from my doorstep one night, police told me that anything that presents a hitch and a potential time delay to car thieves in the process of stealing your car increases your chances of them not leaving with it. Even in a quiet residential neighborhood at 3am, they can't take chances on having to spend more than a few minutes trying to break into your car and start it up ready to go.

Perhaps more expensive cars warrant bigger risks. You do sometimes hear about classic cars and expensive sports cars getting stolen out of parking garages with video surveillance. And it's probably worth the effort if you can flip a car like that for tens of thousands. But in the end, the cop said anything that doesn't look like a quick getaway will tend to deter thieves. Maybe unexpected car alarms that aren't stock or known aftermarket varieties will also do their part.

That said, I just like the idea of being able to track my car via GPS :stuck_out_tongue: Also, I live in a busy downtown neighborhood where you sometimes have to park the car two blocks away at night. And then the next day, it's not uncommon for me to totally forget where I parked my car. And because around here you usually park your car in a different spot every night, it can be difficult to remember. I've had everything from running down two blocks the wrong way in the morning to frantically searching the whole neighborhood believing that my car got stolen again. :smiley: I may be getting ahead of myself already here, but with an Arduino GPS tracker in place that's connected to my web server, all I'd have to do is look up my car's last known location from the night before on my smartphone... :wink:

DVDdoug:
Of course, you'll also need a separate battery because if they are worried about a transmitter the 1st thing they'll do is disconnect the car battery.

Sort of half-off topic here; I've wondered in the past if you can't just use a disused Li-Ion smartphone battery for anything around the car that uses high currents and needs to function even with the car battery off. Like, hook it up to the car's +12V supply using a PCB out of a cigarette lighter-type charger. And make it so that this power supply kicks in whenever +12V is off because thieves have disconnected the car battery.

The GSM module seems to require upwards of 1A for its signal bursts, so I guess you'd have to have a battery that'd be capable of delivering 1A or 2A.

carguy:
I've wondered in the past if you can't just use a disused Li-Ion smartphone battery for anything around the car that uses high currents and needs to function even with the car battery off.

You could, but if you want reliabiltity does it make any sense at all to use a 'disused' battery that could well be about to die.

Right... well, I mean in principle... I've just checked eBay, you can apparently get brand new batteries for some slightly older smartphones in the 2000-3000 mAh range for around $10.

Would that be enough?

For the charger, I could use the PCB from inside a cigarette lighter charger that I've still got lying around here... some of those chargers say that they've got overcharge and overvoltage protection. Will that actually be all I need to charge a smartphone battery off the car battery?

Li battery - yes. Buy a kit that includes a low voltage DC charger module as well, like the Adafruit boards. Same size as the battery.

2A will be enough in 99% of cases. Most current is drawn while registering to the cell network, or when cell signal is very low - as the modem ramps up power to reach the nearest tower.

Modem, go for the SIM5320, which is not only 3G, but also has GPS in the same chip.

A smartphone battery is only a 3.7v Li cell - buy a quality 18650 and save all the packaging costs!

A gsm module takes about 2A for a few 100uS in a 1 in 8 duty cycle when transmitting at full power - 1 or 2 watts depending on the band - and not a great deal less when only transmitting 1mW.

It's worth fitting a largish capacitor across it's power leads to help with this intermittent load - say 2000uF.

A GSM (2G) link - even GPRS - carries a much lower data rate than more modern systems - but these have a downside...
1/ Their range is MUCH shorter.
2/ Because of their QAM modulation schemes, their transmit efficiency is MUCH lower.

Allan

edit : ps

Don't skimp with the GPS antenna, the tiny ceramic ones are poor. Look at the 28dB gain ones.

How on earth can you get 28dBi gain out of an antenna with a directivity wide enough to pick up 12 satellies over a 2-pi steradian angle? The maximum theoretical gain of such an antenna is 3dBi. Typical commercial offerings ( eg Murata, TDK ) <2 dBi . Not bad for a little ceramic patch.

Has someone changed the laws of the universe? Or do they just have an internal low-noise preamp? - that won't help very much. And if they do , the gain is excessive - anything over 10-12dB compromises the handling of large adjacent-channel interferers.

How on earth can you get 28dBi gain out of an antenna with a directivity wide enough to pick up 12 satellies over a 2-pi steradian angle?

I was offering it as a search term as that is how they are described. From personal experience they are far superior to the bare ceramic ones.

I've been thinking... in the name of making a tracking device difficult to detect, how is this for a basic operation algorithm:

Let's say the device's default mode is sleep mode. Every ten minutes or so, the Atmega wakes up from sleep mode and powers up the GPS module (which is off during the sleep intervals), gets a GPS position reading, and compares that reading to the last known reading that was stored in EEPROM. If the GPS position hasn't changed, it just goes back to sleep and turns the GPS module back off.

If there has been movement, the GSM module is powered up, which is also normally off, and the new position is sent via http to my web server where the position is entered into the server's MySQL database. I would make a web page using Google Maps where the coordinates will be displayed handily. Another web page on my server could be used to tell the tracking device what to do when movement is detected in the middle of the night, i.e. call me on my smartphone or send me a text message. I could even make it so that I could toggle these instructions from the web browser on my smartphone. As my car still happens to have an unused microphone installed from the previous owner for an aftermarket hands free device that I've removed, I could even let the tracking device transmit conversations that the thieves are having in my car while they are stealing it... :smiley:

A second possible trigger for the Arduino to come back from sleep mode could be the car's speed signal. It's a square wave that is present on a wire in the car radio loom and could be used to let the Atmega wake up on a pin change interrupt. That way, it wouldn't take up to ten minutes to get a current GPS position reading after the car has been stolen. For the duration of the speed signal being present, the tracking device could post a new position to the web server every minute or so. And shut itself off again into sleep mode five minutes after the last recorded change in GPS position.

That way, not only would I save battery power when the car battery has been disconnected, but the device would also emit only a minimum of electromagnetic radiation.

Come to think, I've also still got an unused GY-521 accelerometer breakout at home that I bought just to toy with it... it might be taking things too far, but what if either the thieves come with a tow truck, or my car is actually being towed... :smiley: I could use it as a tilt sensor... although I am not sure how you would use it as an external interrupt to get the Atmega out of sleep mode.

Now that my last side project is finished and off my desk at home, I want to tackle the making of a GPS tracker in earnest.

The appeal to me is that it would combine different technologies, and ones that I haven't worked with before. And as somebody who used to have a side job as a web site designer, the idea of being able to track my car online via a web page seems just pretty cool.

One question before I get started - how much of a clear view of the satellites does a GPS antenna on a breakout need? I know it doesn't work if there is metal between it and the satellites, but what if I mount it somewhere inside the dashboard, where it would have a few inches of foam and vinyl/plastic over it?

carguy:
But what if I mount it somewhere inside the dashboard, where it would have a few inches of foam and vinyl/plastic over it?

Depends on the GPS and the vehicle

It would take much to find out, a GPS, USB-Serial adapter and a PC or laptop.

I haven't ordered a GPS/GPRS module yet.

What's a good affordable breakout with a small footprint, to be operated using a stand-alone perfboard mounted Atmega328P-PU?

Also, while I'm familiar with web site programming, I haven't found much info on how it would actually work to translate GPS position/location data into a series of dots on a Google map.

My plan was to create a subfolder on my existing web server, which has mySQL and php functionality, and then store GPS coordinates together with the time and the vehicle speed in mySQL data sets. The idea being to create a php middle end page which would enter data into the mySQL database that will be sent from my module using the GET method.

A bit like this:

https://www.myserver.com/tracking/trackpage.php?GPSposition= -74.044500,40.689249&time=1225&vehicleSpeed=40

This data would be entered set by set into my mySQL database.

But how do I go from there to displaying that data in google maps?

Also, can you do .htaccess with those GSM modules? I would like to implement some safety measures so that page can't just be accessed and messed with.

What's a 'small footprint' ?

i.e. to you, what is small ?

I was hoping to put my entire tracking device into a module box no bigger than about 3'' by 2''. Ideally, it would be self-contained, meaning no external antenna wires or anything.

As I said, I want to base it on a perfboard Atmega328P-PU.


The module will probably also contain a GY-521 breakout that's about 3/4'' by 1/4''. The tracking device will be in permanent sleep mode by default; it will only wake up if either the odometer speed signal or the GY-521 trips an interrupt. I am already using the odometer signal for another Arduino circuit in the same car, so it'd be no problem using it for this project as well.

I am toying with the GY-521 at this moment... on account of it being so sensitive, maybe the best way forward with it will be to use the interrupt to wake up the Atmega, and then let some Arduino code check if the detected movement was just accidental or if it points to the car being towed or otherwise moved without the engine on. If a significant movement is detected, only then will the GPS/GPRS module be powered up (using a MOSFET) and the GPS will then start taking position data until two or three minutes of unchanged coordinates are detected and the device will go back to sleep.

The problem you have not discussed is the GPS device must be where it can see the satellites. Therefore, it's antenna must be visible to the sky. Then it is also visible to the thieves. You need to concentrate on an GPS receiver/antenna that is not visible outside your car.

Paul