🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    [SOLVED] M5GO BOTTOM2 (For CORE2 only) - LEDBar not working on Core2

    Modules
    3
    6
    5.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cpersoz
      last edited by cpersoz

      Hi there,

      Im quite new on M5Stack world, but it's still Arduino Framework so it's quite easy to program and get it work correctly. I recently bought an M5GO BOTTOM2 (For CORE2 only) - which remove the internal capacity and just add a bit (around 200mAh) over the original battery, and add few more stuff like micro, LEDBar, etc.

      I tried to get the LEDBar working with Adafruit_Neopixel lib, or FastLed without any success.

      Does anybody got the LedBar of this module runs with a Core2? It seems that the LedBar signal is plugged onto the same pin than I2S which is use by Speaker.

      If someone of the M5 team or a user have some hints to share about it, do not hesitate. Thanks a lot!
      Christophe

      teastainT 1 Reply Last reply Reply Quote 0
      • teastainT
        teastain @cpersoz
        last edited by teastain

        @cpersoz The nomenclature of the Demo program is a little vague, but I checked both schematics of the Core2 and the Bottom2 and 25 is the RGB and 34 is the I2S!
        #define PIN_CLK 0 // I2S
        #define PIN_DATA 34

        #define NUM_LEDS 10 //LED
        #define DATA_PIN 25

        (https://imgur.com/NQTNXQj)

        Cheers, Terry!

        100% M5Stack addict with several drawers full of product!

        1 Reply Last reply Reply Quote 1
        • felmueF
          felmue
          last edited by

          Hello @cpersoz

          this M5GO2 Bottom2 example works for me.

          Thanks
          Felix

          GPIO translation table M5Stack / M5Core2
          Information about various M5Stack products.
          Code examples

          1 Reply Last reply Reply Quote 0
          • C
            cpersoz
            last edited by

            Hello there,

            Thanks for your answers @teastain and @felmue, I'm going to try that and see how is going.

            Many thanks,
            Christophe

            1 Reply Last reply Reply Quote 0
            • C
              cpersoz
              last edited by cpersoz

              @felmue, I tried the example you send me and it makes the Core2 crash continuously. It's seems related to I2S or maybe something with FreeRTOS task. Good point the LED Bar is indeed working. On my sketch, even if I change the DATA PIN for the lens to the correct one (25), lens remains blacks.

              Question is, can we have Speaker on I2S and LED Bar working at the same time...

              09:24:14.438 -> Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 
              09:24:14.438 -> 
              09:24:14.438 -> Core  0 register dump:
              09:24:14.438 -> PC      : 0x40085ba0  PS      : 0x00060335  A0      : 0x800dbffe  A1      : 0x3ffb53f0  
              09:24:14.438 -> A2      : 0x0020d577  A3      : 0x00000000  A4      : 0x3ffbdd68  A5      : 0x00000020  
              09:24:14.476 -> A6      : 0x007bef98  A7      : 0x003fffff  A8      : 0x80085bf2  A9      : 0x3ffb53d0  
              09:24:14.476 -> A10     : 0x0020d577  A11     : 0x00000000  A12     : 0x3ffc24e0  A13     : 0x00060323  
              09:24:14.476 -> A14     : 0x00060322  A15     : 0x00000001  SAR     : 0x0000000a  EXCCAUSE: 0x00000005  
              09:24:14.476 -> EXCVADDR: 0x00000000  LBEG    : 0x40085bc5  LEND    : 0x40085bcd  LCOUNT  : 0x00000027  
              09:24:14.510 -> 
              09:24:14.510 -> 
              09:24:14.510 -> Backtrace:0x40085b9d:0x3ffb53f00x400dbffb:0x3ffb5410 0x400db6c6:0x3ffb5430 0x400d1dfc:0x3ffb5470 0x400d1f41:0x3ffb5490 
              09:24:14.510 -> 
              09:24:14.510 -> 
              09:24:14.510 -> Core  1 register dump:
              09:24:14.510 -> PC      : 0x40109efa  PS      : 0x00060a35  A0      : 0x800e8939  A1      : 0x3ffbd7c0  
              09:24:14.510 -> A2      : 0x00000000  A3      : 0x00060023  A4      : 0x00060023  A5      : 0x80000000  
              09:24:14.510 -> A6      : 0x007bef98  A7      : 0x003fffff  A8      : 0x3ffc24fc  A9      : 0x00000001  
              09:24:14.546 -> A10     : 0x00000001  A11     : 0x3ffbd4a0  A12     : 0x00000020  A13     : 0x80000000  
              09:24:14.546 -> A14     : 0x00000000  A15     : 0x00000000  SAR     : 0x00000000  EXCCAUSE: 0x00000005  
              09:24:14.546 -> EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
              09:24:14.546 -> 
              09:24:14.546 -> 
              09:24:14.546 -> Backtrace:0x40109ef7:0x3ffbd7c00x400e8936:0x3ffbd7e0 0x4008c550:0x3ffbd800 
              09:24:14.546 -> 
              09:24:14.546 -> 
              09:24:14.546 -> 
              09:24:14.546 -> 
              09:24:14.546 -> ELF file SHA256: 0000000000000000
              09:24:14.546 -> 
              09:24:14.546 -> Rebooting...
              09:24:14.580 -> ets Jul 29 2019 12:21:46
              09:24:14.580 -> 
              09:24:14.580 -> rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
              09:24:14.580 -> configsip: 0, SPIWP:0xee
              09:24:14.580 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
              09:24:14.580 -> mode:DIO, clock div:1
              09:24:14.580 -> load:0x3fff0030,len:1184
              09:24:14.580 -> load:0x40078000,len:13160
              09:24:14.580 -> load:0x40080400,len:3036
              09:24:14.580 -> entry 0x400805e4
              09:24:15.281 -> M5Core2 initializing...axp: vbus limit off
              09:24:15.281 -> axp: gpio1 init
              09:24:15.281 -> axp: gpio2 init
              09:24:15.281 -> axp: rtc battery charging enabled
              09:24:15.281 -> axp: esp32 power voltage was set to 3.35v
              09:24:15.315 -> axp: lcd backlight voltage was set to 2.80v
              09:24:15.315 -> axp: lcd logic and sdcard voltage preset to 3.3v
              09:24:15.315 -> axp: vibrator voltage preset to 2v
              09:24:15.806 -> touch: FT6336 ready (fw id 0x10 rel 1, lib 0x300E)
              09:24:16.428 -> E (1662) I2S: i2s_driver_uninstall(2006): I2S port 0 has not installed
              

              I'm looking for why it is not working correctly... I tried the simple following code, and even with only that, Core2 crash on each loop.

              #include <M5Core2.h>
              #include <FastLED.h>
              
              #define LEDBAR_PXL 10
              #define LEDBAR_PIN 25
              
              CRGB ledBar[LEDBAR_PXL];
              
              void setup() {
                // put your setup code here, to run once:
                M5.begin();
                FastLED.addLeds<NEOPIXEL, LEDBAR_PIN>(ledBar, LEDBAR_PXL); // GRB ordering is assumed  
              }
              
              void loop() {
                // put your main code here, to run repeatedly:
                FastLED.showColor(CRGB::Red);
                delay(1000);
              
                FastLED.showColor(CRGB::Black);
                delay(500);
              }
              

              So there is something wrong, either on FastLED lib, or on Core2 that makes somehow the LEDBar unusable.

              Here the crash debut in serial,

              11:28:29.400 -> Rebooting...
              11:28:29.400 -> ets Jul 29 2019 12:21:46
              11:28:29.400 -> 
              11:28:29.400 -> rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
              11:28:29.400 -> configsip: 0, SPIWP:0xee
              11:28:29.400 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
              11:28:29.400 -> mode:DIO, clock div:1
              11:28:29.400 -> load:0x3fff0030,len:1184
              11:28:29.400 -> load:0x40078000,len:13160
              11:28:29.400 -> load:0x40080400,len:3036
              11:28:29.400 -> entry 0x400805e4
              11:28:30.110 -> M5Core2 initializing...axp: vbus limit off
              11:28:30.110 -> axp: gpio1 init
              11:28:30.110 -> axp: gpio2 init
              11:28:30.110 -> axp: rtc battery charging enabled
              11:28:30.110 -> axp: esp32 power voltage was set to 3.35v
              11:28:30.110 -> axp: lcd backlight voltage was set to 2.80v
              11:28:30.110 -> axp: lcd logic and sdcard voltage preset to 3.3v
              11:28:30.110 -> axp: vibrator voltage preset to 2v
              11:28:30.632 -> touch: FT6336 ready (fw id 0x10 rel 1, lib 0x300E)
              11:28:31.243 -> E (1663) I2S: i2s_driver_uninstall(2006): I2S port 0 has not installed
              11:28:31.243 -> OK
              11:28:31.525 -> Guru Meditation Error: Core  1 panic'ed (Interrupt wdt timeout on CPU1). 
              11:28:31.560 -> 
              11:28:31.560 -> Core  1 register dump:
              11:28:31.560 -> PC      : 0x400d7f6a  PS      : 0x00060835  A0      : 0x800d1a49  A1      : 0x3ffb27b0  
              11:28:31.560 -> A2      : 0x3ffc1bd0  A3      : 0x3ffb27fd  A4      : 0x000000ff  A5      : 0x000009c4  
              11:28:31.560 -> A6      : 0x3ffc1bc4  A7      : 0x400d1d84  A8      : 0x800d7f6d  A9      : 0x3ffb2790  
              11:28:31.560 -> A10     : 0x000008f7  A11     : 0xffffffff  A12     : 0x3ffc1bc0  A13     : 0x3ffb27cd  
              11:28:31.560 -> A14     : 0x3ffb2a30  A15     : 0x00000000  SAR     : 0x0000000a  EXCCAUSE: 0x00000006  
              11:28:31.593 -> EXCVADDR: 0x00000000  LBEG    : 0x40085bc5  LEND    : 0x40085bcd  LCOUNT  : 0x00000027  
              11:28:31.593 -> 
              11:28:31.593 -> 
              11:28:31.593 -> Backtrace:0x400d7f67:0x3ffb27b00x400d1a46:0x3ffb27f0 0x400da5f5:0x3ffb2820 
              11:28:31.593 -> 
              11:28:31.593 -> 
              11:28:31.593 -> Core  0 register dump:
              11:28:31.593 -> PC      : 0x40104dae  PS      : 0x00060535  A0      : 0x800e4f91  A1      : 0x3ffbd240  
              11:28:31.593 -> A2      : 0x00000000  A3      : 0x4008717c  A4      : 0x00060520  A5      : 0x3ffbc750  
              11:28:31.627 -> A6      : 0x007bef88  A7      : 0x003fffff  A8      : 0x800e4b92  A9      : 0x3ffbd210  
              11:28:31.627 -> A10     : 0x00000000  A11     : 0x3ffbef84  A12     : 0x3ffbef84  A13     : 0x00000000  
              11:28:31.627 -> A14     : 0x00060520  A15     : 0x00000000  SAR     : 0x0000001a  EXCCAUSE: 0x00000006  
              11:28:31.627 -> EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
              11:28:31.661 -> 
              11:28:31.661 -> 
              11:28:31.661 -> Backtrace:0x40104dab:0x3ffbd2400x400e4f8e:0x3ffbd260 0x4008c550:0x3ffbd280 
              11:28:31.661 -> 
              11:28:31.661 -> 
              11:28:31.661 -> 
              11:28:31.661 -> 
              11:28:31.661 -> ELF file SHA256: 0000000000000000
              11:28:31.661 -> 
              
              C 1 Reply Last reply Reply Quote 0
              • C
                cpersoz @cpersoz
                last edited by

                It seems that FastLED.h lack of some developper to get it working properly on ESP32 now.
                I jumped to AdaFruit NeoPixel lib and run this sketch successfully using your PIN values.

                #include <M5Core2.h>
                #include <Adafruit_NeoPixel.h>
                
                #define LEDBAR_PXL 10
                #define LEDBAR_PIN 25
                
                Adafruit_NeoPixel ledBar(LEDBAR_PXL, LEDBAR_PIN, NEO_GRB + NEO_KHZ800);
                
                void setup() {
                  M5.begin();
                  // put your setup code here, to run once:
                  ledBar.begin();
                  ledBar.show();
                }
                
                void loop() {
                  // put your main code here, to run repeatedly:
                  ledBar.fill(0xFF0000);
                  ledBar.show();
                  delay(750);
                
                  ledBar.fill(0x000000);
                  ledBar.show();
                  delay(500);
                }
                
                1 Reply Last reply Reply Quote 1
                • First post
                  Last post