M5Fire and UART

  • Hi,
    I got an M5Fire and a QR-Code Scanner with the Atom Lite. I want to send the results of the QR scanner to the M5Fire via UART, and I connect them with a Grove cable via Port C on the M5Fire (which I bought last week).

    I can make it work, BUT

    1. it only works when I download it via UIFLOW, I can not test it live from UIFlow, because then it runs into an error
    2. The setup to make it work is different from what I would expect (Tx and Rx have to be switched).

    You can see the screenshot attached, which makes it work:
    0_1691766799945_BildschirmĀ­foto 2023-08-11 um 17.12.07.png

    If I run it "live", I get the following error though:
    Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.

    Which I saw being attributed to the pins being used otherwise.

    Can anyone help me shed some light on that?

    Thank you so much

  • Hello @gerber2

    GPIO16 and GPIO17 cannot be used on M5Stack Fire. They are internally used for PSRAM.

    See notice from here.

    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 improperly and causing instability.


  • Hmm, so that means I can not use any of Grove connectors for this? I tried with the other hint provided about alternatives, but don't get it to work... Sounds like I need to sent back the Fire and get another M5Stack Core version?

  • @felmue
    Sorry, but why did the engineers make GROVE C if in this situation it is absolutely not usable and useless?
    I wanted to use this connector in my project and encountered the same problem. Okay, I tried to use UART on pins G3 and G1 and it was also not usable (as I understand, these pins are connected to the usb programmer).
    Yes, I admit my guilt that I did not fully read the description, but.... one way or another it is funny and sad.
    And this was my first experience with M5Stack, obviously unsuccessful lol

  • The M5Fire uses the Go Base which was designed for the First generation Cores. I don't know why they still sell it with the Gobs when it known to not work.
    In theory you should be able to choose between UART or PSram

  • Hello @AroWhite

    the first M5Stack device, M5Stack Basic, came w/o PSRAM, so using GPIO16 and GPIO17 for UART was an ok, albeit unlucky, choice.

    Note: most functions (I2C, UART, etc.) can be assigned to almost any GPIOs. Unfortunately PSRAM is an exception and requires GPIO16 and GPIO17 to be used.

    BTW: I think you should be able to use Groove port B as UART (GPIO36 and GPIO26).