Trouble with SK6812 LED Strip and M5Stack CoreS3 using PORT A



  • I recently purchased the M5Stack CoreS3 and am trying to light up the SK6812 LED strip that I bought from the official M5Stack store.

    I've connected the LED strip to the CoreS3's PORT A. Based on the CoreS3's PIN MAP, PORT A is labeled as 26/36. With this in mind, I tried using the official sample program, setting the Neopixel_PIN to 26, but the LED strip doesn't light up. I've also tried setting it to 36 with the same result.

    One thing I noticed is that the 144pcs/m version of the product seems to have slightly different terminals when compared to mine.

    Could anyone shed some light on why this might be happening? What should I check or try to get the LED strip to light up?



  • Hello @iketaki

    Is it possible you might have looked up the incorrect PIN MAP? For M5CoreS3 see here.

    M5CoreS3 - PortA for instance uses GPIO2 / GPIO1.

    Thanks
    Felix



  • Hello Felix,

    Thank you for your response. I apologize for any confusion. I tried using GPIO2 and GPIO1 for the Neopixel_PIN, but the LED strip still doesn't light up. I just misunderstood what I was posting about PINs.
    Are there any possible problems or trial points?

    Thanks for your assistance,
    Iketaki



  • Hello @iketaki

    did you check if there actually is 5 V present on PortA with a multimeter?

    Thanks
    Felix



  • Thanks @felmue ,

    I managed to light up the LED once. The issue seemed to be with the power supply, as you suggested. Thank you.

    Here's what I did:

    1. I didn’t have a multimeter, so I couldn’t directly check the 5V.
    2. I rechecked the CoreS3 documentation and found details on its power management: https://docs.m5stack.com/en/core/CoreS3
    3. Connected CoreS3 to my PC, re-burned UserDemo using M5Burner, and confirmed power output from the PORT.
    4. I re-burned my program and the LED lit up.

    Additionally:

    • Unplugging the USB cable while the LED was on turned it off. Reconnecting didn't light it up again.
    • Disconnecting and reconnecting the LED cable while powered lit it up. However, after unplugging the LED cable, rebooting the M5Stack, and then reconnecting the LED cable, the LED didn't light up.

    I think I need more code related to power management.



  • Hello @iketaki

    here is what I found: The 5 V / BUS_OUT / Groove port is not powered properly. (It might be if you run UIFlow firmware before your own code, but fails after unplugging / reconnecting USB - like you've noticed as well.)

    Anyhow, I've created a pull-request which adds some power helper functions.

    Copying my modifications to your local copy of the M5CoreS3 library and adding set_BOOST_BUS_OUT_EN(true) into your setup() should fix the issue.

    Thanks
    Felix



  • Hello @felmue

    Your PR worked in my environment.

    I have added code as follows.

    M5.begin();
    M5.Axp.set_BOOST_BUS_OUT_EN(true);
    

    Thank you!



  • Hello @iketaki

    you are welcome - I am glad to hear it worked for you. And thank you for letting me know.

    Thanks
    Felix