NMEA Sentences have some dropped characters on my project please some advice.

I have looked for something that might solve this on the internet for many weeks but I can't seem to exactly pinpoint what the problem is.

I am trying to make a trackable probe that can send me raw NMEA sentences through the serial port of the Arduino so that a GPS parsing program called Goops can process them and display the position in real time of the probe on Google Earth. When I use pins 0 & 1, and a Serial.read() etc... function the NMEA sentences display correctly and Goops is able to read them and thus display the position of my probe in Google Earth. I am not using tinyGPS because I want the raw information to be sent through the serial, not process it in the Arduino.

The problem is that I have a wireless modem connected to the pins 0 & 1 to be able to see messages from the Arduino, for instance when I activate certain sensors remotely such a camera or a heater by sending a command and making the program read the values passing through the Serial then checking for a specific combination, a println() command displays a message of confirmation of something happening.

Both things work separately, but when I put them together, the GPS NMEA sentences are displayed, but for some reason they become corrupted and Goops does a checksum and they always fail, so I never get any GPS positioning, the other things work well though. But I really need the GPS otherwise I am in trouble! XD

I am using SoftSerial to make the serial input of the GPS, I am using different Baud rates for the pins 0 & 1, 115200 which do not use SoftSerial but the other pins for the GPS do and they have a different baud rate, 57600, to be precise.

What is it? I am thinking that I am not using SoftSerial correctly, or maybe it cannot handle such things? But I don't think so as it works with TinyGPS and the example they give us.

Here is my code (I surely have many mistakes, it is my first complex program, and I am using an example in the Arduino Playground for the GPS as TinyGPS was not accomplishing what I wanted) :


Thank you for your time! I am new to the community and open source Arduino I am loving it!

Your code contains several large delays, especially when the camera is active. You are likely overflowing the serial input buffer. You will need to restructure your code to use millis instead to ensure that you service the serial input in a timely fashion. See the blink without delay example sketch to get you started down this path.

At some point, you're going to have to ask yourself why you're enabling and disabling the pullup resistor on pin 12.

But first, yes, get rid of the delays.

Thank you very much for the guidance! You guys are great for taking the time!