Bad data from the EM-406A

Hi all,
we've been trying to get a GPS shield running. After a lot of effort, we are still looking at weird data in the serial monitor.
We are using this:

  • EM-406A GPS module
  • latest Arduino GPS shield (bought Nov 2010)
  • Arduino UNO (ATMEGA 328)
  • MacBookPro => MaxOS X, also tried with Acer => WinXP
  • PC<>Ardunio: always connected via USB,
  • Software: Arduino software utility on the PC(s).

We ran the test program without a chip, simply forwarding the data from the GPS shield/module as descripted here:
http://www.ladyada.net/make/gpsshield/directconnect.html

We did the following tests/checks to understand what was going on:

  1. double-check soldering:
    looks good

  2. tried all(!) baud rates:
    concerning the settings in the serial monitor on the PC side, but we understood that 4800 should be correct => results: either garbage or (with too high baudrates) nothing

  3. plug and unplugged TX, RX connections:
    removing RX seemed to changed the data slightly, but to similar garbage, removing TX stop the data completely => everything as expected

And we keep seeing the weird data. At a baudrate of 4800, instead of the NMEA GPS values we are getting, this:

9*$Ë9.&Ë9VËò?rù.:ËéFËòrÒÊËéFËø"VórÒÊË¢2¹>ÒNórÒÊËéFËø"NórÒRnN'?Ë9$Ë9Y2Ë9Y¹ù>>N

  1. Later we mounted the chip and ran a little program to test the Arduino<>PC USB connection (works fine!).

  2. We also tried forwarding the data from the GPS module with a program running on the arduino, also works so-to-say: the arduino forwarded the garbage properly.

  3. On the different forums we found people mentioning the binary mode. Since running in the binary mode is indicated by the LED shining dim (and no blinking!?), we don't believe to have our module in binary mode, but we tried out arduino code that was supose to convert the data from binary to NMEA. That also led to garbage only.

  4. Also we downloaded the SIRF-Demo software (http://www.falcom.de/support/software-tools/sirf/) to reset the GPS-module. This was suppose to put the module back into NMEA-mode in case it was in binary:
    The SIRF-Demo also didn't seem to get proper data from the module. We tried to reset the module with the SIRF-Demo, but it didn't seem to have any effect. However we would appriciate it, if somebody could point out a step-by-step totorial on how to run the SIRF-Demo-software with the Arduino. Anyway...

Any help is welcome. Thanks a lot.

Cheers
Audiodroid

You should add a link to the GPS that you are using, and the shield. As far as I know, there is no official GPS shield.

You should also post the code that you are using on the Arduino. There are some GPS units that send out inverted data, so you need to read from them using NewSoftSerial, with the optional 3rd argument to invert the data. Whether or not that is your issue, I couldn't say without knowing more about your GPS.