MKR GPS Shield not working

Hello guys,

I have an MKR GSM board with en MKR GPS Shield attached to it with an I2C Cable.

I have the following code:

  GPS Location
  This sketch uses the GPS to determine the location of the board
  and prints it to the Serial monitor.
   - MKR board
   - MKR GPS attached via I2C cable
  This example code is in the public domain.

#include <Arduino_MKRGPS.h>

void setup() {
  // initialize serial communications and wait for port to open:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only

  // If you are using the MKR GPS as shield, change the next line to pass
  // the GPS_MODE_SHIELD parameter to the GPS.begin(...)
  if (!GPS.begin()) {
    Serial.println("Failed to initialize GPS!");
    while (1);

void loop() {
  // check if there is new GPS data available
  if (GPS.available()) {
    // read GPS values
    float latitude   = GPS.latitude();
    float longitude  = GPS.longitude();
    float altitude   = GPS.altitude();
    float speed      = GPS.speed();
    int   satellites = GPS.satellites();

    // print GPS values
    Serial.print("Location: ");
    Serial.print(latitude, 7);
    Serial.print(", ");
    Serial.println(longitude, 7);

    Serial.print("Altitude: ");

    Serial.print("Ground speed: ");
    Serial.println(" km/h");

    Serial.print("Number of satellites: ");


It never seems to get past GPS.available and I really don’t know why. I’ve been struggling for about 2 days.

I have tried other cabled, other USB ports, attaching a LIPO to it, tried other computers, …

Hope u can help, thanks!

Moved your topic to it’s current location as it is more suitable.

Could you take a few moments to Learn How To Use The Forum.
Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.