serial data loss

Hello

I have Skylab GPS Module MT3329 SKM53 connected to Arduino Nano v3.0. on a breadboard. Program reads from the GPS module serial and write it to serial console. I often see small errors in Serial Monitor - invalid NMEA sentences, like following:

  • $RC,122658.00,,844.2613,N,152067,E,0.00274,280514,,*2
  • GGSV,4,4,13,,1,146,*4B
  • GR,122703.000A444.2613,N,01.2067,E,0.0,.4,280514,,,*D
  • $GPRMC175.000,V,,,,00,329.94,2804,,N*44$GPGGA,122726.000,,,,,0,2,,,M,,M,,*48 (here we are also missing line feed)
  • $GPG,4,4,13,18,12,*46

I'd say every tenth message is damaged. Is it normal? If not, is there a way to improve it? I tried to use also Level Convertor but I had same results.

Baud rate is default - 9600.

Looking forward to see any hints :-)

I've found out that the higher baud rate is the more errors I see. @4800 I see no errors.

So the question is - what I am missing that hitgher speeds causes communication errors?

From the SKM53_Datasheet I read following:

Power Supply: ...... Suitable decoupling must be provided by external decoupling circuitry(10uF and 1uF). It can reduce the Noise from power supply and increase power stability.

Where to place that capacitor?

Or maybe more important:

The RXD0 & TXD0 recommended to pull up (10K?). It can increase the stability of serial data.

Could you please explain me (or link to some article) how to connect that "pull up" resistor?

Or any other hits?

You can either connect a resistor from Vcc to the input or enable the internal pullup resistor with pinMode(pin, INPUT_PULLUP);.

thanks for the tip, but neither way of pullup resistor helped.

any other hints?

I would said it sound like power issue ... maybe the current it is not enough. I had similar problem and when i put a higher power supply (on current side) then my problem fixed.

tasosstr: I would said it sound like power issue ... maybe the current it is not enough. I had similar problem and when i put a higher power supply (on current side) then my problem fixed.

Arduino Nano is powered from USB and GPS module is connected to Arduino's 5V and GND.

Replaced SoftwareSerial with AltSoftSerial and now I am able to communicate even at 38400 (and maybe more) without any data loss.

So where did you get the AltSoftSerial? I am implementing fast serial on Nano 3.1, looks like I'm gonna need it.