Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for esp32-c3 #1940

Closed
danielclasen opened this issue May 3, 2021 · 56 comments
Closed

Support for esp32-c3 #1940

danielclasen opened this issue May 3, 2021 · 56 comments
Labels
board request PR adding support for a specific board. enhancement

Comments

@danielclasen
Copy link

Is your feature request related to a problem? Please describe.
Currently flashing the binary onto a board featuring the esp32-c3 like the ESP32-C3-DevKitM-1 does not work. The serial console just spams Invalid Header and the board is constantly rebooting.

Describe the solution you'd like
Would it be possible to add support for this kind of board/mcu? Apparently there is an early stage of the arduino-espressif framework that might already be usable in platformio as it is being discussed here: platformio/platform-espressif32#497

Describe alternatives you've considered
-/-

Additional context
I am sadly quite unfamiliar with that kind of hardware development but if I can help with anything or test something on one of my boards, don't hesitate to ask! I also have a few spare ones, so If you'd really like to dig down that issue I can send you one of those ESP32-C3-DevKitM-1 for debugging/testing/development purposes.

Thank you for your hard work and effort to make WLED even better! :)

@Aircoookie
Copy link
Owner

Hi!
I can confirm that ESP32-C3 is not currently supported. We'll need to get decent Arduino Core support for it first, which usually takes a while. We are currently looking to get ESP32-S2 supported, and that has been out since 2019 :)
Definitely will support the C3 though once the core becomes stable/usable.

@danielclasen
Copy link
Author

Hey @Aircoookie

thx for letting me know :) Give me a heads up once the arduino core lib is ready and you start integrating it. I would really like to contribute, even if that means providing you and other maintainers with some test boards is all I can do :D

Cheers,
Daniel

@frederictobiasc
Copy link

frederictobiasc commented Jun 25, 2021

Hi @Aircoookie,
the issue @danielclasen linked (platformio/platform-espressif32#497) was closed just a few days ago. Does this mean, supporting esp32-c3 could move forward?

@tony-fav
Copy link

Definitely tracking this issue now myself, starting to use more C3s in projects personally than 8266s.

@oldcrazyeye
Copy link

I'm ready for the c3 to be supported as well. Especially with the ability to directly replace certain form factor esp8266 devices

@wantmoore
Copy link

Also following along. The 12F form factor compatibility makes this such an attractive chip for various projects.

@hutje
Copy link

hutje commented Dec 26, 2021

Support for Esp32-C3 would be really useful.

@misery
Copy link
Contributor

misery commented Dec 28, 2021

Maybe someone wants to try it: #2454

pio run -e esp32c3
I can link a binary now. But I don't have a C3 yet.

You should expect problems as it grabs a lot of "current development" branches.

@Linjieqiang
Copy link

Any news? @misery

@oldcrazyeye
Copy link

I'm wondering the same! Have a bunch of c3's collecting dust over here

@misery
Copy link
Contributor

misery commented Mar 10, 2022

Well, it was merged into master branch. So you can start using it. :-)

@peturdainn
Copy link

peturdainn commented Apr 3, 2022

I just tried WLED on an ESP32c3 (build from master branch), and I have 2 issues:

  1. the board I use (https://www.banggood.com/ESP32-C3-Development-Board-RISC-V-WiFi-Bluetooth-IoT-Development-Board-Compatible-with-Python-p-1914005.html) has 25 LEDs on GPIO 8, which I can use with the neopixel lib in Arduino, but WLED does not allow GPIO8.
    I changed the code that prevents using GPIO8, so config accepts 8 as LED GPIO but the LEDs do not work.

  2. As soon as I enter wifi settings, WLED seems to reboot at a regular interval (I see the AP come up and go away again), I do not see it in the client list of my AP.

Are any of these 2 known issues? Can I help?

EDIT: adding board schematic: https://raw.githubusercontent.com/01Space/ESP32-C3FH4-RGB/main/Schematic/ESP32-C3FH4-RGB%20Schematic.pdf

@misery
Copy link
Contributor

misery commented Apr 5, 2022

2. As soon as I enter wifi settings, WLED seems to reboot at a regular interval (I see the AP come up and go away again), I do not see it in the client list of my AP.

Seems like this: #2518

@Jugrnot
Copy link

Jugrnot commented Apr 7, 2022

Well, it was merged into master branch. So you can start using it. :-)

Any tips on how I can get wled to actually flash and boot on an esp32c3 based board? I bought a boat load of boards for a ton of wled projects, only to discover that apparently wled just flat out doesn't work on these??? Based off the wiki, I ordered some of these from electrodragon, and I'm something like 7 hours into failing at successfully flashing even one of them. Absolutely every single thing I do, up to and including downloading the source and compiling specifically the esp32c3 bin, on boot the serial output is just "invalid header."

All flashing has been attempted with espeasy and esphome flasher. I've also attempted flashing every bootloader under the sun I can find for an esp32c3 and only results in the exact same thing.

Specifically I've tried flashing a bootloader aircookie suggested in another github thread I ran across, and I'd link that here, but I've been to a hundred different github repos today trying to find an answer for this and can't readily find it.. Appreciate any insight anyone could give on this!

@blazoncek
Copy link
Collaborator

Try using official Espressif flashing tool ‘esptool‘.

@Jugrnot
Copy link

Jugrnot commented Apr 8, 2022

esptool

Biscuits.. Neglected to mention, I've tried esptool as well by flashing various bootloaders to 0x0 and the wled bins to 0x10000. Have also used esptool to erase the flash and start over as well.

esptool.py write_flash 0x0 "esp_bootloader_v4.bin" completes in ~2 seconds
esptool.py write_flash 0x10000 "wled_013.1_esp32.bin" completes in ~60 seconds

Enable a serial monitor, reboot esp and just dumps the invalid header.

Just gave the expressif 'esptool' a shot, flashing the bootloader to 0x0, rebooting into flash then the wled bin to 0x10000 with the same result. Initial serial connection gives a bunch of garbage ascii characters, then floods with invalid header again.

@peturdainn
Copy link

@Jugrnot there is no official binary yet, so the one you used, if downloaded from here, isn't for the c3. The c3 has another processor core than the other ESP32 family so other instruction set.
Only master branch has support so you have to build yourself.
And I think there are some rough edges still with regard to c3 support so give it some time & relax.

@Aircoookie
Copy link
Owner

Just to clarify - WLED in NOT stable yet on ESP32-C3 and ESP32-S2. Both of these compile and partially work, but are practically not fun to use due to #2518 , which is also why I don't offer release binaries for them.

@PW999
Copy link

PW999 commented Jul 3, 2022

esptool

Biscuits.. Neglected to mention, I've tried esptool as well by flashing various bootloaders to 0x0 and the wled bins to 0x10000. Have also used esptool to erase the flash and start over as well.

esptool.py write_flash 0x0 "esp_bootloader_v4.bin" completes in ~2 seconds
esptool.py write_flash 0x10000 "wled_013.1_esp32.bin" completes in ~60 seconds

Enable a serial monitor, reboot esp and just dumps the invalid header.

Just gave the expressif 'esptool' a shot, flashing the bootloader to 0x0, rebooting into flash then the wled bin to 0x10000 with the same result. Initial serial connection gives a bunch of garbage ascii characters, then floods with invalid header again.

You need another bootloader for the ESP32-C3, you can grab them here: https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/esp32c3/bin

With the help of this comment I managed to get a version that at least boots :)
#2596 (comment)

//edit: tbh, I first tried flashing a sample on the board that would let the onboard RGB led change colour, then I ripped the command line used by Arduino and replaced the binary with the one I compiled using PIO. Arduino provides a working bootloader and I guess also a partition scheme.

@Jugrnot
Copy link

Jugrnot commented Jul 21, 2022

Well I finally got around to giving this another go with your suggestions, but quite honestly my level of knowledge with programming just isn't up to snuff with this stuff and frankly I don't have the time to mess with this anymore. Bought these because they were (I thought) on the wiki list of compatible devices, not realizing that it was the esp8266 versions specified and not the esp32. Think these will end up on ebay or something and I'll just stick with what I know and what works.

Thanks anyway!

@PW999
Copy link

PW999 commented Aug 14, 2022

I managed to get WLED working on the ESP32-C3, it came down to the changes from @depau which never got merged into ESPAsyncWebserver: https://github.com/Depau/ESPAsyncWebServer/tree/wi-se-patches (link to the original issue: me-no-dev/ESPAsyncWebServer#951)

For testing purposes I updated ESPAsyncWebserver to https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.5 and then patched the code locally. I still need to cleanup my config, but it's currently this

[env:esp32c3]
board = esp32-c3-devkitm-1
;platform = espressif32@5.1.0
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip
platform_packages =

;platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git
framework = arduino
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
upload_speed = 115200
build_unflags = ${common.build_unflags}
lib_deps = ${esp32c3.lib_deps}
build_flags = -g
  -DARDUINO_ARCH_ESP32
  -DARDUINO_ARCH_ESP32C3
  -DCONFIG_IDF_TARGET_ESP32C3
  -D CONFIG_ASYNC_TCP_USE_WDT=0
  -DCO
  ;-DWLED_DEBUG_FS
; ; ******** non-standard build flags defined below
  ;${common.debug_flags}
  ;-DDEBUG_ESP_CORE
   ;-D WLED_USE_MY_CONFIG
   ;-D USE_APA102
   ;-D CLKPIN=6
   -D DATAPIN=5
   -D SERVERNAME="\"WLED\""
   -D DEFAULT_LED_COUNT=30
   -D ABL_MILLIAMPS_DEFAULT=2500

//edit: I'm getting some random reboots when doing a lot of REST calls, but that might also be a power issue (tough my power supply is already running at 5,3V). The wifi range is also pretty limited, after 1m my phone drops the connection. But those are issues for tomorrow.

@PW999
Copy link

PW999 commented Aug 15, 2022

It still crashes from time to time, but there is no specific action that triggers this, it's just a matter of randomly hitting stuff in the UI. Log output is from a build with ${common.debug_flags} -DDEBUG_ESP_CORE

Terminal log file
Date: 15/08/2022 - 09:06:05
-----------------------------------------------
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DOUT, clock div:2
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6ac
load:0x403d0000,len:0x24e4
SHA-256 comparison failed:
Calculated: aef91b0b298f42b97535c16d8c14ff07892a660497e887393451589b96b8edda
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403ce000

---WLED 0.13.2-a0 2203191 INIT---
esp32 v4.4-3-g6afb23d90a
heap 249100
Watchdog enabled: OK
PIN ALLOC: Pin 1 allocated by 0x89 (137)
Registering usermods ...
Reading config
Reading settings from /wsec.json...
JSON buffer released. (3)
Reading settings from /cfg.json...
Removing all.
PIN ALLOC: Pin 5 allocated by 0x82 (130)
Successfully inited strip 0 (len 68) with type 22 and pins 5,255 (itype 17)PIN ALLOC: Pin 0 allocated by 0x85 (133)
Starting usermod config.
JSON buffer released. (1)
Initializing strip
Usermods setup
No connection configured. Opening access point WLED-AP
Init AP interfaces
Connected AP clients: 1
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
FileRead: /index.htm
Not-Found HTTP call:
URI: /gen_204
FileRead: /gen_204
JSON buffer size: 1729
JSON buffer released. (17)
Not-Found HTTP call:
URI: /presets.json
FileRead: /presets.json
JSON buffer released. (12)
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
FileRead: /index.htm
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
Not-Found HTTP call:
URI: /skin.css
FileRead: /skin.css
JSON buffer size: 3972
JSON buffer released. (17)
Not-Found HTTP call:
URI: /presets.json
FileRead: /presets.json
JSON buffer released. (12)
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
---DEBUG INFO---
Runtime: 30000
Unix time: 30,000Free heap: 181892
Wifi state: 6
State time: 30001
NTP last sync: 999000000
Client IP: 192.168.0.34
Loops/sec: 1814
Max UM time[ms]: 1
JSON buffer released. (11)
JSON buffer released. (12)
Local time: 07:06JSON buffer released. (11)
JSON buffer released. (12)
JSON buffer released. (11)
JSON buffer released. (12)
Not-Found HTTP call:
URI: /generate_204
FileRead: /generate_204
Not-Found HTTP call:
URI: /gen_204
FileRead: /gen_204
JSON buffer released. (11)
JSON buffer released. (12)
JSON buffer released. (11)
JSON buffer released. (12)
JSON buffer released. (11)
JSON buffer released. (12)
Guru Meditation Error: Core  0 panic'ed (Store access fault). Exception was unhandled.

Core  0 register dump:
MEPC    : 0x4038aa2e  RA      : 0x4038aec4  SP      : 0x3fcaff80  GP      : 0x3fc8cc00  
TP      : 0x3fc8b8a4  T0      : 0x4038a954  T1      : 0xffffffe0  T2      : 0xffffffff  
S0/FP   : 0x3fc9bfa4  S1      : 0x3fcb3590  A0      : 0x00000000  A1      : 0x3fcb3598  
A2      : 0x00000000  A3      : 0x00000000  A4      : 0x3fcb4b50  A5      : 0x00000007  
A6      : 0xfa000000  A7      : 0x00000003  S2      : 0x00000081  S3      : 0x0000001c  
S4      : 0x3fcb3614  S5      : 0x3fcb3598  S6      : 0x00000002  S7      : 0x00000004  
S8      : 0x00000000  S9      : 0x00000000  S10     : 0x00000000  S11     : 0x00000000  
T3      : 0x0000000e  T4      : 0x00000064  T5      : 0x00000064  T6      : 0x00000064  
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000007  MTVAL   : 0x0000000c  
MHARTID : 0x00000000  

Stack memory:
3fcaff80: 0x00000002 0x3fcb3530 0x00000001 0x00000002 0x00000000 0x3fcb3598 0x3fc9bf90 0x4038aec4
3fcaffa0: 0x00000000 0x00000000 0x3fcb3598 0x40382f14 0x00000002 0x3fcb3530 0x00000001 0x3fcb3598
3fcaffc0: 0x00000000 0x00000000 0x3fcb3598 0x4038b26a 0x00000000 0x00000000 0x3fcb3598 0x4206aece
3fcaffe0: 0x00000000 0x00000000 0x3fcb3598 0x4206ba3a 0x00000002 0x3fcb3530 0x3fcb351c 0x00000001
3fcb0000: 0x00000000 0x3fcb3598 0x3fcb34c4 0x42044704 0x3fcb434c 0x3fcb34c4 0x3fcb35e6 0x00000032
3fcb0020: 0x00000002 0x00000005 0x3fc9b000 0x3fc9b324 0x00000001 0x3fcb34c4 0x3fcb4448 0x420447ce
3fcb0040: 0x00000001 0x3fcb34c4 0x3fcb4448 0x42044e72 0x00000000 0x3fcb4448 0x00000000 0x00000000
3fcb0060: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcb0080: 0x00000000 0x00000000 0x00000000 0x40388e00 0x00000000 0x00000000 0x00000000 0x00000000
3fcb00a0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xffffff02 0x000000ff 0x27146414 0x01010107
3fcb00c0: 0x00000001 0x00000000 0x35d1cfdc 0x00000000 0x3f15c000 0x3f800000 0x3fc00000 0x4b000000
3fcb00e0: 0xcb000000 0x000000ff 0x00000000 0x8800759c 0x7e37e43c 0x7149f2ca 0x00000000 0x00000000
3fcb0100: 0xfff00000 0x00000000 0x7ff00000 0x60000000 0x3ff71547 0xf85ddf44 0x3e54ae0b 0x00000000
3fcb0120: 0x3fd00000 0x55555555 0x3fd55555 0x652b82fe 0x3ff71547 0x00000000 0x43400000 0x4a454eef
3fcb0140: 0x3fca7e28 0x93c9db65 0x3fcd864a 0xa91d4101 0x3fd17460 0x518f264d 0x3fd55555 0xdb6fabff
3fcb0160: 0x3fdb6db6 0x33333303 0x3fe33333 0xe0000000 0x3feec709 0xdc3a03fd 0x3feec709 0x145b01f5
3fcb0180: 0xbe3e2fe0 0x652b82fe 0x3c971547 0xc2f8f359 0x01a56e1f 0x00000000 0x3fe62e43 0xfefa39ef
3fcb01a0: 0x3fe62e42 0x0ca86c39 0xbe205c61 0x72bea4d0 0x3e663769 0xc5d26bf1 0x3ebbbd41 0xaf25de2c
3fcb01c0: 0x3f11566a 0x16bebd93 0x3f66c16c 0x5555553e 0x3fc55555 0xcc000000 0x4c000000 0x3f317180
3fcb01e0: 0x3717f7d1 0x3eaaaaab 0x3e178897 0x3e3a3325 0x3e924925 0x3f2aaaab 0x3e1cd04f 0x3e638e29
000 0x636f4361 0x3fd287a7 0x8b60c8b3 0x3fc68a28 0x509f79fb 0x3fd34413 0x00000000
3fcb02e0: 0x401c0000 0x00000000 0x40140000 0x00000018 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0x00000154
3fcb0300: 0x3fcafed0 0x3fc9bfa4 0x3fc97784 0x3fc97784 0x3fcb0300 0x3fc9777c 0x00000016 0x3fca76cc
3fcb0320: 0x3fca76cc 0x3fcb0300 0x00000000 0x00000003 0x3fcae2fc 0x6e797361 0x63745f63 0x06370070
3fcb0340: 0x0031fff6 0x00000000 0x3fcb02f0 0x00000003 0x00000000 0x3fcb4484 0x4205f382 0x00000002
3fcb0360: 0x3fc9c93c 0x3fc9c9a4 0x3fc9ca0c 0x00000000 0x00000000 0x00000001 0x00000000 0x00000000



ELF file SHA256: 0000000000000000

Rebooting...
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40382822
SPIWP:0xee
mode:DOUT, clock div:2
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6ac
load:0x403d0000,len:0x24e4
SHA-256 comparison failed:
Calculated: aef91b0b298f42b97535c16d8c14ff07892a660497e887393451589b96b8edda
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403ce000
000000000000

Rebooting...
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40382822
SPIWP:0xee
mode:DOUT, clock div:2
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6ac
load:0x403d0000,len:0x24e4
SHA-256 comparison failed:
Calculated: aef91b0b298f42b97535c16d8c14ff07892a660497e887393451589b96b8edda
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403ce000
0x41dfffff 0x94a03595 0x3fdfffff 0x35afe535 0x3fe00000 0x94a03595 0x3fcfffff 0x00000000
3fcb02c0: 0x3ff80
---WLED 0.13.2-a0 2203191 INIT---
esp32 v4.4-3-g6afb23d90a
heap 249100
Watchdog enabled: OK
PIN ALLOC: Pin 1 allocated by 0x89 (137)
Registering usermods ...
Reading config
Reading settings from /wsec.json...
Removing all.
PIN ALLOC: Pin 5 allocated by 0x82 (130)
Successfully inited strip 0 (len 68) with type 22 and pins 5,255 (itype 17)PIN ALLOC: Pin 0 allocated by 0x85 (133)
Starting usermod config.
JSON buffer released. (1)
Initializing strip
Usermods setup
JSON buffer rializing strip
Usermods setup
rom /cfg.json...
No connection configured. Opening access point WLED-AP
Init AP interfaces

-----------------------------------------------
Date: 15/08/2022 - 09:07:11
End log file

//update below
I finally managed to get my stacktraces decoded thanks to this issue: bblanchon/ArduinoJson#1210 and this bblanchon/ArduinoJson#1314 .
This is my configuration right now

[env:esp32c3]
board = esp32-c3-devkitm-1
;platform = espressif32@5.1.0
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4.1/platform-espressif32-2.0.4.1.zip
platform_packages =

;platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git
build_type = debug
framework = arduino
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
upload_speed = 115200
build_unflags = ${common.build_unflags}
lib_deps = ${esp32c3.lib_deps}
  bblanchon/ArduinoJson @ ^6.19.4
build_flags = -g
  -DARDUINO_ARCH_ESP32
  -DARDUINO_ARCH_ESP32C3
  -DCONFIG_IDF_TARGET_ESP32C3 -W
  -D CONFIG_ASYNC_TCP_USE_WDT=0
  -DCO
  -O0
  -Og
  ;-DWLED_DEBUG_FS
; ; ******** non-standard build flags defined below
  ;${common.debug_flags}
  ;-DDEBUG_ESP_CORE
   ;-D WLED_USE_MY_CONFIG
   ;-D USE_APA102
   ;-D CLKPIN=6
   -D WLED_DISABLE_ALEXA
   -D WLED_DISABLE_BLYNK
   -D WLED_DISABLE_HUESYNC
   -D WLED_DISABLE_INFRARED
   -D DATAPIN=5
   -D SERVERNAME="\"WLED\""
   -D DEFAULT_LED_COUNT=30
   -D ABL_MILLIAMPS_DEFAULT=2500
monitor_filters = esp32_exception_decoder

And the stack trace I got is this

Guru Meditation Error: Core  0 panic'ed (Store access fault). Exception was unhandled.

Core  0 register dump:
MEPC    : 0x4038ae08  RA      : 0x4038b2b2  SP      : 0x3fcaf1d0  GP      : 0x3fc8d000  
=> 0x4038ae08: remove_free_block at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c:214
      (inlined by) block_remove at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c:261
      (inlined by) block_merge_next at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c:367
      (inlined by) tlsf_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c:875
=> 0x4038b2b2: multi_heap_free_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c:223
      (inlined by) multi_heap_free_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c:210
TP      : 0x3fc8b924  T0      : 0x4038ad2c  T1      : 0xffffffe0  T2      : 0xffffffff  
=> 0x4038ad2c: block_size at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf_block_functions.h:75
      (inlined by) block_next at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf_block_functions.h:147
      (inlined by) block_link_next at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf_block_functions.h:154
      (inlined by) block_mark_as_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf_block_functions.h:162
      (inlined by) tlsf_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c:873
S0/FP   : 0x3fc9b974  S1      : 0x3fcb2744  A0      : 0x00000000  A1      : 0x3fcb274c  
A2      : 0x00000000  A3      : 0x3fcb3370  A4      : 0x00000000  A5      : 0x00000006  
A6      : 0xfa000000  A7      : 0x00000003  S2      : 0x00000081  S3      : 0x00000018  
S4      : 0x3fcb27c8  S5      : 0x3fcb274c  S6      : 0x00000000  S7      : 0x00000000  
S8      : 0x00000000  S9      : 0x00000000  S10     : 0x00000000  S11     : 0x00000000  
T3      : 0x00000000  T4      : 0x00000004  T5      : 0x3fcb2708  T6      : 0x3fcb27a0  
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000007  MTVAL   : 0x00000008  
=> 0x40380001: _vector_table at ??:?
MHARTID : 0x00000000  

Stack memory:
3fcaf1d0: 0x00000000 0x00000000 0x00000001 0x00000002 0x00000000 0x3fcb274c 0x3fc9b960 0x4038b2b2
=> 0x4038b2b2: multi_heap_free_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c:223
      (inlined by) multi_heap_free_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c:210
3fcaf1f0: 0x00000000 0x00000000 0x3fcb274c 0x40382ff8 0x00000000 0x00000000 0x00000001 0x3fcb274c
=> 0x40382ff8: heap_caps_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c:341
3fcaf210: 0x00000000 0x00000000 0x3fcb274c 0x4038b668 0x00000000 0x00000000 0x3fcb274c 0x42093376
=> 0x4038b668: free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/heap.c:40
=> 0x42093376: mem_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/mem.c:265
3fcaf230: 0x00000000 0x00000000 0x3fcb274c 0x42093ee2 0x00000000 0x00000000 0x00000000 0x00000000
=> 0x42093ee2: pbuf_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/pbuf.c:789
      (inlined by) pbuf_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/pbuf.c:729
3fcaf250: 0x00000000 0x3fcb274c 0x3fcb2428 0x4206774c 0x00000000 0x00000000 0x3fcb3348 0x42067776
=> 0x4206774c: AsyncClient::_recv(tcp_pcb*, pbuf*, signed char) at .pio/libdeps/esp32c3/AsyncTCP/src/AsyncTCP.cpp:975
=> 0x42067776: AsyncClient::_s_recv(void*, tcp_pcb*, pbuf*, signed char) at .pio/libdeps/esp32c3/AsyncTCP/src/AsyncTCP.cpp:1248
3fcaf270: 0x00000000 0x00000000 0x3fcb3348 0x420678c8 0x00000000 0x00000000 0x00000000 0x42067936
=> 0x420678c8: _handle_async_event(lwip_event_packet_t*) at .pio/libdeps/esp32c3/AsyncTCP/src/AsyncTCP.cpp:166
=> 0x42067936: _async_service_task(void*) at .pio/libdeps/esp32c3/AsyncTCP/src/AsyncTCP.cpp:201
3fcaf290: 0x00000000 0x00000000 0x00000000 0x3fcb3348 0x00000000 0x00000000 0x00000000 0x4038917a
=> 0x4038917a: _prvTaskExitError at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port/riscv/port.c:165
      (inlined by) prvTaskExitError at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port/riscv/port.c:178
3fcaf2b0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5
3fcaf2d0: 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0x00000154 0x3fcaf120 0x3fc9b974 0x3fc97724 0x3fc97724
3fcaf2f0: 0x3fcaf2e0 0x3fc9771c 0x00000016 0x3fcacc48 0x3fcacc48 0x3fcaf2e0 0x00000000 0x00000003
3fcaf310: 0x3fcad2dc 0x6e797361 0x63745f63 0xb2440070 0x00da6d95 0x00000000 0x3fcaf2d0 0x00000003
3fcaf330: 0x00000000 0x3fcb2844 0x42085406 0x00000002 0x3fc9c27c 0x3fc9c2e4 0x3fc9c34c 0x00000000
=> 0x42085406: pthread_local_storage_thread_deleted_callback at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/pthread/pthread_local_storage.c:129
3fcaf350: 0x00000000 0x00000001 0x00000000 0x00000000 0x00000000 0x420eea1e 0x00000000 0x00000000
=> 0x420eea1e: _cleanup_r at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/findfp.c:229
3fcaf370: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf390: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf3b0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf3d0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf3f0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf410: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf430: 0x3f000000 0x0000006c 0x3fcaf48c 0x3fcaf48c 0x3fcaf4a4 0x3fcaf4a0 0x00000000 0x3fcaf450
3fcaf450: 0xffffffff 0x3fcaf450 0x3fcaf450 0x00000000 0x3fcaf464 0xffffffff 0x3fcaf464 0x3fcaf464
3fcaf470: 0x00000000 0x00000006 0x00000004 0x0000ffff 0x00000000 0xb33fffff 0x00000000 0x16701670
3fcaf490: 0x00000000 0x0218ffff 0x00000000 0x00000000 0x3fcaf430 0x00000050 0x00000000 0x00000000
3fcaf4b0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fcaf4d0: 0x00000000 0x00000000 0xff000400 0x3fcacbc8 0x534c0000 0x00000000 0x00000000 0x0000ff00
3fcaf4f0: 0x420a3886 0x3fcacac8 0x0000000c 0x3fcb0170 0x00000000 0x3fcaf4f4 0x00000054 0x3fcaf50c
=> 0x420a3886: recv_udp at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/api/api_msg.c:220
3fcaf510: 0x3fcaf50c 0x3fcaf50c 0x3fcaf50c 0x00000000 0x3fcaf524 0xffffffff 0x3fcaf524 0x3fcaf524
3fcaf530: 0x00000000 0x3fcaf538 0xffffffff 0x3fcaf538 0x3fcaf538 0x00000000 0x00000001 0x00000000
3fcaf550: 0x8d00ffff 0x00000000 0xb33fffff 0x00000000 0x000005b4 0x3fc9b974 0x3fc9b974 0xebf76c9c
3fcaf570: 0xdc4dd3e2 0x151747b9 0xafc2c3d8 0xaa449c68 0xcdae035f 0xa85b5a37 0x607b27a3 0x4e788dce
=> 0x4e788dce: ?? ??:0
3fcaf590: 0xd9b4222a 0xa0ba40a3 0x3e59e701 0xdcc6faa0 0xb2f44078 0x3e2eea5a 0x7ea75e88 0x4aab7248
=> 0x4aab7248: ?? ??:0
3fcaf5b0: 0x21457ba2 0x1d72f1a1 0x6237f600 0xf8034a2e 0x14a61448 0x910b26d8 0x73e8e651 0xdd4da75b

I still have no idea what I'm doing though, but I'm making progress :)

//update2: according to the Espressif docs and the fact that MTVAL is 0x00000008, the cause seems to be this:

If this address is close to zero, it usually means that application attempted to access member of a structure, but the pointer to the structure was NULL.

//update3: I have been trying to figure out why it's trying to free a NULL struct because there seems to be plenty of assertions in the code to prevent that error and I don't know enough C++ to find out what's going on. Maybe if I have some more spare time I'll see if I can get the GDB after panic mode working.

//update4 (21/08): spent another morning trying to get it to work, after erasing the flash I'm now stuck again in bootloops either with ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x0, 0x1} or stackoverflows when WLED is trying to setup it's wsec.json. So I'm going to abandon this board for now.

@blazoncek
Copy link
Collaborator

Anyone interested may try https://github.com/blazoncek/WLED/tree/esp32-s2
Please post your working PIO environment for others.

@AllExHH
Copy link

AllExHH commented Sep 29, 2022

Hey! Any news about esp32 c3?

@a-a-crabtree
Copy link

I have try it at Seeed Studio Xiao esp32c3, it's runing!

@AllExHH Can you share your PIO & bootloader setup? I've tried with the one here for the XIAO and haven't been able to get it out of the bootloop.

@domdfcoding
Copy link

I tried to get WLED to run on a Lolin C3 Mini from the latest git commit, to no joy. I changed the board option under [env:esp32c3] to "lolin_c3_mini", but can't get it to work either way. The code uploads correctly, but the AP doesn't show up and nothing's printed to the terminal. Am I doing something wrong?

Does anyone have a working binary they can share?

@blazoncek
Copy link
Collaborator

Please join Discord or WLED forum for help and support questions.

@PeterGrace
Copy link

For those having issues with esp32-c3 on main branch, as of today, 12/14/2022, I had to upgrade espressif@5.1.1 to espressif@5.2.0 in the platformio.ini. Once that was done, my device (an ESP32-C3-DevKitC-02) went from bootloop with an lfs error, to functioning appropriately.

[env:esp32c3]
platform = espressif32@5.2.0
framework = arduino
board = esp32-c3-devkitm-1
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3
  -D WLED_WATCHDOG_TIMEOUT=0
upload_speed = 460800
build_unflags = ${common.build_unflags}
lib_deps = ${esp32c3.lib_deps}

@limengdu
Copy link

Can you tell me how to configure it so that WLED can run smoothly on XIAO ESP32C3? I'm really interested in this! Thank you for your help.

@blazoncek
Copy link
Collaborator

@limengdu Please join Discord or WLED forum for help and support questions.

@ozett
Copy link

ozett commented Jan 19, 2023

would love to follow a solution here in this thread...
maybe thats possible?

@wilson3682
Copy link

wilson3682 commented Jan 20, 2023

@limengdu This is what I did and it is working so far with xiao esp32c3.

I followed
@PW999 #1940 (comment)
@PeterGrace #1940 (comment)
and @Aircoookie #1940 (comment)
recommendations and created a platformio_override.ini with the following code:
Hope it works for you.

[platformio]
default_envs = esp32c3

[env:esp32c3]
board = esp32-c3-devkitm-1
;platform = espressif32@5.1.0
platform = espressif32@5.2.0
platform_packages =
framework = arduino
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
upload_speed = 115200
build_unflags = ${common.build_unflags}
lib_deps = ${esp32c3.lib_deps}
build_flags = -g
  -DARDUINO_ARCH_ESP32
  -DARDUINO_ARCH_ESP32C3
  -DCONFIG_IDF_TARGET_ESP32C3 -W
  -D CONFIG_ASYNC_TCP_USE_WDT=0
  -DCO
  -D WLED_DISABLE_ALEXA
  -D WLED_DISABLE_BLYNK  
  -D WLED_DISABLE_INFRARED
  -D DATAPIN=9
  -D SERVERNAME="\"WLED\""
  -D DEFAULT_LED_COUNT=30

@PW999
Copy link

PW999 commented Jan 23, 2023

I tried @wilson3682 's above config on two ESP32-C3-DevkitC-02 v1.1's and both seem to be working fine. Even from a completely wiped flash this works fine.

The onboard RGB LED on GPIO8 can also be controlled from WLED.

@softhack007
Copy link
Collaborator

build_flags = -g
-DARDUINO_ARCH_ESP32

You need to include build_flags = ${common.build_flags} ${esp32c3.build_flags}, otherwise you get all sorts of crazy behaviour later, because you are missing global options.

Also I would not overwrite an existing build target, but rename your build target to something like env:my_esp32c3dev.

@lsiudut
Copy link

lsiudut commented Jan 25, 2023

I didn't want to post here after using forum was suggested, but I also don't have slightest problems with S3 for over a year atm. I do normal platformio build for the s3 platform (with few minor code modifications to allow using gpios > 33).

@softhack007
Copy link
Collaborator

I also don't have slightest problems with S3 for over a year atm

Lucky you :-) great that it works for you, as owners of other -C3/-S2/-S3 boards still experience a lot of problems.

with few minor code modifications to allow using gpios > 33

These modifications are not needed any more.

Actually the best approach - as you suggest - is to build yourself in platformio. Pre-build .bin files are not working everywhere.
btw, make sure you dont flash the standard ESP32 bootloader from the WLED release page.

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

Soo, I'm following this and so far I have this output log... any idea?

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0xf (BROWNOUT_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DOUT, clock div:1
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6ac
load:0x403d0000,len:0x24e4
entry 0x403ce000
[   333][E][vfs_api.cpp:104] open(): /littlefs/ledmap1.json does not exist, no permits for creation
[   335][E][vfs_api.cpp:104] open(): /littlefs/ledmap2.json does not exist, no permits for creation
[   341][E][vfs_api.cpp:104] open(): /littlefs/ledmap3.json does not exist, no permits for creation
[   350][E][vfs_api.cpp:104] open(): /littlefs/ledmap4.json does not exist, no permits for creation
[   359][E][vfs_api.cpp:104] open(): /littlefs/ledmap5.json does not exist, no permits for creation
[   368][E][vfs_api.cpp:104] open(): /littlefs/ledmap6.json does not exist, no permits for creation
[   376][E][vfs_api.cpp:104] open(): /littlefs/ledmap7.json does not exist, no permits for creation
[   385][E][vfs_api.cpp:104] open(): /littlefs/ledmap8.json does not exist, no permits for creation
[   394][E][vfs_api.cpp:104] open(): /littlefs/ledmap9.json does not exist, no permits for creation
[   403][E][vfs_api.cpp:104] open(): /littlefs/ledmap10.json does not exist, no permits for creation
[   412][E][vfs_api.cpp:104] open(): /littlefs/ledmap11.json does not exist, no permits for creation
[   420][E][vfs_api.cpp:104] open(): /littlefs/ledmap12.json does not exist, no permits for creation
[   429][E][vfs_api.cpp:104] open(): /littlefs/ledmap13.json does not exist, no permits for creation
[   438][E][vfs_api.cpp:104] open(): /littlefs/ledmap14.json does not exist, no permits for creation
[   447][E][vfs_api.cpp:104] open(): /littlefs/ledmap15.json does not exist, no permits for creation
[   457][E][vfs_api.cpp:104] open(): /littlefs/palette0.json does not exist, no permits for creation
[   465][E][vfs_api.cpp:104] open(): /littlefs/ledmap.json does not exist, no permits for creation
Ada

@softhack007
Copy link
Collaborator

Soo, I'm following this and so far I have this output log... any idea?

Yes /littlefs/ledmap*.json does not exist is expected behaviour. No problem.

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

Soo, I'm following this and so far I have this output log... any idea?

Yes /littlefs/ledmap*.json does not exist is expected behaviour. No problem.

Yes but it'repeted every second I think the ESP is bootlooping

@softhack007
Copy link
Collaborator

softhack007 commented Mar 5, 2023

You mean the complete block including load:0x403d0000,len:0x24e4 entry 0x403ce000 is repeating, or just the open().... does not exist part?

In both cases, you could build with -D WLED_DEBUG added to you build_flags, to get more information about what's happening.

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

the whole block I posted is repeating, btw I'll try wled debug ASAP

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

esp32 v4.4.2
arduino-esp32 v2.0.5
CPU:   ESP32-C3 rev.3, 1 core(s), 160MHz.
FLASH: 4MB, Mode 3 (DOUT), speed 80MHz.
heap 234504
PIN ALLOC: Pin 21 successfully allocated by 0x89 (137)
Registering usermods ...
Reading config
Reading settings from /wsec.json...
JSON buffer locked. (3)
JSON buffer released. (3)
JSON buffer locked. (1)
Reading settings from /cfg.json...
Removing all.
PIN ALLOC: Pin 0 successfully allocated by 0x85 (133)
Starting usermod config.
JSON buffer released. (1)
Initializing strip
[  2848][E][vfs_api.cpp:104] open(): /littlefs/ledmap1.json does not exist, no permits for creation
[  2855][E][vfs_api.cpp:104] open(): /littlefs/ledmap2.json does not exist, no permits for creation
[  2864][E][vfs_api.cpp:104] open(): /littlefs/ledmap3.json does not exist, no permits for creation
[  2873][E][vfs_api.cpp:104] open(): /littlefs/ledmap4.json does not exist, no permits for creation
[  2881][E][vfs_api.cpp:104] open(): /littlefs/ledmap5.json does not exist, no permits for creation
[  2890][E][vfs_api.cpp:104] open(): /littlefs/ledmap6.json does not exist, no permits for creation
[  2899][E][vfs_api.cpp:104] open(): /littlefs/ledmap7.json does not exist, no permits for creation
[  2908][E][vfs_api.cpp:104] open(): /littlefs/ledmap8.json does not exist, no permits for creation
[  2916][E][vfs_api.cpp:104] open(): /littlefs/ledmap9.json does not exist, no permits for creation
[  2925][E][vfs_api.cpp:104] open(): /littlefs/ledmap10.json does not exist, no permits for creation
[  2934][E][vfs_api.cpp:104] open(): /littlefs/ledmap11.json does not exist, no permits for creation
[  2943][E][vfs_api.cpp:104] open(): /littlefs/ledmap12.json does not exist, no permits for creation
[  2952][E][vfs_api.cpp:104] open(): /littlefs/ledmap13.json does not exist, no permits for creation
[  2961][E][vfs_api.cpp:104] open(): /littlefs/ledmap14.json does not exist, no permits for creation
[  2969][E][vfs_api.cpp:104] open(): /littlefs/ledmap15.json does not exist, no permits for creation
No busses, init default
PIN ALLOC: Pin 2 successfully allocated by 0x82 (130)
Successfully inited strip 0 (len 30) with type 22 and pins 2,255 (itype 21)
Loading custom palettes
[  3000][E][vfs_api.cpp:104] open(): /littlefs/palette0.json does not exist, no permits for creation
Loading custom ledmaps
[  3013][E][vfs_api.cpp:104] open(): /littlefs/ledmap.json does not exist, no permits for creation
Usermods setup
IMPROV�����
lastReconnectAttempt == 0
No connection configured.
Opening accessESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0xf (BROWNOUT_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DOUT, clock div:1
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6ac
load:0x403d0000,len:0x24e4
entry 0x403ce000

@lsiudut
Copy link

lsiudut commented Mar 5, 2023

According to the reset reason - BROWNOUT_RST - you're not providing enough power to your module, voltage drops too much and it eventually resets. Lookup what brownout detector is and how it works.

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

Yess, I was using programmer 5v :)
Seems to work, Thanks!

@WAPEETY
Copy link

WAPEETY commented Mar 5, 2023

Ok so,

  • for some reason instead of using GPIO 2 (described by the board manufacturer) i'm using GPIO 10 (Idk if is a bug or not)

but it seems to work...
I'll investigate further on possible problems

for the info about the board this is the website: https://www.electrodragon.com/product/esp-led-strip-board/?attribute_pa_esp=esp32-c3-12-2mb

here are schematics: https://w.electrodragon.com/w/ESP_LED_Board_HDK

@metawops
Copy link

Still no official support for ESP32-C3 boards? (I got the cool tiny USB-C one from Seeed and got the "Your ESP32-C3 board is not supported" message when trying to flash. 😞)

@AllExHH
Copy link

AllExHH commented Apr 25, 2023 via email

@blazoncek
Copy link
Collaborator

Dear people, please read all posts above.
C3, S2 and S3 are supported, though still in experimental phase.
You can compile sources yourself or use binaries provided by @srg74 or @wled-install

@metawops
Copy link

Thanks for the hint, @blazoncek – unfortunately, I still get the "... C3 board not supported" error from the https://wled-install.github.io/ page. 😞
So I assume there's currently no installer web page available that automagically does everything for us, correct?
Could you then please point me to a little tutorial on how to install a binary manually onto my Seeed ESP32-C3 board? (I'm on a Mac, btw.) That would be very kind! 😊
Thank you! 🙏

@blazoncek
Copy link
Collaborator

Please join WLED forum or Discord for help and support questions.

Repository owner locked as resolved and limited conversation to collaborators Apr 25, 2023
@softhack007 softhack007 added the board request PR adding support for a specific board. label Jan 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
board request PR adding support for a specific board. enhancement
Projects
None yet
Development

No branches or pull requests