No data on Grove C/UART2 ...



  • Hi,

    For days now i've tried to get serial data via UART2/Grove Port-C, without any success.
    I have a M5 Fire, and the external data source is an Ublox NEO M8N, sending its data with 9600Baud, 8N1.
    PSRAM is disabled in the Arduino-IDE (since yesterday V.1.8.10).
    For checking the data coming from the Ublox i've connected the Grove plug (coming from the Ublox) with my PC and and an Arduino. Both works fine. They get lot of NMEA data. Even when the receiver gets no valid satellite data it sends NMEA data. Only the M5 gets not a Bit.
    Neither Serial2.begin()/Serial2.read() nor GPSRaw(2)/GPSRaw.begin()/GPSRaw.read() leads to success.
    Is there a way to check the properly working of uart2?
    Ideas and advices are very apprecited.

    Thanks.



  • I've got some insights and found a solution now.

    1. You can't use Grove Port C for serial communication. You can't use Port C for anything. Since the PSRAM is soldered to the board it's not pssible to disable it. The PSRAM uses the same pins as Port C (16, 17). My conclusion is: forget Port C (don't no why it is not connected to other -usable- pins at the M5Stack Fire PSRAM model).

    2. Grove Port C is not the only port usable for serial communication (exept the USB port). You can e.g. use Port B. Therefore you have to allocate the pins of Port B (26, 36). This short example works with an external GPS reveiver connected to Grove Port B:


    #include <M5Stack.h>

    #define GPIO_PIN26 26
    #define GPIO_PIN36 36

    HardwareSerial GPSRaw(2);

    void setup()
    {
    M5.begin();
    GPSRaw.begin(9600, SERIAL_8N1,GPIO_PIN36,GPIO_PIN26);
    Serial.println("Started ...");
    }

    void loop()
    {
    if(GPSRaw.available())
    Serial.write(GPSRaw.read());
    }


  • M5Stack

    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.



  • Thanks for the advice. Honestly, 21 days earlier it would have been appreciated and it doesn't contain any additional information after my post.

    My solution works fine and maybe it helps other struggling people in this mainly undocumented eco system.

    The remaining question is why connects M5Stack the Grove Port C in the Fire in a way that makes it totally useless?

    And why is the Grove Port C documented here even it serves only decoration purposes instead:
    https://docs.m5stack.com/#/en/core/fire ?


  • M5Stack

    Hi @buhhe sorry for your disappointment we are actively trying to improve the documentation and apologize that they were lacking the information you required. If you require more info regarding using the ublox modules with M5Stack one of our users rick macdonald of rocketmanrc has worked extensively with them and probably could share some valuable advice, and he's always happy to share https://www.rocketmanrc.com/contact.html he made this open pps system with m5stack and ublox https://www.rocketmanrc.com/openpps.html