Introduction: Microsoft Teams Mute Button
Build an easy-to-reach pushbutton to mute/unmute yourself while on a Microsoft Teams call! Because 2020.
This project uses an Adafruit Circuit Playground Express (CPX) and a large pushbutton to create a mute button for Microsoft Teams via the hot key command "Ctrl + Shift + m".
Supplies
Mute Button Hardware
Optional: Mounting Case
- 1 sturdy box (cardboard or wood), 3.75" x 3.75" x 2.75" (9.5cm x 9.5cm x 6.5cm)
Tools
- Ruler
- Pencil
- Precision knife (e.g. Exacto Knife)
- Tape
Step 1: Build It: Mute Button
- Connect the bottom pushbutton terminal to CPX pin A1.
- Connect the bottom side pushbutton terminal to CPX 3.3V pin.
- Plug in the microUSB cable between the CPX and your computer.
That's it!
Check the CPX pinout diagram in photo 3 if you want to change the trigger pin or just get more info!
Step 2: Optional: Build a Case!
I used a sturdy cardboard box for this, but you can also use or make a small wood box!
- Separate the pushbutton pieces! (Photo 1)
- Twist and pull out the pushbutton's electrical piece.
- Unscrew the white plastic bolt from the pushbutton base.
- Keep the large black circular support in-place (unless you want to add a support material like the acrylic on mine).
Step 3: Code It: Mute Button!
Here is the project GitHub repo, or here is the raw code if you prefer that.
- Download this repo, or copy and paste the code in "TeamsMuteButton" folder called "TeamsMuteButton.ino".
- Open the Arduino IDE (download for free here) and open (or paste) the "TeamsMuteButton.ino" file.
- Open the Boards Manager (under Tools --> Board) and install the Arduino SAMD Boards.
- Once the boards are installed, suggested to restart Arduino IDE. Then go back to Tools--> Boards and select "Adafruit Circuit Playground Express" from the "Arduino SAMD (32-Bits ARM Cortex-M0+) Boards" option.
- Select the port your CPX is connected to (under Tools --> Port).
- Upload the code to the CPX (click the arrow key on the shortcut menu).
- When the code is finished uploading, check that the program works by moving the slide switch to the left (towards CPX Button A) and pressing the pushbutton. You should see the red LED on the CPX turn on, and the command should open the Arduino Serial Monitor.
- Once it's working as expected, you're ready to deploy! Use the slide switch to enable/disable the button.
Note: The pushbutton triggers the keyboard "CTRL + Shift + M" keys, which does different things in different apps. The mute function will only work if you're actively using Teams.
Troubleshooting
- Check the alligator clip connections between the pushbutton and CPX.
- Ensure you're using the proper Pushbutton leads
- Check that you're connected to CPX pin A1.
Step 4: Deploy Your Mute Button!
And that's it! Go forth and make muting/unmuting yourself easier and faster! Be sure to test out the button with friends and family before deploying it in a super important meeting :)
Going Further
- This is simple prototype designed to help you get a mute button up and running as fast as possible. Want a more permanent solution? Awesome! Here are some tips:
- Replace the CPX with a smaller and more robust M0 board, like the Arduino Nano 33 IoT.
- Note: You will need to change the wiring and add a resistor. Here's a helpful overview.
- Solder wires between the pushbutton and microcontroller, and/or coat in hot glue or epoxy.
- Build an enclosure for the pushbutton and microcontroller, or adhere to the side of your desk.
- Use the Microsoft Teams API mute call to write a more complex program that can mute/unmute Teams even if you aren't actively using it!
Happy Making!

Participated in the
Anything Goes Contest
19 Comments
2 years ago
Great idea! Sounds like it should work with a much cheaper ESP32-Board, too, or am I mistaken?
Reply 2 years ago
Ah unfortunately the Arduino Keyboard library is only compatible with M0 processors (CPX was not necessarily my first choice but what I had on-hand..). But maybe there's another library that would work for the ESP boards? There's also the CircuitPython path which could open up other board options.
Reply 2 years ago
I actually built a version of the same idea with an ESP32-board. The trick is not to connect via USB (which the ESP32 boards typically don't support), but via Bluetooth LE. There is a BLE-version of the Arduino Keyboard Library (https://github.com/T-vK/ESP32-BLE-Keyboard) that works much in the same way as the original one. Works like a charm. Thanks for the great idea!
Reply 2 years ago
Ohhh that's awesome! Would definitely prefer a wireless version, thanks for sharing!
Reply 2 years ago
Well, in practice it's less wireless than you might think -- I still use the USB port as power supply... ;-)
Reply 2 years ago
Ha!! Well at least you have options and *chose* USB for power :)
2 years ago
Wow! I use ms teams and this is a very nice idea! Next time make, Google meet and zoom mute button UwU..
Reply 2 years ago
Thanks very much, glad you found it helpful! This project uses the CPX to "press" keyboard keys (CTRL + SHIFT + M), so you could quickly adapt it for Google meet and Zoom -- just look up what the mute button hot key is and swap in that command!
Reply 2 years ago
Ok....Thanks by the ways it works in ms teams too ~_~
2 years ago
I NEED TO MAKE THIS FOR DAD!! HE NEVER MUTES! NOT GOOD WHEN THE WHOLE FAM IS WORKING FROM HOME!!:)
Reply 2 years ago
hah!! just saw this and yes, we support gifting of mute buttons :)
2 years ago
Hi!
The links to code (repository & raw) seems to be broken.
Can you fix it?
Reply 2 years ago
Whoops -- repo was private, now public (github.com/microsoft/teamsmutebutton). Hope that helps!
Reply 2 years ago
Nop. For me doesn't work. Error 404.
It may be the repo is private?
Reply 2 years ago
Ah, foo, still? I made it public, might take a lil' time to propagate. It's showing as public on my end but LMK if you're still unable to access and I'll just copy and paste the code in a message
2 years ago on Step 3
Great implementation! I also wanted to let you know that the two links for the code don't work.
Reply 2 years ago
Thanks! Forgot to make the repo public (facepalm). Should work now (github.com/microsoft/TeamsMuteButton)
2 years ago
Nice idea. Next up, Zoom mute button. :)
Reply 2 years ago
Thank you! Yes, mute buttons are clutch for any video call program! Since this project uses a keyboard "hot key", it is likely easily adaptable for Zoom :)