Awesome Open Source
Awesome Open Source


** A little remote to remind you that there's a lot of music out there.**

  • Spin the knob and explore over 5,700 music genres and 170 countries with playlists from and your own library
  • Control playback and see what's playing on any Spotify Connect device
  • Switch between multiple Spotify accounts and devices
demo of genre selection

knobby with coin knobby side view


Connect the rotary encoder A and B pins to GPIO 12 and 13 and the button pin to GPIO 15.

Make it

  • 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

Flashing the firmware

To flash the firmware, you will need to have Python and installed. If the serial device is not detected, you might need to install the CP210x drivers.

  1. Go to the latest release and download the firmware zip for your hardware: for the original knobby or for the T-Watch encoder version.
  2. With the USB cable connected, run the flash script in the directory of the extracted firmware zip:
  • on Linux or Mac: ./
  • on Windows: flash.bat

Compiling from source

  1. Edit data/data.json and enter your wifi network information (if you want; it can also be configured later)
  2. Build and upload with PlatformIO: platformio run && platformio run --target upload && platformio 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 Enter your wifi network information, then switch back to your normal wifi network and visit http://knobby.local to continue.


  • Rotate and click the knob to select or play
  • Hold down and rotate the knob to switch menus
  • Hold down the knob for a few 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 automatically
    • Release the knob before the progress bar reaches the end to continue browsing
    • Rotate the knob to cancel randomizing or switch menus
  • When browsing genres, double click the knob to switch sort modes
  • When playing something, double click the knob to skip to the next track
  • Visit http://knobby.local/authorize to add additional Spotify accounts


All code is released under the MIT license. The case design is released under the CC-BY-NC 4.0 license.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
C (275,323
Arduino (21,691
Music (5,658
Esp32 (2,779
Spotify (2,243
3d Printing (984
Spotify Api (758
Remote Control (710
Playlist (582
Spotify Connect (57
Related Projects