Designing My Custom Spotify Macroboard

A Step-by-Step Guide to Building a Personalized Macro Keyboard for Spotify

Ben Zhou - Posted: [DATE] - Last Updated: [DATE]

A full demo of my project and its features.


Introduction

For my Computer Engineering Final Performance Task (FPT), I was tasked with using everything I'd learnt throughout the course to build a project of my choice. I decided to build a macrokeyboard that would be able to control my Spotify music while also having a multitude of other quality of life features.

My inspiration for this project came from the fact that I listen to a lot of music, and with that I often adjust the song playing, as well as other features such as volume or looping. However, since I used a 60% keyboard, that meant that I would have to click 3-4 keys to achieve some simple functionality such as skipping a song.

Therefore, I aimed to build a macroboard that would enable effortless control over my Spotify music while incorporating features like dynamic lighting and a built-in screen to display the current song. The finished product has satisfyingly smooth fading lights, clicky blue switches, a sleek case, and a vibrant display.

Research

Before creating this macroboard, I had to do some basic research. I started by considering the essential functions I wanted my keyboard to have. Firstly, I wanted custom RGB lighting that could match the color of the currently playing music. Additionally, I wanted a screen, even if small, to display the current song and related information. Finally, I aimed to have maximum control over the music player, including the ability to shuffle and loop without needing to manually open Spotify.

For lighting I decided to go for some simple RGB addressable LED strips, this allowed me to control exactly what LEDs I wanted to turn on and off, as well as the colour of the LEDs. This particular LED strip is called the WS2812B and is a popular choice since it is easy to control and has a wide range of colours. This would also allow me to implement some cool lighting effects such as a rainbow wave or a breathing effect.


Testing the LED

After soldering all of the components I gave my project a quick test to see if everything was turning on and working properly.


Circuit/PCB Design

User Instructions

Code Review

1
const String PASSWORD = "REDACTED";
2
const char SSID[] = "REDACTED";
3
const char SSID_PASS[] = "REDACTED";

Required Parts

More text

Contacts

Thanks for reading through my website! If you want to contact me please reach out on LinkedIn.

Copyright © 2023-2024 Ben Zhou All rights reserved.

Socials

Check out my socials below!