[SOLVED] M5GO BOTTOM2 (For CORE2 only) - LEDBar not working on Core2
-
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 -
@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 -
-
-
@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 ->
-
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); }