Adafruit Feather HUZZAH with ESP8266 + MakerHawk GPS Module

Hey everyone

So I'm pretty much a newbie at this and running into some problems early on.

I'm trying to send GPS data (lat, long) through my WiFi module to a Firebase project. So I got my MakerHawk GPS Module hooked up to my Adafruit Feather HUZZAH with ESP8266, from which I'm getting my GPS data in my serial monitor on a baudrate of 9600. RXD from the GPS module is connected to the RX port on the Feather bord, TXD is connected to the TX port and so on.

So now I'm trying to convert the NMEA sentences to readable numbers via TinyGPS++ so I can send them to Firebase. But I am not getting any data once I try to print them on the serial monitor with baudrate 115200 (baudrate needed for the Feather board).

I have currently following code to test (but clearly it's not working):

#include <TinyGPS++.h>
#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h> 
#include <SoftwareSerial.h>

TinyGPSPlus gps;

static const int RXPin = 15, TXPin = 16;
static const uint32_t GPSBaud = 9600; 

SoftwareSerial ss(RXPin, TXPin);

void setup() {
  Serial.begin(115200);
  ss.begin(9600);
}

void loop() {
  while(ss.available() > 0){
    gps.encode(ss.read());
    Serial.print(gps.location.lat(), 6);
  }
}

When I look at the serial monitor at 115200 baud, it just gives me one line of some weird characters.

What am I missing? Are my pins or my wiring not correct? I tried to follow similar tutorials but it's not working on my part.

Thanks in advance!

Can you print a message in setup to ensure that your serial configuration is correct?

Once I do a Serial.write in setup, I don't get any data anymore on 9600 baud. As well as nothing on 115200. Just some weird characters again

Post the code that did that.

I only added a Serial.print to my code:

#include <TinyGPS++.h>
#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h> 
#include <SoftwareSerial.h>

TinyGPSPlus gps;

static const int RXPin = 15, TXPin = 16;
static const uint32_t GPSBaud = 9600; 

SoftwareSerial ss(RXPin, TXPin);

void setup() {
  Serial.begin(115200);
  ss.begin(9600);
  Serial.print("Test");
}

void loop() {
  while(ss.available() > 0){
    gps.encode(ss.read());
    Serial.print(gps.location.lat(), 6);
  }
}

And on 115200 baud it gives me the weird characters again with "Test" at the end.
While on 9600 baud it starts printing my GPS data again. Really odd

Try different pins for the GPS. Pins 15 and 16 apparently aren't plain GPIO.

wildbill:
Try different pins for the GPS. Pins 15 and 16 apparently aren't plain GPIO.

Does it matter what pins I should use on the Feather board?

Maybe. Look at their pinout docs - 15 and 16 have other functions and IIRC, 15's only good as an output. So since you're having trouble, try some of the plain old GPIO pins.