Raspberry Pi Pico USB Volume Controller for Arcade and MAME Machines

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 + F4 command 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 + F4 feature)
  • Software:

🚀 Setup and Installation

  1. CircuitPython: Flash your Raspberry Pi Pico with CircuitPython. Guide.
  2. Code Transfer: Drag and drop the boot.py and code.py files onto your Raspberry Pi Pico.
  3. Lib Folder: Copy over the lib folder to your Raspberry Pi Pico.
  4. SuperF4 Setup: Install SuperF4 on your arcade machine.

🔌 Wiring

  • Rotary Encoder:
    • A (S1) Pin -> GP9 on Pico
    • B (S2) Pin -> GP10 on Pico
    • SW (Key) Pin -> GP12 on Pico
    • + Pin -> 3.3V on Pico
    • GND Pin -> GND on Pico
  • Game Exit Button:
    • One end -> GP13 on Pico
    • Other end -> GND on Pico

⚙️ 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