GPS data to PWM/PPM output for servo using UNO board

for Uno board a working PWM signal output for servo simultaneously with GPS connected via serial is nearly impossible or at least extremely difficult.

CHALLENGE ACCEPTED.

Your main problem is using SoftwareSerial. It's terrible. It disables interrupts for a looooong time.

Solution? Pick one:

1) Put the GPS on pins 0 & 1 and use two other pins (2 & 3?) for debug printing to a NeoSWSerial instance. Requires an RS-232 TTL-to-USB adapater module (aka FTDI module) on pins 2&3. You will have to disconnect the GPS TX (UNO RX) wire to reprogram the UNO over USB.

2) Put the GPS on pins 8 & 9 and use AltSoftSerial instead of SoftwareSerial. Prevents PWM on pin 10, but this is almost as good as using Serial.

I'm surprised nobody else suggested this!

A secondary problem is the structure of the sketch. Using delay(1000) is never going to work. You must use an structure like the NeoGPS examples for reading the GPS data, and combine it with a Blink Without Delay technique for updating the servo.

NMEAblink.ino is very close to what you need. Instead of blinking the LED, you would update the servo with the gps.fix().spd.whole value, scaled appropriately.

But I suggest you start with main NeoGPS page and read through the docs, especially the Troubleshooting section. Then follow the Installation instructions and try NMEA.ino and NMEAloc.ino. At that point, you should be able to modify NMEAblink to do what you want.

Cheers,
/dev