Having an easy way to control the volume on your MAME arcade cabinet is important for a seamless gaming experience. When you’re immersed in gameplay, you want to adjust the sound without hassle. A simple volume control, like a knob or button, allows you to raise or lower the volume quickly, ensuring you can enjoy the audio without distractions.
Additionally, a dedicated button for exiting the game ROM and returning to the main menu adds convenience. This feature lets you switch games or change settings with a single press, rather than navigating through multiple menus. With these enhancements, your arcade setup becomes more user-friendly, making gaming even more enjoyable.
✨ Features
- Volume Control: Twist the encoder to adjust the volume.
- Mute Feature: A quick press mutes and unmutes the audio.
- Exit Games: An additional button sends the
ALT + CTRL + F4command to exit games. - HID Integration: The Raspberry Pi Pico acts as a HID when connected, making it a plug-and-play solution.
📦 Requirements
- Hardware:
- Raspberry Pi Pico
- Rotary Encoder (with a push button)
- Optional push button (for the
ALT + CTRL + F4feature)
- Software:
🚀 Setup and Installation
- CircuitPython: Flash your Raspberry Pi Pico with CircuitPython. Guide.
- Code Transfer: Drag and drop the
boot.pyandcode.pyfiles onto your Raspberry Pi Pico. - Lib Folder: Copy over the
libfolder to your Raspberry Pi Pico. - SuperF4 Setup: Install SuperF4 on your arcade machine.
🔌 Wiring
- Rotary Encoder:
A (S1) Pin->GP9on PicoB (S2) Pin->GP10on PicoSW (Key) Pin->GP12on Pico+ Pin->3.3Von PicoGND Pin->GNDon Pico
- Game Exit Button:
- One end ->
GP13on Pico - Other end ->
GNDon Pico
- One end ->
⚙️ Configuration
Check the code.py file for a configuration section at the top. Customize debounce delays, pin assignments, and more to fit your setup.
⬇️ Download
Download all files from my Github Repo: https://github.com/2wenty2wo/pico-usb-volume-controller


