So after having a bike stolen a few months ago, and the police being unable to recover it, I decided to design a simple but effective bike tracker. This will allow someone with a radio receiver and directional antenna to locate the bike if it gets stolen.
The bike tracker needs to satisfy these criteria:
- Cheap
- Easy to hide in plain sight
- Remotely triggerable
- Long battery life
- Weatherproof
- Will take a beating and still work if someone tries to forcibly remove it or tampers with it
- Reasonably long range
It's pretty much in the ideas stage at the moment, but I will add to the project log when I get more ideas.
I've procured some Dorji DRA887 radio transmitter and receiver modules. These work on the 433MHz band and can transmit at up to 13dBm, the maximum transmit power limit here in New Zealand. I thought I'd connect a transmitter module to an Arduino Nano to see what sort of performance I could get out of it.
Oh yeah, I also built a couple of bazooka antennas out of RG58 coax (see here: http://www.hamuniverse.com/w4bwsverticalbazooka.html) and attached one to the transmitter. They're darn easy to build and don't look like antennas at all; the uninformed person would probably mistake it for a brake line if mounted on a bike.
To run the test I programmed the Arduino to send periodic tones out on D9, which are then fed into the "data" pin on the transmitter. These transmitters are pretty simple, they use amplitude shift keying (ASK) so this works. I turned the transmitter on and walked down the road listening for each periodic tone using my two-way radio, and I managed to lose the signal at about 500m away line-of-sight! Since the two-way radio is FM only the tones sound quite distorted, so I might get even better results if I used an AM/ASK receiver.
I also did this same test, except I made sure there were plenty of obstacles in the way, and got about 250 metres before loss-of-signal. Which is not bad going, considering this is going to be the more likely scenario if I'm following the bike through an urban area.
My next step is to connect the receiver module to the Arduino, and write some code to trigger the transmitter remotely.
So I've come up with some other possible features to add which would be incredibly nice to have:
Automatic triggering of the transmitter
This could be done by using a bike wheel sensor, of the type commonly used with $5 bike speedometers.
Determining and transmitting actual location
GPS could be used here, but I want this device to be as cheap as possible. I live in a city with a free WiFi network and an overabundance of wireless access points, so my current idea is to use an ESP8266 to sniff for nearby APs, and then do one of two things - connect to a free WiFi network, send the list of APs to the Google Geolocation API, and then send the location to a preconfigured email address; or simply send the list of seen APs via radio to the person tracking the stolen bike. Since the ESP8266 is quite power-hungry, it will only determine location when sent a message over radio.
And also provides the video about the <a href="http://www.voxtrail.com/vbt-motorcycle-gps-tracker">Bike GPS Tracker</a>.