Rpi3, grovepi+ and Grove GPS sensor


I got a Grove GPS sensor with a grovepi+ on a raspberry pi 3. I do not seem to be able to get any GPS data from the sensor at all.

I have installed the GrovePi environment and libraries on top of a raspbian stock and then followed this tutorial. http://www.seeedstudio.com/wiki/images/7/72/113020003.pdf

I have found contradicting HOWTOs that explain that the Grove GPS sensor ought to be plugged to either the port marked as RPISER, or SERIAL or D4. I have tried all three with no results. I have tried outdoors to no avail. I am using the code at this link:

With lines 54-56 commented out.

The LED in the GPS module is on, the little antenna is plugged and has a clear view of the sky.

Any tips on how to get this to work would be greatly welcome.

P.S. I found this about a change in the way that serial operates in the RPi3 but I can’t say if the Grovepi+ would be affected by this change: https://github.com/RPi-Distro/repo/issues/22

Good news and bad news, I guess.
I’ve never played with the GPS sensor before, so I know less than you, but I have a Pi2 and a Pi3.
I tried it with the Pi2 and a Raspbian for Robots/Jessie (You can check in the Version file on the desktop, to see if you have Wheezy or Jessie)

I got the GPS to sorta work by plugging it in the RPiSer connector. I can connect to 5 satellites, and I get exactly one reading, and only one. I’m running the code found at Desktop/GrovePi/Software/Python/GroveGPS.py
I had no success with the other examples.
I get the same behavior with both RPi2 and RPi3.

Hopefully this can help you a tiny bit, while we wait for others more knowledgeable to stop by

Thanks a lot CleoQc! Your reply encouraged me to try it on a Rpi2, thanks.

I’m having a slightly different experience though. With Raspbian for Robots on a Rpi 2 the GPS sensor seems to work just fine, but the same setup (same SD card in fact, same GrovePi+, same sensor) put into a Rpi 3 and it stops working.

That’s all I could find out.

Any suggestions on how to fix it? I’ll post back here if I find why.

Tried remapping the bluetooth serial as suggested in this tutorial and this, that didn’t seem to work on the Rpi3 to read the GPS sensor.

Which Raspbian for RObots are you using? Jessie or Wheezy? (look in the Version file on the desktop if you need to, it will tell you which version you’re running).
Also, have you run a DI Update software not too long ago? There were changes to handle the Pi3 better.

I recommend Jessie for the Pi3, as Wheezy never really supported it officially. The tutorials you mentioned are in the same vein as the changes done to Raspbian for Robots for the Pi3

Hi Cleo,

This is the version information for my Raspbian for Robots:
V 6.9

This version of Raspbian was modified by Dexter Industries on the Jessie Raspbian Build.
This version was updated on 2016.03.20

With this version reading from the GPS unit on a Rpi2 seems to work. (but not on Rpi3)

Hi zilog,
We have a newer image up on sourceforge from 16 May 2016: https://sourceforge.net/projects/dexterindustriesraspbianflavor/ and the instructions for installing it are here : http://www.dexterindustries.com/howto/install-raspbian-for-robots-image-on-an-sd-card/ . It might be better to try that SD card. That card comes with the settings enabled for using the serial with the Pi3 and a lot of other changes which make it much more suitable with the Pi3.

Can you give it a shot and see if that one works.


Hello karan,

Thanks a lot for your advice. I downloaded again thinking that I had made a mistake and even though the ZIP file is named: 2016.05.16_Dexter_Industries_jessie.zip

The version info continues to say:
V 6.9

This version of Raspbian was modified by Dexter Industries on the Jessie Raspbian Build.
This version was updated on 2016.03.20

Perhaps the version file that ships with the distribution was not updated?

Indeed, the Version file was not updated. We have (yet another) image waiting for release where the Version file is updated (and a few other things).
And even with the file you just downloaded, please run a DI Update Software on it to get the latest fixes.

“DI Update Software” <<-- is this a command?

It’s an icon on your Raspbian for Robots desktop. it will bring up a window offering you a couple of choices. ChooseUpdate Dexter Software

Got a question for you, when you say your GPS works just fine on a Pi2, which program are you running, and which port do you have the GPS on?
I submitted a fix for the issue I was having (having only one reading and then hanging there). I want to make sure my fix doesn’t kill what you have already working. That would be one step forward two steps back, and I’d rather avoid that.

This is what I wrote:

I’m not so sure I get measurements though. I see NMEA data streaming in but indeed the LAT,LON seem missing, I only noticed that later.

Have you experienced this?

I have extremely limited experience with the GPS (I had never touched it before you started this thread, so yeah, I’m a noob).

From looking at the Dexter code, it seems only the data that starts with GPGGA contains the pertinent information. This is also supported by the doc for pynmea

I really hope what I’m saying makes sense!
always willing to help, even when I don’t know a thing :slight_smile:


Sorry, I was away for a couple of days. I’m back into the project though.

I have tried again on the Rpi3 with the version of Rasbian for Robots that I stated above and with the latest updates and running GrovePi/Software/Python/grove_gps/grove_gps_hardware_test.py returns nothing but blank lines. No data at all.

Then I tried again after updating the serial port datarate like so: “sudo stty -F /dev/ttyAMA0 9600”

With the same setup (indeed same SD card) on a Rpi2 I get NMEA valid lines, but still no actual coordinates.

Not sure how to proceed… bit frustrated at the moment. :confused:

Sorry about the frustration… I shared it last week, but now I have my GPS under control (on a Pi2, haven’t tried lately on a Pi3).

Can you post here a few of the NMEA lines you are getting on the Pi2? Are you seeing GPGGA lines?

I tried the grove_gps_hardware_test.py on my setup. I get about 5 seconds of blank lines. Then valid data comes in.

I’m not getting valid output on the Rpi2 now, no valid NMEA lines, just garbage. :frowning:

Maybe it’s because of a serial port misconfiguration? When I type: stty -a in my terminal I get the following output:

speed 38400 baud; rows 45; columns 161; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = &lt;undef&gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

What do you get?

Sorry, I was away from a Pi3 for the last day.

If I try stty -a, I get

speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &lt;undef&gt;;
eol2 = &lt;undef&gt;; swtch = &lt;undef&gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

I also have the following in my /boot/config.txt file:


My Pi3 works with the GPS. although it takes a while to warm up. It seems to take longer than the Pi2 to find satellites and get data from them

“With the same setup (indeed same SD card) on a Rpi2 I get NMEA valid lines, but still no actual coordinates.”

Do you have a screenshot of this? It sounds like your sensor might be bad, you might need to ask Seeed for a replacement.

Thanks John! I attach a full log to this post. It never seems to get more than three satellites and it never gives a reading after leaving it running for a good 30 minutes outdoor in the balcony, clear view of (cloudy) sky. I get a very tight gps reading on my phone.

This is after I remade the Rpi2 image by following step by step the instructions in your site, and updating, it went a bit more smoothly this time. :slight_smile: But still no usable readings. Could this be a faulty unit? Can you see anything unfamiliar in the log?