A full demo of my project and its features.
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.
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.
After soldering all of the components I gave my project a quick test to see if everything was turning on and working properly.
1const String PASSWORD = "REDACTED";2const char SSID[] = "REDACTED";3const char SSID_PASS[] = "REDACTED";
More text