A tiny media control bar based on ESPHome.
- 4 Keys + 1 Rotary Encoder Knob
- Acts as a BLE Keyboard with WiFi connectivity (ESP32-C3 Super Mini)
- Seamless Home Assistant integration via ESPHome
- Customizable 3D Printed Enclosure (designed in OpenSCAD)
Component | Quantity | Notes |
---|---|---|
ESP32-C3 Super Mini | 1 | |
Low-profile Cherry MX Switches | 4 | |
Low-profile Keycaps | 4 | |
Generic Mouse Rotary Encoder | 1 | 3-pin, H5.5mm x W9.5mm |
Φ1.75mm PLA filament | - | Used as the shaft for the knob. A short piece is needed. |
Magnets (Optional) | 2 | Φ3mm x 6mm Neodymium (for mounting) |
M2 x 6mm Self tapping screws | 5 | |
Wire | - | |
LOCTITE | - |
- See the
./enclosure
directory.
- The firmware is built using ESPHome. (
2025.3.3
) - Reference the package definition
mmcb.yaml
via URL directly or download to your local.
# In your esphome config file:
packages:
mmcb:
url: https://github.com/likeablob/mini-media-control-bar
ref: main
files:
- path: mmcb.yaml
vars:
ble_device_name: "mmcb-1"
# or download to common/mmcb.yaml then reference it
packages:
mmcb: !include
file: common/mmcb.yaml
vars:
ble_device_name: "mmcb-1"
Key | Default | With Meta | Special |
---|---|---|---|
Key 1 (Left-most) | Meta key | N/A | Double-click: Mute |
Key 2 | Play/Pause | Mute | |
Key 3 | Previous track | Left arrow | |
Key 4 | Next track | Right arrow | |
Knob | Volume Up/Down | Right/Left arrow |
See mmcb.yaml
for configuration options.
MIT