Weathershield / Arduino not getting data from the GP-735 GPS receiver.

Hello! I was hoping someone could help me figure out why my Arduino/Weathershield setup isn’t getting data from the GP-735 GPS receiver.

I have the Sparkfun Weather Shield attached to a Arduino Uno R3, with the GP-735 plugged into the Weather Shield. I also have the SEN-15901 Weather Meter Kit attached. I’m using the code provided on the Arduino Weather Shield Hookup Guide https://learn.sparkfun.com/tutorials/ar … -guide-v12. I’m getting appropriate data from the Weather Meter Kit (wind speed, wind direction, rainfall when I tip the bucket, etc.) but just zeros for latitude, longitude, altitude, sats, date, and time. I’ve tried taking the setup outside into an open area and letting it run for more than an hour, and still no data. I’ve also checked pins 4 and 5 with a multimeter, and I’m getting a steady 4.9V on pin 4 and fluctuation from 1.5V to 3.5V on pin 5 (to ground). I’m not sure if this is a problem with the setup, the code, or the GPS receiver itself!

Here’s what I’m getting from the Serial Monitor:

$,winddir=270,windspeedmph=0.0,humidity=20.5,tempf=-1766.2,rainin=0.00,dailyrainin=0.00,pressure=85687.75,batt_lvl=4.15,light_lvl=0.20,lat=0.000000,lng=0.000000,altitude=0.00,sats=0,date=00/00/2000,time=00:00:00,#

I have attached pictures of my setup, along with a text file of the code I’m using. Any help would be much appreciated!

Photos-001.zip (3.4 MB)

weathershield code.txt (15.4 KB)

https://learn.sparkfun.com/tutorials/ar … re—basic Try ensuring the correct setting of the UART switch, also…how long are the cables to the receiver? Can you shorten them and re-test (outside)?

TS-Russell, thanks for your response, I also have the same issue with the setup mentioned by Paxrasmussen in the previous post from the 28th. I’ve tried the sample code for a TinyGPSPlus via the Arduino library on the SparkFun Redboard with the same weather shield and GPS, but have changed the pin assignments in the sample TinyGPSPlus sample code for the RX/TX assignments and enabled the power control pin by setting the ‘pwrctl’ pin high through software (…verified with a DMM …) and still no data shows up on the Arduino IDE serial monitor. I have the UART switch set to ‘soft’ after testing continuity between the GPS header connector and the pins marked on the shield as GTX, GRX. The ‘soft’ setting produced a complete circuit on the weather shield between the pins on the header connector for the GPS and the comm pins (GTX, GRX). My next test is to connect to the GPS directly using the shield itself without the Redboard attached to the shield and a USB to serial adapter.

Test results:

using putty

serial: 9600 N,8,1

USB to Serial adapter

(FTDI 3.3v/5v switch set to 5v)

FTDI : Weather Shield

(tx): shield GTX

(rx): shield GRX

(gnd): shield gnd

(+5): shield VIN

shield pwrctl is floating at 3v

shield switch is set for: GPS SW-UART

$GPGSV,3,2,09,22,44,073,21,25,06,034,20,26,44,136,19,31,54,048,24*73

$GPGSV,3,3,09,32,16,090,17*49

$GPGLL,3948.48915,N,10511.15634,W,183222.00,A,A*75

$GPRMC,183223.00,A,3948.48921,N,10511.15617,W,0.155,291122,A*61

$GPVTG,T,M,0.155,N,0.288,K,A*20

$GPGGA,183223.00,3948.48921,N,10511.15617,W,1,06,1.90,1729.8,M,-21.5,M,*57

$GPGSA,A,3,01,03,31,04,21,22,4.09,1.90,3.62*07

$GPGSV,3,1,09,01,26,238,15,03,61,302,30,04,29,291,38,21,15,221,23*75

$GPGSV,3,2,09,22,44,073,21,25,06,034,19,26,44,136,19,31,54,048,24*79

$GPGSV,3,3,09,32,16,090,17*49

$GPGLL,3948.48921,N,10511.15617,W,183223.00,A,A*72

$GPRMC,183224.00,A,3948.48941,N,10511.15638,W,0.172,291122,A*68

$GPVTG,T,M,0.172,N,0.319,K,A*2C

$GPGGA,183224.00,3948.48941,N,10511.15638,W,1,06,1.90,1730.0,M,-21.5,M,*5B

$GPGSA,A,3,01,03,31,04,21,22,4.09,1.90,3.62*07

$GPGSV,3,1,09,01,26,238,14,03,61,302,30,04,29,291,38,21,15,221,23*74

$GPGSV,3,2,09,22,44,073,21,25,06,034,18,26,44,136,19,31,54,048,23*7F

$GPGSV,3,3,09,32,16,090,17*49

$GPGLL,3948.48941,N,10511.15638,W,183224.00,A,A*7E

$GPRMC,183225.00,A,3948.48966,N,10511.15635,W,0.418,291122,A*68

$GPVTG,T,M,0.418,N,0.773,K,A*2D

$GPGGA,183225.00,3948.48966,N,10511.15635,W,1,06,1.90,1730.0,M,-21.5,M,*52

$GPGSA,A,3,01,03,31,04,21,22,4.08,1.90,3.62*06

$GPGSV,3,1,09,01,26,238,13,03,61,302,30,04,29,291,38,21,15,221,23*73

$GPGSV,3,2,09,22,44,073,21,25,06,034,19,26,44,136,20,31,54,048,23*74

$GPGSV,3,3,09,32,16,090,18*46

So the GPS is making data available over the weather shield pins (GTX,GRX) when using a simple USB/serial adapter. This points back to the Redboard and code and their interaction with the GPS.

Found the issue I was having… Either I copied incorrectly or transposed something. Changing the GTX, GRX pin assignments in the code fixed the issue. The weather shield is now reporting all environmental stats as well as five sats, lat/long and accurate time when placed on a window sill with a good view of the sky. I’m attaching the fully working code I’m using.

basic_weather_station_code_with_gps_v1.ino.gz (5.08 KB)

One additional thing… I noticed that the values returned for temp (…no matter if in C or F …) from the SparkFun library SparkFunMPL3115A2 v1.2.4 were insane (eg -1774.2 ). Rolling the library back to v1.2.0 in my IDE fixed the issue.

mhillier:
Found the issue I was having… Either I copied incorrectly or transposed something. Changing the GTX, GRX pin assignments in the code fixed the issue. The weather shield is now reporting all environmental stats as well as five sats, lat/long and accurate time when placed on a window sill with a good view of the sky. I’m attaching the fully working code I’m using.

This fixed the GPS problem for me, thank you!!!

mhillier:
One additional thing… I noticed that the values returned for temp (…no matter if in C or F …) from the SparkFun library SparkFunMPL3115A2 v1.2.4 were insane (eg -1774.2 ). Rolling the library back to v1.2.0 in my IDE fixed the issue.

Oh yeah, I’m getting the same insane temp readings. Rolling back the version didn’t fix it for me, though. Weird!

I uninstalled everything and reinstalled. Working great now. Thank you!!!

Awesome!! :smiley: