Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

MusicPad

ESP32-based BLE media controller with SSD1306 OLED display.

Features

  • Play/Pause, Next, Previous buttons
  • 24-segment circular volume ring
  • Ripple animation when playing
  • BLE HID media controls (consumer keys)

Wiring

  • OLED SSD1306 (I2C)
    • VCC -> 3.3V
    • GND -> GND
    • SDA -> GPIO 21
    • SCL -> GPIO 22
  • Play button
    • One side -> GPIO 25
    • Other side -> GND (uses INPUT_PULLUP)
  • Next button
    • One side -> GPIO 26
    • Other side -> GND (uses INPUT_PULLUP)
  • Previous button
    • One side -> GPIO 27
    • Other side -> GND (uses INPUT_PULLUP)
  • Potentiometer (10k recommended)
    • Left -> 3.3V
    • Right -> GND
    • Wiper (middle) -> GPIO 34 (analog input)
  • Passive buzzer
      • -> GPIO 32
      • -> GND

Files

  • MusicPad.ino: main sketch
  • wiring diagram: wiring.png (high-resolution wiring map)

Build

  1. Install Arduino core for ESP32 and required libraries:

    • Adafruit_GFX
    • Adafruit_SSD1306
    • NimBLE-Arduino (if using NimBLE)
    • A compatible ESP32-BLE-Keyboard (patched for NimBLE if necessary)
  2. Compile with arduino-cli:

arduino-cli compile --fqbn esp32:esp32:esp32 /path/to/MusicPad

Notes

  • Buttons use internal pull-ups; wire buttons to GND.
  • Potentiometer powered from 3.3V; do NOT connect to 5V.
  • If BLE is unstable, try power-cycling the ESP32 and re-pairing on the host.

License

  • MIT

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages