I'm curious if anyone may have any insight for me. I designed an arduino GPS shield around the Maestro A2035 GPS module and it mostly works great. I recently went on a cruise and took the GPS module with me to log the entire trip on an SD card. Almost immediately I started having problems with it. For one, the serial data coming from the GPS module started have sporadic errors in it. Eventually it degraded to the point where the arduino was just reading a whole bunch of junk from the serial port. I thought for sure the GPS module had experienced some sort of corruption in its program memory but now that I am home and away from the ship, the thing is working flawlessly again. Are my problems likely the result of the high EM environment of the ship wreaking havoc on my circuit? If so, how do people design circuits to resist those types of external influences?