Introduction: GPS Tracker - DIY - Arduino - Quectel L80 - SIM800

About: I'm electronics enthusiast. I like to design and develop new things.

In this instructable, I will show you how to make your very own GPS Tracker.

Let's Do it...

Step 1: Designing of the Circuit

Design schematic diagram in EDA tool (PCB Design Software).

List of EDA Tools (PCB Design Software):

  • DipTrace
  • EAGLE PCB Design
  • Kicad EDA
  • Express PCB
  • Proteus PCB Design & Simulation software
  • Altium Designer
  • NI Multisim

You can select any one of them.

I prefer EAGLE PCB Design Software.

Step 2: Designing of the PCB Layout

After designing of the schematic diagram, Now start designing of PCB Layout in the Eagle EDA tool (PCB Design Software).

Step 3: Soldering Process - SMD

Step 4: Burning the Firmware - ATMega328-AU

Test Code:

#include<SoftwareSerial.h>
#include<TinyGPS++.h>
TinyGPSPlus gps;
SoftwareSerial gpsSerial(8, 9); // (RX, TX)

const int POWERKEY = 3;
String str3;
const int LED = 13;
void setup()
{
  Serial.begin(9600);
  gpsSerial.begin(9600);
  pinMode(LED, OUTPUT);
  pinMode(POWERKEY, OUTPUT);
  digitalWrite(LED, HIGH);
  digitalWrite(POWERKEY, HIGH);
  delay(3000);
  digitalWrite(LED, LOW);
  digitalWrite(POWERKEY, LOW);
}
void loop()
{
  while (gpsSerial.available() > 0)
  {
    if (gps.encode(gpsSerial.read()))
    {
      if (gps.location.isValid())
      {
        digitalWrite(LED, HIGH);
        Serial.println("AT");
        delay(1000);
        Serial.println("AT+CPIN?");
        delay(1000);
        Serial.println("AT+CREG?");
        delay(1000);
        Serial.println("AT+CGATT?");
        delay(1000);
        Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
        delay(1000);
        Serial.println("AT+SAPBR=3,1,\"APN\",\"Your APN Name\"");
        delay(1000);
        digitalWrite(LED, LOW);
        Serial.println("AT+SAPBR=1,1");
        delay(1000);
        Serial.println("AT+SAPBR=2,1");
        delay(1000);
        Serial.println("AT+HTTPINIT");//start task and setting the APN,
        delay(2000);
        Serial.println("AT+HTTPPARA=\"CID\",1");//bring up wireless connection
        delay(1000);
        Serial.println("AT+HTTPPARA=\"URL\", Your API  - latitude=" + String(gps.location.lat(), 6) + "&longitue=" + String(gps.location.lng(), 6));
        digitalWrite(LED, HIGH);
        delay(4000);
        digitalWrite(LED, LOW);
        Serial.println("AT+HTTPACTION=0");//close the connection
        delay(5000);
        Serial.println("AT+HTTPREAD");//close the connection
        delay(5000);
        Serial.println("AT+HTTPTERM");//close the connection
        delay(500);
        digitalWrite(LED, HIGH);
        delay(500);
        digitalWrite(LED, LOW);
      }
    }
  }
}

Step 5: After Soldering & Burning the Firmware

Step 6: Testing - GPS Tracker

Step 7: GPS Tracker - Enclosure

PCB Challenge

Participated in the
PCB Challenge