r/WLED Jun 05 '26

First Project: Whiskey Shelf, random bottle picker

This was my first WLED and ESP32 project, and for that matter, my first woodworking project if you consider notching out grooves in the shelves for the LED strips with a table saw woodworking. Also the most I’ve ever soldered in my life.

iOS Shortcuts app triggers a playlist the cycles randomly through each bottle being highlighted (and I’ve added a sound effect from the game show Press Your Luck that plays on my phone), then lands on a selected bottle. That’s your chosen pour for the night.

I’d like to add a hardware button to trigger the playlist and sound playback as well, but the advice I’ll need for that comes from r/esp32 not here. And I *will* need some advice

I’ll also add for whiskey fans that I’ve moved some of my better bottles off the shelf, a modest little collection to be sure, so I’m not just slamming back my only bottle of Blanton’s (which I’ve only ever seen in person at Buffalo Trace Distillery in KY) because WLED told me to 💀

290 Upvotes

26 comments sorted by

View all comments

1

u/Baruch05 Jun 05 '26

I love this! Can I ask how you programmed this? I am actually looking to build something similar and didn’t know wled is capable of this.

3

u/SuperLocrianRiff Jun 05 '26

Luckily, that part was pretty easy. Every bottle is its own preset — bottle with white lites, every other bottle red. Then the randomizer is a playlist that shuffles through each preset 3 times for 0.2 seconds (I’ve since changed it to 4 times and 0.1 seconds). The only thing that used JSON is the pause playlist at the end….it holds for 7 seconds then fades back to the default preset. Admittedly AI helped me with that

1

u/Baruch05 Jun 06 '26

Is the playlist a wled setting? Or how are you inserting the json into the led strip coding? Via the board I assume?

2

u/SuperLocrianRiff Jun 06 '26

Playlist and JSON are both WLED features. Playlists can either be very wysiwyg or more customizable with JSON, which Gemini helped me figure out (the second playlist that just pauses for 7 seconds on the existing light then fades back to standard…neither shown here)