Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion firmware-arduino/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,18 @@ openssl s_client -showcerts -connect <your-deno-domain>.deno.dev:443 </dev/null

3. For development, uncomment `#define DEV_MODE` in Config.h to use local servers without SSL. To deploy to production, comment out `#define DEV_MODE` and set the proper server addresses and ports.

4. To use the button functions, uncomment `#define TOUCH_MODE` in Config.h
4. To use the button functions, uncomment `#define TOUCH_MODE` in Config.h


## WS2812 Status LED (NeoPixel)

This firmware includes support for a single WS2812 (NeoPixel) LED as a system status indicator.
It has been tested on the **Freenove ESP32-S3 Audio Kit**, where the LED is connected to **GPIO48**.

Copy link
Owner

@akdeb akdeb Sep 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets add a comment here saying that this repo is compatible with both a common-anode 3 GPIO pin RGB LED and a WS2812 LED. What do you think?

The regular LED is supported in files RGBHandler.cpp and RGBHandler.h and WS2812 in WS2812Handler.cpp and WS2812Handler.h.

And we can use the existing LEDHandler.cpp and LEDHandler.h for routing to the above RGB vs WS2812 LEDs.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add this -->

This repo supports both WS2812 (1-pin) and Common Anode RGB (3-pin) LEDs.

  • To use a 3-pin RGB LED, define the macro USE_3PIN_LED in LEDHandler.h.
  • If the macro is left commented out, the code will default to using a WS2812 LED.

Files:

  • 3-Pin RGB support: RGBLEDHandler.cpp/.h
  • WS2812 support: WS2812Handler.cpp/.h
  • Shared wrapper: LEDHandler.cpp/.h (calls the correct backend automatically)

### Requirements
Add the [Adafruit NeoPixel library](https://github.com/adafruit/Adafruit_NeoPixel) to your `platformio.ini`:

```ini
lib_deps =
adafruit/Adafruit NeoPixel @ ^1.12.0

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file looks good to me otherwise 👍

3 changes: 2 additions & 1 deletion firmware-arduino/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ lib_deps =
https://github.com/esp-arduino-libs/ESP32_Button.git#v0.0.1
https://github.com/pschatzmann/arduino-audio-tools.git#v1.0.1
https://github.com/pschatzmann/arduino-libopus.git#a1.1.0

adafruit/Adafruit NeoPixel @ ^1.12.0

; board_build.arduino.memory_type = qio_opi
; board_build.flash_mode = qio
; board_build.prsam_type = opi
Expand Down
Loading