The UK-based HackShed crew has created a DIY Spotify remote powered by an Atmel-based Arduino board paired with an LCD keypad shield.
The remote displays the current (playing) song, as well as supporting various functions such as play/pause, previous and next.
“The remote is made from a VB.NET application that listens on a select COM port for commands; it also broadcasts the current playing song via the COM port to the Arduino,” Steve from HackShed explained in a detailed blog post.
“You could add a Bluetooth module to this to make it completely wireless, which would be really cool.”
The HackShed crew kicks off the DIY Spotify remote project by building an Arduino sketch that scans the serial port for incoming characters (current song), “listens” for button presses and Serial.println() commands, while displaying the current song on the LCD with scrolling text.
“These three tasks are actually really simple to do; most of the hard work will be on the .NET application side that sends commands to Spotify,” Steve noted.
“The Arduino refreshes the LCD Screen every 3500ms. This is optional but it seemed better that it was constantly scrolling instead of just static text; moving text seems less boring.”
Next up? Visual Studio and the actual Spotify control class coded by Steffest way back in 2009. Essentially, the application works by listening and sending information on the same COM port as the Arduino.
“The application listens for 3 commands (play/plause, prev, next) once these get detected they send the relevant command over to the Spotify application. Information about the current song is then sent to the COM port and received by the Arduino, which outputs this to the attached LCD screen,” Steve added.
“As you can see, the only options you have is to select a COM port (this should be the Arduino’s COM port) and a connect/disconnect button. [Plus], the console window at the bottom updates in realtime as to what is getting sent/received from the Arduino.”
Interested in learning more? You can check out the project’s official project page on HackShed here.