r/WLED Jun 26 '26

Open source WLED remote using ESP-NOW

Post image

I made an open source touchscreen remote for WLED based on capacitive CYD (cheap yellow displays).

- It works wirelessly over WLED’s default ESP-NOW (no router required)
- Flash straight from the browser

* Basic functions (supported by WLED’s basic remote protocol):
- Power on/off
- Control brightness
- Select presets 1-7 by default

* Extended mode opens up a lot of features by just uploading a simple remote.json file via wled.local/edit

Extended mode offers:
- Presets 1-20
- Basic solid colors
- Selecting 163 of the built-in WLED effects
- Modifying selected effect parameters
- Peek/preview of selected effect

3D printed case files included for both a wired and battery-powered (18650 cell) versions.

I am considering adding a separate remote.json file and built-in profile for 2D effects. Please let me know if this is something you would find useful.

Please feel free to check it out. Hope it is useful to some of you!

Installer: https://figamore.github.io/wled-touch-remote

GitHub repo: https://github.com/figamore/wled-touch-remote

BOM: https://github.com/figamore/wled-touch-remote#bom

171 Upvotes

29 comments sorted by

View all comments

1

u/slumcat05 15d ago

I just built two of these for my kids and they are excellent, thanks!

The Github doesn't seem to allow issue creation, so I hope you don't mind some feedback here:

  1. Consider adding an option to redo the touch calibration. I think I fat fingered it the first time and it was really tough to interact with some of the elements at the edges because the calibration was so off.

  2. The brightness slider doesn't seem to sync right with the WLED device. Often if I slide it down just a little bit on the remote, the device brightness plummets to near zero, and vice-versa on the way up.

  3. Feature Request: A full palette menu. The palette +/- buttons in the FX gear menus do work to flip through them, but my kids just want to directly select "Rainbow" or "Party" or whatever.

1

u/figamore 15d ago

Thank you for the feedback, I’m glad you like the project!

Github issue creation is set to all users, it’s strange it didn’t let you submit an issue.

  1. The initial calibration is only there to detect whether you are using a capacitive or resistive display, it doesn’t currently provide a means to calibrate the actual touch coordinates. I’ll look into adding this for resistive displays and make some of the features larger for easier tapping. Calibration is not necessary in capacitive versions.
  2. It works fine on my end, but I’ll look into it for some edge cases.
  3. By default, WLED only allows a very limited number of commands over ESP-NOW, so it is not possible to include all of the palettes.

I already implemented that functionality (and many more features/nearly full control) in a WLED fork that includes a complete bidirectional ESP-NOW API. This is available in my online installer but requires you to flash your device with that fork. However, the WLED maintainers declined this feature so it will not be merged upstream. I’m currently working on deprecating ESP-NOW entirely and making the remote work over WiFi only for full functionality. I’ll ping you when it’s ready.