MediaController is a compact hardware interface for controlling Windows media playback and displaying live track information.
It is based on an ESP-32-S3, a 240×240 TFT display, a rotary encoder, and several physical buttons for direct media control.
The system runs a Python bridge script (media_bridge.py) on the host PC. This script continuously gets:
- Current song / video title
- Artist name
- Album artwork (thumbnail)
- Playback progress
and transmits this data over USB to the ESP-32-S3, which renders it on the display in real time.
The device provides tactile control over media playback:
- Previous track button
- Play / Pause button
- Next track button
- Rotary encoder (press + rotate)
- Rotate: Volume control
- Press: Switch display page
| Now Playing | Volume Settings |
|---|---|
![]() |
![]() |

