In September 2024, I DIYed an RGB LED volume meter using the ATMEGA328P to collect analog signals and drive the WS2812. The strip is 1 meter long with a total of 60 LEDs, super cool and super fun so it’s basically online 24 hours a day
. Later, while browsing forums, many experts were talking about WLED; so why not give it a try? The available modules for running WLED include: ESP8266, ESP32C3, and ESP32S3; however, the official recommendation is still the ESP32. I tried using ESP8266 and ESP32C3, but felt that the I/O was quite limited
and I failed to connect a digital microphone
Later, I used a previously purchased ESP32 minimal system board to play with the circuit for a few days, and it felt okay. Eventually, I decided to buy an ESP32-WROOM-32 module and designed a PCB. As a side note: I had previously bought a minimal system board; after purchasing it in December 2020, I hardly used it. When I tried to use it later, it short-circuited upon powering on
. After checking for a long time, I found it was a problem with the USB chip, so I removed the USB chip and used it externally each time. During debugging after the PCB prototype was made, I encountered another issue; at that time, to find the cause, I also removed the module from this board, and the board was a bit dirty, about to be thrown away, so I didn’t clean it, just took a quick look
. By the way, I also had an Arduino Pro Mini that I hardly used, which short-circuited upon powering on. Later, I found out it was a capacitor short circuit, so I ended up making a bunch of Arduino Nano
1. Minimal System:
2. Digital Microphone: INMP441 I2S Communication
3. I/O, Power Supply
4. Level Shifting Matching Circuit: ESP32 3.3V, WS2812 5V
5. PCB
6. After Soldering
Go to the WLED website to flash the firmware, and then control it in Home Assistant