Mute button. Open source microphone controller

During the pandemic, many of us became familiar with the awkward moment of speaking while muted (or forgetting to mute). To solve this problem, we developed the Mute Button — an open source hardware device that lets you instantly mute or unmute your microphone during a call, while showing live visual feedback through RGB LEDs. All project files are freely available on GitHub, making it easy to build, modify or improve your own version.

clientopen source projectyear2025servicesdesign, hardware, firmware, prototyping

Mute button open source

Technical overview

Custom PCB featuring a 32-bit PIC microcontroller, rotary encoder with integrated push button, RGB LEDs to indicate mic status, and a USB-C port for power and data.

We provide the full bill of materials (BOM), electrical schematics, Gerber files and assembly guides so you can fabricate or modify the hardware as needed.

Key features

  • Instant mute/unmute: One press toggles mic status without needing to interact with on-screen controls.
  • Volume adjustment: Rotate the knob to increase or decrease microphone input volume.
  • RGB mic status feedback: LEDs show whether the mic is live (e.g., green) or muted (e.g., red).
  • USB-C connection: Plug-and-play with Windows (driver included).
  • Fully open source: All design files, code and documentation are freely available under the MIT license.

Technical specifications

Feature Description
Microcontroller 32-bit PIC (Microchip)
User input Rotary encoder with push button
Status indicator RGB LEDs
Connectivity USB-C (power + data)
PCB 4 layers, 1.55 mm thickness
Enclosure 3D printed, two parts (PLA recommended)
Firmware C (hex file + source code)
Desktop software Python-based driver (Windows)
License MIT (fully open source)
mute button specs

Firmware & software

  • Firmware (C/PIC): Written in C for the PIC microcontroller, the firmware detects button presses and encoder turns, and controls the RGB LED indicators. A precompiled .hex file is provided alongside the full editable source code.
  • Python Driver: A small desktop application (Windows) written in Python acts as a bridge between the hardware and the operating system. It listens to signals from the device and translates them into mic mute/unmute commands and volume adjustments.

Hardware & electronics

  • Custom PCB: 4-layer board featuring a PIC32 microcontroller, rotary encoder, RGB LEDs, supporting components and USB-C connector.
  • Documentation: Includes schematics, BOM with reference components, Gerber files, and illustrated assembly guide.

Product design

The enclosure is composed of two 3D-printed pieces:

  • Bottom shell: Holds the PCB and aligns the USB-C port. Printable with most materials.
  • Top cap: Mounts on the encoder shaft and allows LED light to shine through. We recommend using transparent PLA for visibility.

Both STL and STEP files are available for printing or customization.

Open source hardware project

The entire Mute Button project is released under the MIT license. We’ve shared everything — PCB files, firmware code, Python software, 3D models — in our GitHub repository. You’re free to build, tweak, and extend the device however you like.

If you want to learn more about why we created it, check out our blog post or watch the demo video on YouTube.

This project is a showcase of our full-stack capabilities at Blackdevice: from hardware design and embedded programming to desktop software and functional product design.