Knobby: a little remote with a lot of possibilities
Spin the knob to browse 5,000+ genres of music along with your own playlists. Knobby is a distinctive remote control for Spotify and more.
Explore a universe of music with just a knob
Knobby is a remote made for discovering new music and rediscovering your own collection. It’s the perfect companion to a smart speaker, allowing you to browse playlists, see what’s playing, and control playback without interrupting anything. Preloaded with thousands of genre and country playlists from everynoise.com, it encourages you to explore unfamiliar music and puts all of Spotify on shuffle.
Untether music from your phone
Bring music discovery into your living room with a device that’s meant to be shared and free from distracting apps or notifications. Show off your meticulously curated collection to anyone in your home, or pass it around at a party and put your guests in control.
Pop your filter bubble
Streaming services feed you new releases and top hits through algorithmic recommendations and branded playlists, but how do you dig deeper? Knobby is your musicological compendium: a vast index of musical expression that rewards your exploration, not a marketplace of content competing for your attention.
- Turn the knob to navigate between menu items.
- Click the knob to select or play something.
- Push in and rotate the knob to switch menus.
- Hold the knob for couple seconds for a random genre, country, or playlist from the last open menu.
- Keep holding the knob until the progress bar reaches the end to play immediately.
- Release the knob before the progress bar reaches the end to keep browsing.
- When browsing genres, double click the knob to switch sort modes.
- When playing something, double click the knob to skip to the next track.
Make it yourself
Get the parts
- LilyGO TTGO T-Display ESP32 board with ST7789 240x135 display
- Bourns PEC11R-4215F-S0024 rotary encoder
- MakerFocus 1100mAh LiPo battery
- 3D printed case and knob
Other rotary encoders
If you use a different rotary encoder in your build and find that the knob must be turned two clicks to move one item through the menu, you can configure the encoder’s pulse count.
pio run --target uploadfsto upload the configuration file.
Wire it up
- Connect the rotary encoder A and B pins to GPIO pins 12 and 13.
- Connect one pole of the switch to GPIO pin 15.
- Connect other pole of the switch and the encoder’s remaining middle pin to ground.
Install the firmware
The Knobby setup tool can flash the latest firmware and configure wifi credentials over USB (requires Google Chrome or Microsoft Edge for Web Serial API support).
Alternatively, you can download the latest release and flash it yourself. You will need to have Python and esptool.py installed. With the USB cable connected, run the flash script in the directory of the extracted firmware zip:
- on Linux or Mac:
- on Windows:
Compile from source
data/data.jsonand enter your wifi network information (if you want; it can also be configured later)
- Build and upload with PlatformIO:
pio run && pio run --target upload && pio run --target uploadfs
If data.json is not configured or there is a problem connecting to your network, knobby will enter configuration mode. Join the temporary wifi network displayed on screen and wait for the configuration portal to appear or visit http://192.168.4.1. Enter your wifi network information, then switch back to your normal wifi network and visit http://knobby.local to continue.
All code is released under the MIT license. The case design is released under the CC-BY-NC 4.0 license.