A DIY Spotify controller using an ESP32 and an ILI9341 TFT display. This project allows you to view current track info, album art, and control playback (play/pause, next, previous, volume) directly from your desk.
For more detailed information and setup guides, visit the Wiki.
- Real-time Spotify playback status.
- Album art display with dynamic color extraction for the UI theme.
- Playback controls: Play/Pause, Next, Previous.
- Volume control.
- Web-based setup for Spotify authentication.
- ESP32 Development Board.
- ILI9341 TFT Display (320x240).
- Push buttons for controls.
- Clone the repository.
- Configure
config.h:- Rename
config.h.exampletoconfig.h. - Enter your WiFi SSID and Password.
- Create a Spotify Application on the Spotify Developer Dashboard.
- Set the Redirect URI to
http://127.0.0.1:8888/callback. - Copy the
Client IDandClient Secretintoconfig.h.
- Rename
- Install Libraries:
TFT_eSPITJpg_DecoderArduinoJson
- Configure TFT_eSPI:
- Ensure your
User_Setup.hin theTFT_eSPIlibrary folder matches the pins defined inUser_Setup.h.example(or copyUser_Setup.h.exampleto your library configuration).
- Ensure your
- Upload the code to your ESP32.
- Authentication:
- On first boot, the screen will show an IP address.
- Visit that IP in your browser.
- Follow the link to log in to Spotify.
- After being redirected to a broken page (127.0.0.1), copy the entire URL and paste it back into the setup page on the ESP32.
v1.jpg - the reason for the awkward button placement will reveal in final.jpg
"PCB"layout.jpg - the esp is tucked under the screen which itself is on female berg pins (2mm pitch)
v2.jpg - ui changes made, button placeholders were text chars
final.jpg - i managed to cram this into a techcom lcd tv box i had lying around hence the awk button placement.
This project is licensed under the MIT License - see the LICENSE file for details.