Arduino GPS Altimeter Project

Home/Arduino Projects/Arduino GPS Altimeter Project

Arduino GPS Altimeter Project

In this video we are going to build a DIY Arduino GPS Altimeter using the UBLOX NEO-6M GPS module along with a color OLED display with the SSD1331 driver. It is a fun project, so let’s get starthed!

About a year ago, I built some GPS projects using this GPS shield. This shield is great but unfortunately it is no longer available for sale. Also its size is big so it is not ideal for smaller projects. So, while searching on I discovered this tiny GPS module. It costs around $16 and was kind enough to send me a sample unit in order to test it.


GPS Module:

Color OLED:

Arduino Uno:

Small Breadboard:


Xiaomi Power Bank:

Full disclosure: All of the links above are affiliate links. I get a small percentage of each sale they generate. Thank you for your support!

Building the Arduino GPS Altimeter

As you can see this GPS module is very small in size. It uses the ublox NEO 6M GPS receiver. The module has an embedded antenna at the back. You can also use you own external antenna if you wish using this connector. The datasheet of the GPS receiver claims that we can achieve a satellite fix in less than 27 seconds and that it can provide a position accuracy of 2 meters. Sounds great. The module also uses the Serial interface in order to communicate with a microcontroller. So it is extremely easy to connect it with Arduino.

Since GPS service provide altitude data as well, we can build a simple Arduino GPS Altimeter with this module. The accuracy is about 15m which is good enough for a simple project like this. As you can see, I have connected this color OLED display that we saw last week and in the display we can see the current altitude. The display updates each time we have a new altitude value reported from the GPS module. Of course we have to move outside in order to have a good signal reception. But since we achieve the initial position fix, we can use it indoors as well. Great isn’t it? Let’s now see how to build this project.


Arduino GPS Librey:

Arduino OLED SSD1331 Library

Let’s now go inside and see the software side of the project. In order to make our life easier we can use a GPS library for Arduino. I am using the TinyGPS ++ library. You can find a link for the library in the description of the video. The GPS module exports its data in NMEA format. The TinyGPS library parses all that data and we can access them easily and without any knowledge of the NMEA format. So, in order to get the altitude we only have to use one command. The code of the project is very simple. At first we display a splash screen for 3 seconds. Next we start a Software Serial connection with the GPS module. The baud rate is set to 9600, because that’s the baud rate of the module. If your GPS module is not working check its default baud rate and set it accordingly to the code. Next, in the loop function we read the serial data and when the altitude is updated we display it on the screen.









Never miss a video: Subscribe to


Leave A Comment