Page 1 of 1
ESP32 Connected GPS Module Issue Help
Posted: Sat Apr 23, 2022 5:35 am
by kpin404
I connected Reyax RYS8830 GPS module with ESP32 Dev. board through its UART ports (RX/TX, 16/17) with using a proper signal level shifter from Texas Instruments named TXS0108E from ESP32 TXD signal level 3.3v -> 1.8 signal level at RXD pin of RYS8830 and 1.8 -> 3.3V signal level from TXD pin of RYS8830 to RXD pin of ESP32. I am using Arduino IDE to upload the code to ESP32 and run serial monitor to check for the GPS data from connected RYS8830 GPS module. But unfortunately no success in getting the GPS data from RYS8830 module to connected ESP32 and always getting a runtime message that "NO GPS DETECTED: CHECK WIRING”, even checked for the proper wiring many times and found no wiring issue at all. While Reyax RYS8830 GPS module works fine under its Evaluation board without any issue at all. Could anybody here please assist me further on this that how to fix this unusual and strange issue with RYS8830 GPS module? Thank you once again for supporting me with this issue and helping me to fix this. Any help to fix this issue will be appreciated greatly. Thanking you.
Re: ESP32 Connected GPS Module Issue Help
Posted: Sun Apr 24, 2022 6:08 am
by rpiloverbd
Hi, is everything alright with your code and connections? Also, check the continuities of your jumper wires? If everything else is alright, I suggest you try the setup outdoor. Because I have seen that many GPS modules do not output any data indoors.
Re: ESP32 Connected GPS Module Issue Help
Posted: Sun Apr 24, 2022 6:34 am
by kpin404
rpiloverbd wrote: ↑Sun Apr 24, 2022 6:08 am
Hi, is everything alright with your code and connections? Also, check the continuities of your jumper wires? If everything else is alright, I suggest you try the setup outdoor. Because I have seen that many GPS modules do not output any data indoors.
Hello @rpiloverbd! Thank you for your feedback. Yes! there is everything alright with the connections and its jumper wire continuities, as i have double checked this and seems no hardware issues. And yes i am also testing the GPS module outdoor with clear sky. Even, GPS module works fine in providing the GPS data under its own Evaluation board setup, please check for GNSS monitor screenshot. Secondly, i am not sure about the correct uploaded code. Please refer to the code and attached documents for more details on this issue to be reviewed by you. Thanks.
Code: Select all
#include <TinyGPS++.h>
#include <HardwareSerial.h>
HardwareSerial uart(2);
TinyGPSPlus gps;
void setup()
{
Serial.begin(115200);
uart.begin(115200, SERIAL_8N1, 17, 16);
Serial.println(F("DeviceExample.ino"));
Serial.println(F("A simple demonstration of TinyGPS++ with an attached GPS module"));
Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F("by Mikal Hart"));
Serial.println();
}
void loop()
{
// This sketch displays information every time a new sentence is correctly encoded.
while (uart.available() > 0)
if (gps.encode(uart.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println(F("No GPS detected: check wiring."));
while(true);
}
}
void displayInfo()
{
Serial.print(F("Location: "));
if (gps.location.isValid())
{
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
}
else
{
Serial.print(F("INVALID"));
}
Serial.print(F(" Date/Time: "));
if (gps.date.isValid())
{
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
}
else
{
Serial.print(F("INVALID"));
}
Serial.print(F(" "));
if (gps.time.isValid())
{
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour());
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F("0"));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F("0"));
Serial.print(gps.time.centisecond());
}
else
{
Serial.print(F("INVALID"));
}
Serial.println();
}
Re: ESP32 Connected GPS Module Issue Help
Posted: Mon Apr 25, 2022 1:43 pm
by rpiloverbd
As far as I can understand, your code is correct. The circuit connection must be checked. May I know, what is the purpose of the 1K resistor in your circuit? I also request you to check the signal level shifter separately. Kindly check whether its outputs are accurate or not.
Re: ESP32 Connected GPS Module Issue Help
Posted: Tue Apr 26, 2022 1:05 am
by kpin404
rpiloverbd wrote: ↑Mon Apr 25, 2022 1:43 pm
As far as I can understand, your code is correct. The circuit connection must be checked. May I know, what is the purpose of the 1K resistor in your circuit? I also request you to check the signal level shifter separately. Kindly check whether its outputs are accurate or not.
Yes! you may be right. I think so after going through every bit of fault finding processes with expected outcome results with used codes there may be the hardware communication issue between GPS module and ESP32 due to level shifter.
Regarding 1k resistor, when the output-enable (OE) input is low, all outputs are placed in the high-impedance (Hi-Z) state. This will automatically happen (1K pulldown) during powerup. OE needs to be tied to low voltage i.e. 1.8V in my case then also connect a pulldown resistor (i.e.1K) from OE to GND as per the TXS0108E level shifter manufacturer datasheet.
Okay! now next comes to me to check with level shifter. Could you please let me know that have you any idea how do can i check for this level shifter separately? Thanking you for keep supporting.
Re: ESP32 Connected GPS Module Issue Help
Posted: Tue Apr 26, 2022 11:20 am
by rpiloverbd
You can check with a multimeter. Give 3.3V input to any pin on the high side and measure the voltage at the corresponding pin on the low side. Thus you'll find if the board is really converting 3.3V to 1.8V .
Re: ESP32 Connected GPS Module Issue Help
Posted: Tue May 03, 2022 1:48 am
by kpin404
rpiloverbd wrote: ↑Tue Apr 26, 2022 11:20 am
You can check with a multimeter. Give 3.3V input to any pin on the high side and measure the voltage at the corresponding pin on the low side. Thus you'll find if the board is really converting 3.3V to 1.8V .
I have tested as per your suggestion and found that it is converting 3.3V to 1.8V. But i think there is no difference whether its making conversion or not as we are already giving 1.8V at its low side power supply pin and it will shows same voltage level at its other low side signal pins, even giving 3.3v at its high side power supply pin. Please clear. Thanks.
Re: ESP32 Connected GPS Module Issue Help
Posted: Fri May 06, 2022 11:31 am
by rpiloverbd
That means it's a bidirectional converter and it's working well. I really can't understand what else can create a problem here. Let me get back to you if I see something worthwhile.
Re: ESP32 Connected GPS Module Issue Help
Posted: Mon May 09, 2022 12:43 am
by kpin404
GPS detected and fixed the problem. Thanks.
Re: ESP32 Connected GPS Module Issue Help
Posted: Wed Oct 11, 2023 3:10 am
by joaquinegn
kpin404 wrote: ↑Mon May 09, 2022 12:43 am
GPS detected and fixed the problem. Thanks.
Hi, could you please tell how did you do it? I am in a very similar situation.
Regards