Introduction: Easy Zoom Quit Button
This Zoom emergency quit button lets you exit out of your meeting in an instant. It is simple to make and requires very little electronics experience. I built this because I was always searching around for the quit button on the bottom of the screen and seemed to always be that last person to leave every meeting. Now that I have built this emergency quit button I can exit any Zoom meeting like a champ. I would say that my quality of life has now improved 357% (give or take).
Supplies
(X1) Emergency Button Assembly
(X1) Adafruit Trinket M0
(X1) Micro USB Cable
(X2) 22AWG M4 Fork Spade Terminal Connectors
(X2) 6" Stranded Wires
(X1) Momentary pushbutton (optional)
Tools:
(X1) Soldering Iron Kit
(X1) Wire Stripper
(X1) Screwdriver
(X1) Box Cutter
Note: Some of the links on this page are affiliate links. This does not change the cost of the item to you, but I do make a small commission if you click on the link and purchase something. I use the money that I make from this to create more projects. Should you want me to recommend an alternate supplier, let me know.
Step 1: Setup the Software
This project assumes that you have some working knowledge of Arduino. Nevertheless, I will gloss over the software setup process here.
First and foremost, download the Arduino IDE if you have not done so already.
Next, you will need to add the Adafruit Trinket M0 to the Arduino IDE. The easiest way to do this is to follow the install instructions on the Adafruit page.
Finally, configure the board as follows
Tools > Board > Adafruit Trinket M0
Tools > Port > /dev/cu.usbmodem (or similar)
Step 2: Program the Board
Upload the following code to the board:
// ****************************************************** // // Code for quitting Zoom quickly // // Designed for Adafruit Trinket M0 // by Randy Sarafan // // For more info check out: // https://www.instructables.com/Easy-Zoom-Quit-Button/ // // ****************************************************** // Add the keyboard library #include <Keyboard.h> void setup() { // Configure Pin 2 as input switch. // Triggered when connected to ground. pinMode(2, INPUT_PULLUP); // Start running the board as a virtual computer keyboard Keyboard.begin(); } void loop() { // Check for a button press event if (digitalRead(2) == LOW) { // Press command w and wait 1/10 second Keyboard.press(KEY_LEFT_GUI); Keyboard.press('w'); delay(100); // Release all keyboard keys Keyboard.releaseAll(); // Press the return key and wait 1/10 second Keyboard.press(KEY_RETURN); delay(100); // Release all keyboard keys Keyboard.releaseAll(); // Wait for the pushbutton to be released before resuming while (digitalRead(2) == LOW){ delay(1000); } } }
Step 3: Attach the Connectors
Cut two 6" wires. One should preferably be black (for ground) and the other whatever other color you would like.
Strip one end of each wire and crimp fork spade terminals onto the ends of each.
Step 4: Solder the Wires
Solder the black wire to ground.
Solder the other wire to pin 2.
Note: If you don't know how to solder, you can learn how in my Intro to Soldering instructable.
Step 5: Insert the USB
Find the enclosure's rubber grommet.
With a razor blade, cut a small slit large enough to pass the end of USB cable through, and then do so.
Step 6: Plug in the USB
Mount the rubber grommet in the enclosure and then plug the USB cable into the Trinket M0.
Step 7: Replace the Switch (optional)
The emergency switch assembly comes with a latching switch. This means when you press it down, the switch locks into place and stays there until you twist and release it.
I wanted my button to return on its own. Thus, I decided to replace it with a momentary spring-return switch.
In order to do this, I just disassembled the latching switch and remove it from the enclosure. I then disassembled and installed the momentary switch instead.
Step 8: Wire the Switch
There are two sets of connections inside the switch. One is normally open (not connected) and one is normally closed (connected). We want to connect the two wires to the normally open connection. That way, when the switch is pressed the connection closes.
Usually these connections are marked. In my switch it wasn't marked, but the enclosure was clear and I could see which connection was the one that was not normally connected to terminals.
I attached the spade terminals from the circuit board to these two terminals using their mounting screws.
Note:If you end up getting this wrong, no worries. Just switch the wires to the other set of terminals.
Step 9: Close the Case
Put the lid on the enclosure and fasten it shut with its mounting screws.
Step 10: Quit Zoom!
To use this, simply plug it into your USB port.
When you are ready to end your Zoom meeting, press the button.
That is all there is to it.

Did you find this useful, fun, or entertaining?
Follow @madeineuphoria to see my latest projects.

Participated in the
Microcontroller Contest
25 Comments
Tip 2 years ago
I think it's important to note that this was coded for a Mac (if I'm not mistaken) because the keyboard shortcut to quit a Zoom meeting in Windows is ALT+q, not COMMAND+w.
Simple enough to change though, just swap out:
// Press command w and wait 1/10 second
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('w');
delay(100);
with:
// Press alt-q and wait 1/10 second
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('q');
delay(100);
But a very convenient way to end a call, with AUTHORITY! :-)
**EDIT: Originally I said CTRL+q was the Zoom command to end the meeting and wondered why my code didn't work. Then I actually checked and discovered it's ALT+q. Derp!
Reply 2 years ago
Yes. The code above is for a Mac. Thanks for updating this for Windows.
1 year ago
Not sure how I missed this first time round. But I still need one now, so this may have to be my summer project! Thanks for posting!
Question 2 years ago
Whenever I try to upload the code to my Arduino MEGA, it gives me this error message:
Arduino: 1.8.13 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
In file included from C:\Users\Computer\Desktop\Arduino_mega_textbuttoncontroller\Arduino_mega_textbuttoncontroller.ino:1:0:
C:\Program Files (x86)\Arduino\libraries\Keyboard\src/Keyboard.h:29:2: warning: #warning "Using legacy HID core (non pluggable)" [-Wcpp]
#warning "Using legacy HID core (non pluggable)"
^~~~~~~
C:\Users\Computer\Desktop\Arduino_mega_textbuttoncontroller\Arduino_mega_textbuttoncontroller.ino: In function 'void setup()':
Arduino_mega_textbuttoncontroller:15:5: error: 'Keyboard' not found. Does your sketch include the line '#include '?
Keyboard.begin();
^~~~~~~~
C:\Users\Computer\Desktop\Arduino_mega_textbuttoncontroller\Arduino_mega_textbuttoncontroller.ino: In function 'void loop()':
Arduino_mega_textbuttoncontroller:28:5: error: 'Keyboard' not found. Does your sketch include the line '#include '?
Keyboard.print("You pressed the button ");
^~~~~~~~
exit status 1
'Keyboard' not found. Does your sketch include the line '#include '?
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
What am I doing wrong? I have the #include , but it does not work. I also have the same code that was in this article. What is it? Thanks in advance!
Do you need verbose to be enabled?
Answer 2 years ago
Your problem is that you are using a Mega board and not a 32u4 or SAMD board. Keyboard.h will only work on these types of boards. Look for Pro Micro, seeeduino xoia, or the trinket mo boards. Go to https://www.arduino.cc/reference/en/language/funct... for Arduino's reference material. First line says:
Notes and Warnings
These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer.Hope this helps.
This Zoom Killer is a great tool for those of us who use Zoom on 8 different calls a day (robotics teacher). Many thanks to Randy for putting this instructable together!!!!
Reply 2 years ago
OK, thank you for that clarification, I will think about buying a Micro for this!
Thanks again!
Reply 2 years ago
Be careful which "micro" you use/buy. It must be a 32u4 or SAMD board. Sparkfun has the Pro Micro and Arduino does not. Arduino has the Micro. There are a couple other board makers that have a "micro." Just be sure to look at the board specs.
Reply 2 years ago
Yes, I know. After a bit of research, I decided to go with the 32u4 Leonardo, instead of the Micro. It might become a fat project though. That Arduino isn't very small!
Answer 2 years ago
After a quick search it would seem that the keyboard library might not be designed to work with the Arduino Mega:
https://forum.arduino.cc/index.php?topic=318944.0
Reply 2 years ago
OK, thank you for letting me know!
Question 2 years ago on Introduction
is there a way to add Mute Microphone and Mute Camera options? I realize that would require different controllers and buttons, but it would make it fractionally more useful.
Answer 2 years ago
There is no reason that you couldn't do that with another button tied to pin 3 for example and the proper keyboard shortcut. You could even code the one button to do something different for a short/long button press. E.g. short press mutes/unmutes long press hangs up.
Tip 2 years ago
This is great!!! Nice job on your instructions. But, for windows users, be sure to follow Lance3495 and his sketch modification. Also, when determining which posts to use on the momentary switch, use a Ohm meter. You want the two opposite posts that have no reading (Normally Open: Resistance is infinite).
2 years ago
Superfluous but very cool 😎
Reply 2 years ago
Agreed. Very useful for a quick escape from a zoom call. Or program it to do something else
Reply 2 years ago
You know... I have to disagree here... That could normally describe most of what I make, but I think this is one of those rare instances where, in fact, I made something useful. Now that I've made this, I use it all the time.
Reply 2 years ago
I also agree with you that a one touch is an extremely practical solution. There are other Ables that added a few other keys such as volume and webcam On/Off etc., they turned out to resemble one of the home studio trigger button percussion kits, but suitably labeled you wouldn’t want to be without it.
There’s a entire study on ergonomic efficiency of dedicated levers, switches, knobs etc. where conventional multipurpose devices, (keyboard/mouse) are already right in front of us.
2 years ago
I NEED THIS!!!
2 years ago
delay(100) is actually 1/10 of a second (100 milliseconds), not 1/100 of a second. Other than that, nice project, nicely presented.
Reply 2 years ago
Good catch. I've corrected it.