Tribal Chicken

Security. Malware Research. Digital Forensics.

GPS/GSM Tracker MK1

This is the GPS datalogging device I’ve been working on and finally installed in the car:

photo 1

photo 2

This device periodically (Default every 30 seconds) collects geospatial data (Plus a few other things, currently also collecting temperature information) and sends it away to a remote server for processing and analysis.

Specifications of the device are:

  • Arduino Mega 2560 – ATMega2560 16MHz MCU
  • SIM900 GSM/GPRS+EGPRS Module
  • GlobalSat EM-406A SiRF-III GPS Receiver
  • Periodically (Default 30 seconds) collects GPS data and sends to server for storage and processing.
  • Accuracy to around 10 metres (Depending on conditions and receiver location… Would prefer greater accuracy but it’s fine for the job.)
  • Remote provisioning/configuration – Basic configuration can be modified on the fly and pushed to the device.
  • Stores buffer on SD Card when there is no GSM reception.

Now that the device is installed, collecting data and more or less running I’m working on a web interface for device management and data visualisation.

Still to do:

  • Other: Web management interface
  • Device: Fix excessive EEPROM writes – Done
  • Device: Investigate encryption or at least obfuscation of data transmission
  • Device: Fix status code routine – Done
  • Device: Investigate a bug where the device will send the wrong DID – Done, fixed
  • Device: Fix bug where incorrect latitude will be constructed (-32.9999 instead of -31.9999)
  • TripProcessor: Handle multiple DID’s
  • TripProcessor: Handle cases where the device is shut down before all pending events are sent.