ESP32 Connected GPS Module Issue Help
ESP32 Connected GPS Module Issue Help
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.
-
- Posts: 101
- Joined: Tue Mar 22, 2022 5:23 am
Re: ESP32 Connected GPS Module Issue Help
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
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.rpiloverbd wrote: ↑Sun Apr 24, 2022 6:08 amHi, 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.
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();
}
- Attachments
-
- ESP32-GPS-Connection-Diagram.png (510.4 KiB) Viewed 9645 times
-
- GNSS_Locked.png (49.66 KiB) Viewed 9645 times
-
- Arduino_Serial Monitor.png (28.7 KiB) Viewed 9688 times
-
- Posts: 101
- Joined: Tue Mar 22, 2022 5:23 am
Re: ESP32 Connected GPS Module Issue Help
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
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.rpiloverbd wrote: ↑Mon Apr 25, 2022 1:43 pmAs 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.
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.
-
- Posts: 101
- Joined: Tue Mar 22, 2022 5:23 am
Re: ESP32 Connected GPS Module Issue Help
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
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.rpiloverbd wrote: ↑Tue Apr 26, 2022 11:20 amYou 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 .
-
- Posts: 101
- Joined: Tue Mar 22, 2022 5:23 am
Re: ESP32 Connected GPS Module Issue Help
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
GPS detected and fixed the problem. Thanks.
-
- Posts: 2
- Joined: Wed Oct 11, 2023 1:53 am
Who is online
Users browsing this forum: No registered users and 61 guests