Ublox Neo6m TinyGPS starts over on it's own and sends wired data

It could be several things, like insufficient power, but I would suggest reading this. It takes you through the process of connecting a GPS module:

  • Pick a good connection. Pins 2 & 3 are not the best choice. 0 & 1 would be best, followed by 8 & 9.

  • Connect the GPS safely. Some GPS devices are 3V devices, not 5V like the Arduino. You can damage the GPS device if you connect the Arduino transmit pin to the GPS receive pin. It can also draw too much power.

  • Pick a software serial library if you can't use 0 & 1. AltSoftSerial is best (pins 8 & 9 only). NeoSWSerial is next best (any two pins). SoftwareSerial is the worst choice.

After you have a system configuration, you can try the simple echo test:

#define gpsPort Serial // just an alias for Serial, if you can use pins 0 & 1

void setup()
{
  Serial.begin( 9600 ); //  This *is* gpsPort
  // gpsPort.begin( 9600 );   // not needed if gpsPort *is* Serial
}

void loop()
{
  if (gpsPort.available())
    Serial.write( gpsPort.read() );
}

You should see NMEA sentences on your Serial Monitor window, like $GPGGA.

If you don't want to use 0 & 1, just use gpsPort for your variable name, and the rest of the sketch doesn't have to change:

#include <AltSoftSerial.h>
AltSoftSerial gpsPort; // pins 8 & 9 ONLY

void setup()
{
  Serial.begin( 9600 );
  gpsPort.begin( 9600 );   // not needed if gpsPort *is* Serial
}

void loop()
{
  if (gpsPort.available())
    Serial.write( gpsPort.read() );
}

Or, for NeoSWSerial:

#include <NeoSWSerial.h>
NeoSWSerial gpsPort( 2, 3 ); // you don't have to connect pin 3 to receive GPS data.

void setup()
{
  Serial.begin( 9600 );
  gpsPort.begin( 9600 );   // not needed if gpsPort *is* Serial
}

void loop()
{
  if (gpsPort.available())
    Serial.write( gpsPort.read() );
}

And you could try the diagnostic program in NeoGPS. It displays some raw data and tries different baud rates. The NeoGPS library is also much faster, smaller, more reliable and more accurate than all other libraries. The examples are properly structured -- the example you are using is ok.

AltSoftSerial, NeoSWSerial and NeoGPS are all available from the Arduino IDE Library Manager, under the menu Sketch -> Include Library -> Manage Libraries.

Cheers,
/dev