A flexible LED controller for ESP32 that supports Bluetooth Low Energy (BLE) communication and various LED patterns.
- BLE control interface
- Support for WS2812/APA102 LED strips
- Multiple display modes and patterns
- Text display mode
- Demo mode with saved presets
- Configurable dimensions and LED layout
- ESP32 development board
- WS2812 or APA102 LED strips
- Power supply (5V, sufficient for your LED count)
- Install PlatformIO
- Clone this repository
- Open the project in PlatformIO
- Build and upload to your ESP32
- Install Arduino IDE
- Install ESP32 board support:
- Open Arduino IDE
- Go to File > Preferences
- Add
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
to Additional Boards Manager URLs - Go to Tools > Board > Boards Manager
- Search for "esp32" and install "ESP32 by Espressif Systems"
- Install required libraries:
- FastLED (3.6.0 or later)
- Adafruit GFX Library (1.11.5 or later)
- Adafruit BusIO (1.14.1 or later)
- Open
blume.ino
in Arduino IDE - Select your ESP32 board from Tools > Board
- Build and upload
The project can be configured through build flags in platformio.ini
or by modifying the defines in the code:
WIDTH
andHEIGHT
: Physical dimensions of your LED matrixNUM_LEDS
: Total number of LEDsCHIPSET
: LED type (WS2812 or APA102)DATA_PIN_0
,DATA_PIN_1
,CLOCK_PIN_0
,CLOCK_PIN_1
: Pin assignmentsMAX_MILLIAMPS
: Maximum current drawBLUETOOTH_NAME
: Name of the BLE device
- Power on the ESP32
- Connect to the BLE device named "Blume" (or your configured name)
- Send commands through the BLE interface:
!D
: Request dimensions!d
: Demo mode commands- Other commands as documented in the code
[Add your license information here]