Spotify controller application for the ThingPulse Color Kit Grande.
Using the ThingPulse Spotify Controller you control a Spotify player (phone, browser, etc) from an Espressif ESP32 microcontroller. Album artwork as well as title and artist name are loaded from the Spotify Web API over WiFi and displayed on a color TFT touch-screen. The currently playing song can be paused, resumed and skipped to the next or previous song in the playlist.
A full OAuth 2.0 web flow is used to acquire the necessary access and refresh tokens to permit the user to control the player. In order to run this project on your device, you will need to setup an application on your Spotify dashboard (instructions below).
- Artwork download
- Control player on touch screen: play, Pause, next, prev
- Authentication and authorization (OAuth 2.0 flow) on device.
This is a ThingPulse community project. See our open-source commitment declaration for what this means. |
The below instructions assume a properly configured Visual Studio Code installation with PlatformIO. See our instructions if you need help with this.
-
Go to https://developer.spotify.com/dashboard/login and login to or sign up for the Spotify Developer Dashboard
-
Select "My New App"
-
Fill out the form. Give your new app a name you can attribute to this project. It's safe to select "I don't know" for the type of application.
-
At the end of the 3 steps click "Submit"
-
Set the unique Client ID and Client Secret as values for the respective variables in
settings.h
. -
Click on "Edit Settings". Add "http://tp-spotify.local/callback/" to the Redirect URIs section.
NOTE If you are running more than ThingPulse Spotify Remote in the same WiFi network, you should choose a unique name rather than "tp-spotify". Regardless of what you choose it has to reflect what you set for
SPOTIFY_ESPOTIFIER_NODE_NAME
insettings.h
in the project.