Raspberry Pi and GPS


I had an Adafruit Ultimate GPS board that I used successfully with my Arduino and wanted to try it with the Raspberry Pi. My GPS unit is fitted with a battery backup and what I overlooked was that the settings were saved. The Arduino Sketch I was using only required the RMC sentence, but gpsd requires a few more and without these extra sentences will not work correctly.

Settings are only saved with the backup battery connected , so to reset the unit just remove the battery. However the RTC will lose the current time and so I connected the GPS up to an Arduino, ran the test sketch from Adafruit with the line un commented to allow All Data to be sent.

To connect the GPS to the Pi a USB to TTL adaptor is used, these can be obtained on eBay for very little. Four connections are needed, 5 volts, ground, Tx and Rx (the Ultimate GPS board had 5 volt tolerant inputs). Cross the Tx and Rx connections.

I used the tutorial on the Adafruit site to install the software gpsd. Two things that I discovered was that the programs provided in gpsd will not work unless you have a fix. The easiest way is to use an Active Aerial and these come with a long enough lead to hang out of a window. The second seems to be a well documented problem that is easy to find an answer for on Google after you have spent some time trying to get the system to work. Although gpsd should start at boot up it doesn’t seem to, the cure is to first of all stop gpsd with

sudo killall gpsd

Then to restart it with

Sudo gpsd /dev/ttyUSB0 -F /var/run/ gpsd.sock

Then start the graphic interface with



1 thought on “Raspberry Pi and GPS”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s