Documentation Index
Fetch the complete documentation index at: https://mintlify.com/benz206/SpotifyMacroBoard/llms.txt
Use this file to discover all available pages before exploring further.
Welcome to Spotify MacroBoard
Spotify MacroBoard is an ESP32-based hardware controller that gives you physical, tactile control over your Spotify playback. With 7 customizable macro keys, a vibrant OLED display, and dynamic RGB LED lighting that syncs with your music, this project transforms how you interact with your favorite tracks.
Key features
7 macro keys
Dedicated physical buttons for shuffle, volume control, loop, back, play/pause, and skip functions
OLED display
128x64 SSD1306 display shows track title, artist name, playback progress, WiFi signal strength, and volume level
RGB LED sync
20 WS2812B RGB LEDs that smoothly fade to match album artwork colors with real-time color extraction
WiFi connectivity
ESP32-powered wireless communication with secure HTTPS requests to a personal server backend
Custom PCB
Complete PCB design files and Gerber files included for professional manufacturing
Real-time updates
Live playback progress visualization with automatic track changes and status updates every 5 seconds
How it works
The Spotify MacroBoard uses an ESP32 microcontroller to communicate with your personal server via secure HTTPS requests. When you press a button, the ESP32 sends an action request to the server, which then communicates with the Spotify API on your behalf.Hardware components
- ESP32 DevKit V1 - Main microcontroller with WiFi capability
- SSD1306 OLED Display - 128x64 I2C display for track information
- WS2812B RGB LED Strip - 20 individually addressable LEDs
- 7 Mechanical Switches - Cherry MX compatible switches
- Custom PCB - Designed specifically for this project
- 3D Printed Case - Custom enclosure with keycaps
Architecture overview
The system consists of three main components:- ESP32 Client (src.ino:1) - Handles button inputs, display updates, and LED control
- Personal Server - Intermediary that communicates with Spotify’s API
- Spotify API - Official Spotify Web API for playback control
This architecture uses a personal server as a proxy to speed up API requests and handle authentication tokens securely. The ESP32 maintains a persistent HTTPS connection to reduce latency.
What’s included
This project provides everything you need to build your own Spotify MacroBoard:- Complete Arduino source code (src.ino)
- Custom PCB design files and schematics
- Gerber files for PCB manufacturing
- Sample credentials configuration template
- Hardware component list and pin definitions
Technical specifications
- Microcontroller: ESP32 (240 MHz, dual-core)
- Memory Usage: 886,189 bytes (67%) program storage, 45,808 bytes (13%) dynamic memory
- Display: 128x64 OLED (I2C, 0x3C address)
- LEDs: 20x WS2812B RGB LEDs at 230 brightness
- Buttons: 7 GPIO pins with internal pull-up resistors
- WiFi: 2.4 GHz only (ESP32 limitation)
- Power: 5V at 500mA max for LED strip
- Update Rate: 5 second track updates, 1 second progress updates
Next steps
Quick start
Get your macroboard up and running in minutes
Hardware components
View the complete list of required components
PCB assembly
Learn how to assemble the PCB and components
API server setup
Configure your personal Spotify API server