GPS Tracker - DIY - Arduino - Quectel L80 - SIM800

by Pratik Makwana in Circuits > Arduino

5017 Views, 11 Favorites, 0 Comments

GPS Tracker - DIY - Arduino - Quectel L80 - SIM800

GPS Tracker | Quectel L80 | SIM800 | DIY | Arduino
7.jpg

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

Let's Do it...

Designing of the Circuit

5.jpg

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.

Designing of the PCB Layout

1.jpg
2.jpg
3.jpg

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

Soldering Process - SMD

51.jpg
IMG_20180227_214158.jpg
IMG_20180528_141529.jpg
IMG_20180528_141534.jpg

Burning the Firmware - ATMega328-AU

IMG_20180528_113246.jpg
IMG_20180528_113258.jpg
IMG_20180528_113318.jpg
IMG_20180528_113354.jpg

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);
      }
    }
  }
}

After Soldering & Burning the Firmware

6.jpg
12.jpg
11.jpg
9.jpg
2.jpg
10.jpg
8.jpg

Testing - GPS Tracker

13.jpg
1.jpg
IMG_20180318_161816.jpg
17.jpeg
4.jpg
11.jpeg

GPS Tracker - Enclosure

IMG_20180501_184603.jpg
20180529_184925.jpg
IMG_20180428_192051.jpg