ESP32-C3 Sound Reactive WLED: is it possible?

Hello everyone,
I would like to develop a new board, adding BLE functionality to WLED.
I saw that expressif has released new chip, like the ESP32-C3 that has Wi-Fi plus Bluetooth.
ESP32-C3-WROOM-02
I’m trying to figure out the right pinout connection. May you help me?
Thanks!

Not ready due to luck of libraries support.

1 Like

Ok, thanks.
could it be possible to use this module with the wi-fi connection only, than try to develop bluetooth?

By the way, I saw that also ESP32-WROOM-32E has BLE support, so I will definitively use this module for my project.
I am studying the pinout because I would like to connect the LEDs and the MIC to different PINs than those used in the LedBoxV2 project.

Is it possible to use different PINs for boot0 switch?
Is also possible to use PINs for MEMS microphone that are closer one to each other, to route them better?

Thanks!

Reset and boot mode switches can’t be reassigned.

The C3 has the advantage of having the same footprint as the 8266-12F. To me, that’s the big advantage of this chip over a regular esp32.

I installed one in a smart bulb, and installed tasmota firmware on it. It was extra work, but I was able to reuse the bulb, which had some other Broadcom chip that I couldn’t flash in it (which also shared the same footprint).

It will be interesting to see if HW manifacturers start using it. That would be the big push to get compatibility IMO.

Looks like recent updates made SR on C3 possible. :slight_smile:

2 Likes

Nice! Did you just use [esp32c3] in platformio.ini as is, or did you have to make some additional config/edits too?

Am looking to get SR working on my QT PY ESP32-S2.

S2 is buggy as hell and the culprit is AsynWebServer or WiFi stack in combination with it (at least on my unit).
Otherwise works well including Audioreactive.

As for C3 I used espressif32@5.1.1 as platform instead of Tasmota.

[env:c3_devkitm_1]
platform = espressif32@5.1.1
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_WATCHDOG_TIMEOUT=0
  -D LEDPIN=8
  -D BTNPIN=9
  -D RLYPIN=-1
  -D IRPIN=-1
  -D USERMOD_AUDIOREACTIVE
  -D AUDIOPIN=-1  # analog pin
  -D DMTYPE=1     # 0-analog/disabled, 1-I2S generic, 2-ES7243, 3-SPH0645, 4-I2S+mclk, 5-I2S PDM
  -D I2S_SDPIN=-1
  -D I2S_WSPIN=-1
  -D I2S_CKPIN=-1
  -D STATUSLED=20 # RX/serial
  -D WLED_DEBUG
  -UWLED_USE_MY_CONFIG
lib_deps = ${esp32c3.lib_deps}
  https://github.com/blazoncek/arduinoFFT.git  
2 Likes

Sorry for my bad English, I’m also looking for a version WLED that runs on an ESP32 C3, I have the M5 module and a tiny module “Seed Studio” lying around…
is there a bin file for flashing these modules?

greeting Normen

@srg74 might have it.

As I see this topic is still monitored/visited I have an update:

S2 is now working without issues and is a better suit for Audioreactive usermod.
For C3, which lacks CPU power, Audioreactive is tough call and may require specially built firmware or reduced FPS to properly handle audio signal.

Is there any chance it will be available in the future? I have a very specific application in mind:
https://www.aliexpress.com/item/1005005362169033.html
These have 64 LEDs and go for 7EUR incl. shipping every other day or so.
An ESP32C3 mini module fits nicely inside. I scraped off all existing components and reconnected the buttons and tracks to the LEDs.
It would be nice to also have a microphone inside, such that it can control the LEDs on the same, and maybe also on 1 or 2 additional bars over the network.
So some 200 LED at most. Would that be feasible?

I compiled on sept 11th generic code with soundReactive mod for a 5x5 led c3 board 01space
you got to use the right pins for mic so no conficts but it works a treat :slight_smile:

platformio.ini

[esp32c3]
;; generic definitions for all ESP32-C3 boards
platform = espressif32@5.3.0
platform_packages =
build_flags = -g
-D USERMOD_INTERNAL_TEMPERATURE
-D USERMOD_AUDIOREACTIVE
-DARDUINO_ARCH_ESP32
-DARDUINO_ARCH_ESP32C3
-DCONFIG_IDF_TARGET_ESP32C3=1
-D CONFIG_ASYNC_TCP_USE_WDT=0
-DCO
-DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C3
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
;; ARDUINO_USB_CDC_ON_BOOT

lib_deps =
GitHub - pbolduc/AsyncTCP: Async TCP Library for ESP32 @ 1.2.0
GitHub - blazoncek/arduinoFFT: Fast Fourier Transform for Arduino (using float instead of double)
${env.lib_deps}

I have audio usermod active with
Lolin c3 ( only tested audio sync )
Lolin s3( also only tested audio sync )
Lolin s2 ( with a digital mic )
All complied on gh using this site WLED Compile helper (wled-compile.github.io) which will also give you the correct env to use on vsc

NOTE: C3 does not have the needed CPU power to compute FFT in realtime for FPS above 25. If you want to use C3 with Audioreactive usermod make sure you lower desired FPS to 25 in LED Settings (advanced section).

1 Like

What is the right pin for audio on the c3?

Almost any.

generic i2s on a 01space 5x5 matrix c3 :slight_smile:

sd pin5
ws pin2
sck pin4
mclk unused

1 Like