connecting Adafruit Ultimate GPS Breakout with Arduino?

Please, can anyone help me?
1- How can I connect 5 (Adafruit Ultimate GPS Breakout) cards to one Arduino cards?
2- Can we take the data synchronizing at a time (or in very small delay time)?

Thank you


@Firass, do not cross-post. Other thread removed.

I want to connect the five (GPS Card) in a square area the distance between the cards half a meter and take the results separately. And then compare the results it's my work.
My problem now is how to link five (GPS Card) card with one Arduino card and take the data synchronizing at a time (or in very small delay time).

The Mega has 4 hardware serial ports, and you could use AltSoftSerial on pins 46 and 48 to get a 5th.

NeoGPS is the only GPS library that allows handling multiple GPS devices. Your sketch would be something like this:

#include <AltSoftSerial.h>
AltSoftSerial AltSoftSerial4; // always on pin 46 & 48 on a Mega

Stream *gps_port[] = { &Serial, &Serial1, &Serial2, &Serial3, &AltSoftSerial4 };
static const uint8_t GPS_COUNT = sizeof(gps_port) / sizeof(gps_port[0]);

#include <NMEAGPS.h>
gps_fix fix[ GPS_COUNT ];
uint8_t fixCount = 0;

void setup()
  Serial.begin( 9600 );
  Serial1.begin( 9600 );
  Serial2.begin( 9600 );
  Serial3.begin( 9600 );
  AltSoftSerial4.begin( 9600 );

void loop()
  // Parse characters from all the GPS devices
  for (uint8_t i=0; i<GPS_COUNT; i++) {

    if (gps[i].available( *gps_port[i] )) {

      // This device has a new fix, save it in the fix array
      fix[i] = gps[i].read();


  if (fixCount == GPS_COUNT) {
    //  All GPS devices have provided a new fix, compare the structure members of the fix array

    //      ... whatever you have in mind ...
    //  if (fix[0].latitude() - fix[1].latitude() > LAT_DELTA) ...
    //       ... or ...
    //  gps_fix average;
    //  for (uint8_t i=0; i<GPS_COUNT; i++)
    // + fix[i] );
    //       ...

    //  Wait for another batch of fixes to arrive
    fixCount = 0;

The fixes will arrive within ~20ms of each other. This depends on the NMEA sentence length coming from each device. At 9600, each additional character takes ~1ms. For example, if just one device is reporting altitude, heading and and speed, and the others aren’t, its sentences will have ~20 extra characters.

You would have to disconnect the GPS from pin 0 to reprogram the Arduino, but the others could stay fixed. Debug prints would also go to that first GPS device, but they would be ignored.