gledopto
Rust no-std embedded board support crate for Gledopto ESP32 Digital LED controllers.
Uses Blinksy: an LED control library designed for 1D, 2D, and 3D (audio-reactive) LED setups, inspired by FastLED and WLED.
Supported Boards
Currently this library only supports one board:
- Gledopto GL-C-016WL-D,
gl_c_016wl_d
Select the board by using its respective feature.
Features
- 1D, 2D, or 3D LED control using
blinksy - Built-in "Function" button
- Alternative "IO33" button
- Built-in microphone
Examples
2D APA102 Grid with Noise Pattern
https://github.com/user-attachments/assets/1c1cf3a2-f65c-4152-b444-29834ac749ee
use ;
use ;
!
1D WS2812 Strip with Rainbow Pattern
https://github.com/user-attachments/assets/703fe31d-e7ca-4e08-ae2b-7829c0d4d52e
use ;
use ;
!
Getting started
Pre-requisites
- Install Rust with
rustup - Install ESP components
cargo install espup
espup install
- Install
espflash
cargo install espflash
- On Linux, add user to
dialoutgroup
sudo adduser $USER dialout
Run An Example
Source the ESP environment variables
. $HOME/export-esp.sh
(See also: https://docs.esp-rs.org/book/installation/riscv-and-xtensa.html#3-set-up-the-environment-variables )
Clone this repository and go into the ./esp workspace:
git clone git@github.com:ahdinosaur/blinksy
cd blinksy/esp
Run an example:
cargo run --release -p gledopto --example ws2812-strip
Resources
- Rust on ESP book: https://docs.esp-rs.org/book
- ESP no-std book: https://docs.esp-rs.org/no_std-training
- ESP no-std examples: https://github.com/esp-rs/no_std-training
- Gledopto GL-C-016WL-D page: https://www.gledopto.eu/gledopto-esp32-wled-uart_1
- Gledopto GL-C-016WL-D user instructions: https://www.gledopto.eu/mediafiles/anleitungen/7002-gl-c-016wl-d-eng.pdf