M5 GNSS module with ESP32 board
-
Hi guys, I need help, please!!!
I am trying to use this m5 GNSS module with a standard Espressif ESP32-S3-DevKitC-1 development board, NOT an M5Stack Core unit.
I have been successful with part of the module, but I am completely unable to get any data from the NEO-M9N GPS over the UART interface.
Here is a summary of my project and the troubleshooting steps I have taken over many days with no luck:
What Works Correctly:
The module is powered correctly via the 3V pin and GND pins on the M-BUS header.
The I2C communication is working perfectly. I have run an I2C scanner, and it successfully finds the BMI270 at address 0x69 and the BMP280 at address 0x76, exactly as expected.The Problem - No GPS Data:
I am unable to receive any UART data from the NEO-M9N GPS. I have written test code for my ESP32 that cycles through all standard baud rates (9600, 38400, 115200, etc.) and listens for any incoming data, but no valid NMEA sentences (or any data at all) are ever detected.
My Current Setup and Troubleshooting Steps:
I am attempting to use the DIP switch and the M-BUS header to make the UART connection, as described in your documentation for use with M5Stack Cores.
My current DIP switch setting is:
SW1 (Module RX): Pin #1 is ON, all others are OFF.
SW2 (Module TX): Pin #1 is ON, all others are OFF.
SW3 (PPS): All pins are OFF.I have tried connecting the corresponding M-BUS pins (based on the pinout diagrams for various Cores) to several different hardware UART pins on my ESP32-S3.
I have verified with a multimeter that the pins have voltage, but no data seems to be transmitted.
My Questions:
can gps data be obtained without a Core Module?
Is there any other initialization step, required pin state, or consideration needed to enable the GPS UART output when not using an M5Stack Core host?
I have tried many combinations and reviewed the schematic and documentation, but I am now stuck. Any detailed help would be greatly appreciated.
many thanks
Alex -
Hello @alexcap
according to the schematic, your SW2 setting and the code example I would say that you should be able to receive GNSS data on GPIO16 with baud rate 38400.
Note: I don't have the M5GNSS module to test myself, so my conclusion could be incorrect. I also do not know if the uBlox GNSS module needs to be activated via software commands in any way.
Thanks
Felix -
@alexcap Did you take it outside and wait 12 minutes?
-
@felmue
Thanks for confirming it. It's a puzzle.@teastain
Yes I have, including with use of the antenna.
The things is, the esp board was unable to get any communication data from the gps, despite trying different baud rates. It is as if the board is not recognising that there is a module trying to communicate with it.Any other ideas guys, anyone able to make suggestions, please.
Thanks for all the input.
-
@alexcap
For me, just providing the correct power supply, you can get NMEA messages over the serial port (even without the antenna plugged in). The only things you need to make sure are the pinouts are correct and the module is getting the correct power supply. -
@kuriko
How are you powering yours?
Mine is receiving power from the esp board via the 3.3v pin. Though I believe the 5v pin could also be used?!What is the HPWR pin for? External power supply?
-
@alexcap
I just stacked it normally, it should be 3.3v refering to schematic. The HPWR pins is for the high voltage modules to transfering current like Module PwrCAN or PPS etc.