Hello Everyone, hope you all are fine and having fun with your lives. Today, I am going to interface GPS Module with Arduino in Proteus ISIS software. Recently, I have shared this amazing GPS Library for Proteus, using which you can quite easily simulate your GPS Module in Proteus software. Today, I am gonna interface this GPS Module with Arduino UNO board and wil simulate the result in Proteus software. I am gonna use TinyGPS Library and will get Longitude and Latitude out of this GPS Module.
So, if you are new to GPS and you haven’t yet installed the GPS Library for Proteus, then you must first download that library and install it. Because, today, I am not gonna show you how to install this library, instead I am gonna use this library and will extract the longitude and latitude out of it. I am using Arduino board in today’s tutorial but you can use any other microcontroller as well like PIC Microcontroller or 8051 Microcontroller. So, let’s get started with Interfacing of GPS Module with Arduino in Proteus ISIS.
Interfacing of GPS Module with Arduino in Proteus ISIS
- You can download the complete Simulation along with Arduino Code by clicking the below button, but as I always suggest, design it on your own so that you learn most out of it.
- So, design a simulation in your Proteus software as shown in below figure:
- As shown in the above figure, I have used Arduino UNO along with GPS Module.
- I have used Virtual terminal to show values getting from the GPS Module.
- So, I ma getting data from the GPS Module via RX pin of Arduino and then sending this data to Serial Terminal via TX pin.
- Now, next thing you need to do is to upload the below code in your Arduino board.
TinyGPS gps; //Creates a new instance of the TinyGPS object
Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
Serial.println("Designed by: www.TheEngineeringProjects.com");
bool newData = false;
unsigned long chars;
unsigned short sentences, failed;
// For one second we parse GPS data and report some key values
for (unsigned long start = millis(); millis() - start < 1000;)
char c = Serial.read();
newData = true;
if (newData) //If newData is true
float flat, flon;
unsigned long age;
gps.f_get_position(&flat, &flon, &age);
Serial.print("Latitude = ");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" Longitude = ");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
// if (chars == 0)
// Serial.println("** No characters received from GPS: check wiring **");
- Now Get the Hex File from Arduino software, and upload it in your Arduino board.
- Now run your simulation and if everything goes fine then you will get results as shown in the below figure:
- Now you can see in the above figure that we have our Latitude and Longitude.
- These Latitude and Longitude will not change because we have added the dummy values in our GPS module.
- So, that’s how you can quite easily simulate your GPS module with Arduino in Proteus ISIS.
- I have explained the above project in detail in below video:
If you have any questions then ask in comments and I wil try to resolve them. Take care. 🙂