ESP8266 and NMEAGps : Serial port issue !

Hi there,
I'm currently trying to get values from my NMEAGps connected to my ESP8266 board.
I just have a simple script that reads values from the gps and prints those values into the Serial monitor.
I'm facing issue concerning the serial port configuration.
When I simply connect my GPS to the standard RX pin, the serial does not print correct values and prints some random chars...
So I tried to use a software serial following this documentation : NeoGPS/ at master · SlashDevin/NeoGPS · GitHub but without success for now.. When I look up the Serial monitor, it prints correct values but the GPS does not work properly (gps.available() returns false and my fix.location.valid returns false as well).

I do not have this problem on my MKR board when I connect directly my GPS on the standard serial port. My script works well and prints correct values.

Does anyone know how to use and configure the GPSPort.h correctly and get the GPS working properly using a software serial ?

Thanks in advance !

ESP8266 is an IC; which board do you actually have?

And which "standard" RX pin do you mean?


Sorry for not being clear..
my board is a "NodeMCU Lua Lolin V3" here is a schema of it :

By "standard" RX i mean the RX0 which means GPIO 3.
I tried to use a NeoSWSerial on pin D7 (13) but no result :frowning:

Your link takes me to a Google search result not an actual board.

Don't know anything about that board.

SoftwareSerial does not work at 115200 so if that is what you are doing, it will not work.

You'll want to use hardware serial if there is one for the module you have.

Some thoughts that might or might not be the reason for your problems.

Boards with the ESP8266 have, in my incomplete experience, 2 serial ports, one that is connected to the USB port and a second one that you can only use the Tx pin on. Based on your description I think you are trying to use the serial port that is connected to the USB port, so the data you are feeding into it is conflicting with the data from the USB port and causing rubbish to be received.

I tried and gave up with software serial on the ESP8266. My understanding is that the interrupts that drive the Wi-Fi mess up the timings needed for a software based serial port.

You can use a function Serial.swap() to swap the serial port used by the USB connection on to GPIO15 > Tx, GPIO 13 < Rx, this means you can use this serial port for something else, but you lose the USB connection.

You could try an ESP32 which has 2 completely useable serial ports.