A hardware & software solution to control and monitor your microphone status during video calls.
Built as an open source DIY project, this mute button provides both mute/unmute control and visual feedback via LED indicators.
Video calls are now part of our daily lives. But who hasn’t experienced that awkward moment when someone forgets to mute, or tries to speak while still muted?
The Mute Button was designed to solve this issue by:
- Giving you direct control over mic mute/unmute
- Providing real-time LED feedback on mic status
- Allowing volume adjustment with a rotary encoder
- Being 100% open source, so you can build, customize, and improve it
This repository includes all design files: firmware, drivers, PCB, and 3D-printed enclosure.
- Firmware in C for the PIC microcontroller
- Driver in Python to run on your computer and communicate with the mute button
- Includes ready-to-use files + editable source code
- Microcontroller, encoder, USB-C port, LEDs, supporting components
- PCB specifications: 4-layer, 1.55 mm thickness
- Includes:
- BOM (Bill of Materials)
- Gerber files for manufacturing
- Assembly guide (PDF)
- Split into two parts: bottom base + translucent top cover
- Designed for FDM printing
- Files provided: STL (ready to print) + STEP (editable)
/hardware
-bom-mutebutton-v1.xls
-gerber-mutebutton-v1.zip
-assembly-mutebutton-v1.pdf
/enclosure
-mutebutton-v1-enclosuredesign.step
-mutebutton-v1-bottom.stl
-mutebutton-v1-top.stl
/firmware
-mutebutton-v1-firmware-microcontroller.hex
-mute-btn-systray_1.0.0 1.exe
-/sourcecode
--/mute-button.X
--/usb_hid_cdc_lib.X
--/win-snd-mngr
/images
-mutebutton-exploded-specs.jpg
-002-mutebutton-render.jpg
-001-mutebutton-render-exploded.jpg
-opensource-mutebutton-diyproject.jpg
- 3D printer (or access to a printing service)
- Translucent PLA recommended for LED diffusion (top cover)
- PCB manufacturing service
- USB-c cable
- Pickit programmer for PIC firmware flashing (Microchip link)
- C & Python development environments (optional, for code modifications)
- Soldering kit (if assembling PCB manually)
- Manufacture or order the PCB (Gerber provided)
- Solder components following
assembly-mutebutton-v1.pdf
(skip if pre-assembled) - Connect via USB-C to power the board
- Use Pickit to flash
mutebutton-v1-firmware-microcontroller.hex
- Install
mute-btn-systray_1.0.0 1.exe
on your computer
- Print both STL files
- Place PCB into the bottom case and align USB-C port
- Secure with 2x plastic screws (Ø 2 mm, 6 mm length)
- Snap on the top cover
- Verify encoder rotation and button click responsiveness
- Connect to your PC via USB-C
- Run common apps (Zoom, Google Meet, MS Teams)
- Test mute/unmute and volume control
- Verify LED correctly shows microphone status
- Modify the firmware (C) or driver (Python) to add new features
- Adjust 3D model (STEP file) to change dimensions or design
- Replace components in the BOM with alternatives as needed
- 🎥 Demo video & tutorial: Watch on YouTube
- 📰 Full blog article: Read on our blog
- 📂 blackdevice socials Linktree
- 📺 More projects: blackdevice YouTube channel
- 📬 Subscribe for updates: Join our mailing list
This project is licensed under the MIT License.
Please give credit to Black Device when using or distributing this code.