SteelSeries Spotify Linker is a project designed to display the current music playing on Spotify on a SteelSeries keyboard with an OLED display. Presently, it supports only 128x40 displays (e.g. Apex Pro).
- Retrieves the currently playing music on Spotify via the API.
- Automatically updates the OLED display with the current track information.
- Features automatic scrolling titles, a progress bar, and displays elapsed time and duration.
- Clock display if no music is playing or if music has been paused for too long (configurable)
- Different clock display modes (12-hour or 24-hour)
You'll need Python version 3.8 or higher, which can be installed from here. You'll also need the SteelSeries GG software.
- Download the latest version of the program and extract the files.
- Run
pip install -r requirements.txt
in the application folder (You can also use a virtual environment if you prefer). - Rename the
.env.example
file to.env
. To configure the application, refer to "Spotify API configuration" and "Configuration". - Launch the program
start.bat
in a terminal by executing./start.bat
. - Check that everything is working properly.
📄 Note : When you launch the program for the first time, a web page will open to authorize the spotify api to connect to your account.
- Press
Win + R
to open the "Run" dialog and typeshell:startup
. - Create a new file in
Startup folder
with a.vbs
extension (e.g. SpotifyLinker.vbs). - Copy and paste the code provided below into the file, making sure to replace "C:\Path\To\start.bat" path with the actual path to your
start.bat
file.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\start.bat" & chr(34), 0
Set WshShell = Nothing
It's not mandatory to use a virtual environment, but it can avoid problems of conflict with other programs.
💡 Before you begin, open a PowerShell
session in administrator mode within the project directory.
- If you are not in the application folder, go into with
cd C:\path\to\project
- Run
python -m venv venv
to create the virtual environment. - Activate the virtual environment by running
.\venv\Scripts\Activate.ps1
⚠️ In case of permission issues, you might need to set the execution policy to unrestricted usingset-executionpolicy unrestricted
. You can revert to the default execution policy by simply runningset-executionpolicy restricted
.
- Run
pip install -r requirements.txt
- You're all set! Run your application within the virtual environment using
./start.bat
.
To configure the Spotify API, refer to Spotify API configuration.
[Configuration]
DATE_FORMAT=12 # Choose between 12-hour or 24-hour format
DISPLAY_SECONDS=true # Set to 'true' to display seconds, 'false' to hide them
TIMER_THRESHOLD=2 # Set the number of seconds after which the clock will appear after pausing the song
SPOTIFY_FETCH_DELAY=2 # Represents the delay in seconds between each spotify API request
EXTENDED_FONT=true # Support for special characters (Japanese)
⚠️ You can reduce the time between requests to the Spotify API. But be careful, if you reduce it too much, the application may not work properly. The Spotify API could block it due to throughput limits. By default, this interval is set to 2 seconds to ensure that you never exceed this limit, but feel free to adjust it to suit your needs. For more information, please visit the Spotify Rate Limits.
Music display may take some time due to API limitations. Data is retrieved by default every 2 seconds via Spotify's API, so there may be a slight desynchronization.