GPS unit with M5Stack Fire not working.

  • I have just received M5Stack Fire and GPS Unit and have successfully run a number of code examples. However, I have not been able to receive GPS NMEA sentences. The GPS examples load and run ok but they are not receiving and serial data.
    Is there some conflict issue with PortC UART pins 16 and 17 when using the Fire?

  • I found this on GitHub m5-docs Fire

    The GPIO 16 / 17 in Fire is connected to the PSRAM by default, so when you connect or stack other function modules, you need to avoid conflicts with these two pins to prevent the device from working properly and causing instability."

    @m5stack - If this is the cause of my issue, it probably should have been highlighted at the time of purchase. Is there any documented work-around to solve this?

  • @gjgsmithvr

    the PortC actually could use GPS Unit . but need disable the PSRAM. and it working maybe instability.

    not receiving data , maybe just the signal not good. you should try again at outside

    also , you could use another port . (like Prot A or Port B) .

    then you need change the example code. GPSRaw.begin(9600); =>GPSRaw.begin(9600, SERIAL_8N1, 21, 22)

  • @m5stack - thanks for your reply.

    I thought the GPS needed to be connected to a 'hardware' serial port (eg. pins 1 and 3?) but I will try your suggestion.

    How is PSRAM disabled?

    I am experienced with GPS and Arduino and have tried the m5-Fire/GPS outdoors but still no serial.

  • @gjgsmithvr

    in the board manager select the M5Core. then compile the code. will be disable the PSRAM

    if you connect the Unit to the PortA . the pins was 21 22.

  • @m5stack

    GPSRaw example only works with these settings:

    M5Stack-core-ESP32 or generic ESP32 board selected. The GPS_Unit does not work with M5Stack-FIRE board selected.
    Only works on PortC with this line included -
    GPSRaw.begin(9600, SERIAL_8N1, 16, 17);

    Other Ports and pin numbers do not work.

  • Currently, I have not been able to get -TinyGPS++ - examples working. The FIRE has a serial connection and is reading the GPS sentences but is not printing data because the 'valid data' test = FALSE.

    I have successfully run the -TinyGPS++ - examples on Arduino UNO and DUE no problem. Can any one help with my issue?

  • Hi the solution is Turning of the PSRAM in tools in the arduino IDE.
    Also you need to go outside for signal.
    If you have "no gps connection" try to switch the tx and rx pin in the ss.begin()