EM-406A with Arduino Pro

So, I have this weird issue trying to read a GPS with an Arduino Pro. I am currently able to get all the GPS information to show on an Uno board without issue but when I go to run the exact same code on the Pro, I don't get anything. Hardware: Arduino Pro 5V/16MHz EM-406A GPS GPS connections to Arduino are 5V, GND, Tx, Rx. Tx, Rx connected to pin 0, 1 and removed before loading any code. FTDI breakout board with USB cable from the Arduino Pro to MacBook

I ran the following code from http://tronixstuff.wordpress.com/ written by John Boxell and it wouldn't even show the NMEA sentences on the serial monitor.

/*
  Example 17.1
  Display any data coming out of the GPS receiver in the serial monitor box
  tronixstuff.com/tutorials > Chapter 17
*/

// as the GPS module sends data out serially, we just pick it up character by
// character and repeat it to the serial output

byte aa;    
void setup() 
{
  Serial.begin(4800);  // the module runs at 4800 bps, not 9600!
}

void loop() 
{
  if (Serial.available()>0) // if there is data coming into the serial line
  {
    aa = Serial.read(); // get the byte of data
    Serial.print(aa, BYTE); // send it to the serial monitor
  }
}

I can run the exact same code on a Mega and an Uno and it shows up just fine but nothing shows on the Pro. I can also use the TinyGPS library with the NewSoftSerial library using code from http://www.sparkfun.com/tutorials/173 and get all the data to show properly using an Uno so I know the GPS is fine and the code is fine. There's just something odd about this Arduino Pro board that I can't figure out. Any ideas as to why I don't get anything from the board?

Has anyone ever interfaced the two successfully and been able to display data properly?

What's the status of the LED on the GPS?

It showed as locked as it was blinking.

If you're confident the GPS is wired correctly then you might want to try a logic level shifter. The GPS module you are using is based off 2.85 volt logic and the Arduino uses 5 volt logic. The minimum required voltage level to read a logic one is 0.6 * Vcc. Most people are able to successfully interface the GPS to 5 volt devices (I'm surprised more people don't have problems) but you may be in the rare circumstance where the regulator voltage is just a tad high and it's not able to read the GPS.

I'm able to get the GPS working just fine with an Uno running at 5V. I would have thought the Pro on 5V would act just the same but I'm not too familiar with the devices yet. Would I still need a logic level shifter if it's working with an Uno?

Run the below sketch. Basically it will put the Tx an Rx pins into a Hi-Z state so you can connect the Tx pin from the GPS to the Tx pin on the Arduino and have the data stream directly to Serial Monitor. Just make sure you download the sketch before you connect the GPS. You are completely bypassing the microcontroller. This rules out any code problems. I've never tested it with an UNO but I know it works with an FTDI chip. Run it and see what happens, just make sure you have the baud rate set correctly in Serial Monitor.

void setup(){
  digitalWrite(0,LOW);
  pinMode(0,INPUT);
  digitalWrite(1,LOW);
  pinMode(1,INPUT);
}

void loop(){
  while(1);
}

I ran the sketch on both the Pro and Uno and it worked just fine. Setting the serial monitor to 4800, the NMEA sentences came through as expected. So, I feel kind of dumb now but it seems to be working. I have no idea why it wasn't working before as I spent hours on it but I'm getting data on the Pro without issue. Thanks again for the help! Looks like I'm just up Route 3 from you in Nashua.