Easy Zoom Quit Button

12,217

151

25

Introduction: Easy Zoom Quit Button

About: My name is Randy and I am a Community Manager in these here parts. In a previous life I had founded and run the Instructables Design Studio (RIP) @ Autodesk's Pier 9 Technology Center. I'm also the author of…

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.

Microcontroller Contest

This is an entry in the
Microcontroller Contest

Be the First to Share

    Recommendations

    • Pi Day Speed Challenge

      Pi Day Speed Challenge
    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Microcontroller Contest

      Microcontroller Contest

    25 Comments

    0
    Lance3495
    Lance3495

    Tip 9 days 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!

    0
    randofo
    randofo

    Reply 9 days ago

    Yes. The code above is for a Mac. Thanks for updating this for Windows.

    0
    skywiredvt
    skywiredvt

    Question 9 days 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?

    0
    mikecodd19
    mikecodd19

    Answer 6 days 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!!!!

    0
    skywiredvt
    skywiredvt

    Reply 4 days ago

    OK, thank you for that clarification, I will think about buying a Micro for this!
    Thanks again!

    0
    michaelcoddingtongsmst
    michaelcoddingtongsmst

    Reply 2 days 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.

    0
    skywiredvt
    skywiredvt

    Reply 14 hours 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!

    0
    skywiredvt
    skywiredvt

    Reply 4 days ago

    OK, thank you for letting me know!

    0
    bowen.finn
    bowen.finn

    Question 6 days 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.

    0
    ajrouse
    ajrouse

    Answer 2 days 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.

    0
    mikecodd19
    mikecodd19

    Tip 6 days 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).

    0
    Kalle Blomquist
    Kalle Blomquist

    9 days ago

    Superfluous but very cool 😎

    0
    ChiefInstructor
    ChiefInstructor

    Reply 9 days ago

    Agreed. Very useful for a quick escape from a zoom call. Or program it to do something else

    2
    randofo
    randofo

    Reply 9 days 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.

    0
    Techhlp
    Techhlp

    Reply 9 days 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.

    0
    craftisan
    craftisan

    9 days ago

    I NEED THIS!!!

    0
    vpu417
    vpu417

    9 days 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.

    0
    randofo
    randofo

    Reply 9 days ago

    Good catch. I've corrected it.

    0
    UkeDog
    UkeDog

    9 days ago

    Nice! Love the industrial look. I can think of one School Board that could have used this!