Physical Buttons for Zoom
Introduction: Physical Buttons for Zoom
Due to the COVID-19 pandemic, my children had to learn online from home via Zoom App. After a few observations, I found that my little daughter had difficulty with keyboard and mouse operations because her desk was filled with notebooks, textbooks, pens, rulers and school supplies. Sometimes she missed answering questions when the teacher called her name because she was slow to use the mouse and keyboard. So I made her a physical push-button box controlled by Attiny85 that connects via the laptop's USB port to help her study better.
Step 1: Supplies
First of all, I would like to thank the JLCPCB for supporting me on this project. If you have a PCB project, please visit the JLCPCB website to get exciting discounts and coupons:
⦾ JLCPCB PCB Prototype only $2.
⦾ Get $24 Register Coupon Get $24 Register Coupon here: jlcpcb.com/cyt
Main materials:
⦾ 1pcs x DigiSpark ATTiny85.
⦾ 1pcs x M5StickC (Optional).
⦾ 4pcs x Mini Round Momentary Push Button.
⦾ 1pcs x Double Sided DIY Protoboard Circuit 5x7cm.
⦾ 2 meters x 5 Cores Cable.
⦾ 1pcs x Cable Gland. 33
It is based on 5 core cable size.
⦾ 4 pcs x R10K.
⦾ 3 pcs x R22K.
⦾ 1 pcs x R200K.
⦾ 1pcs x Male & Female Header.
⦾ 1pcs x PVC Pipe Cross Ø21mm.
⦾ 4pcs x PVC Pipe End Cap Ø21mm.
Step 2: Schematic
In this project, I used DigiSpark ATTiny85's reset pin (PB5 or ADC0) as the multiple analog buttons without setting Fuse Bits. The schematic is as follows:
ATTiny85 & pushbuttons in this project works like an USB HID (Human Interface Device) keyboard. There are 4 pushbuttons and their functions describes below:
⦾ Center Button: Enter (short press less than 1 second) or Exit (press and hold more than 2 seconds) the Zoom meeting window.
⦾ Audio Button: Mute/ Unmute my Audio.
⦾ Video Button: Start/ Stop Video.
⦾ Hand Button: Raise/ Lower Hand.
The table below shows the voltages and analog values at ATTiny85's PB5 pin corresponding to each push button when it is pressed:
With this hardware config, PB3 (USB+), PB4(USB-) and RESET (PB5) pins are used and I have 3 pins left for further development:
⦾ PB0 (SDA) and PB2(SCL): can be used for I2C related further development applications.
⦾ PB1(PWM1): can be used for PWM control.
⦾ Or PB0 (MISO), PB1 (MOSI), PB2 (SCLK): can be used for SPI communication.
Step 3: Assembly
Prepare PVC pipe fittings Ø21mm: one cross and four end caps.
Drill holes on 3 end caps and install 3 green push buttons.
Drill hole on the PVC cross center and install red push button.
Mount cable gland on the remaining end cap.
Solder 5 cores cable to 4 push buttons, joint 4 PVC end caps and cross together.
Cut the PCB 5x7cm in half, solder the resistors, 5 core cable at the bottom and mount this PCB on a small acrylic sheet, fix the 5 cores cable by cable tie.
Female headers for ATTiny85 were soldered on the PCB top. The I2C pull-up resistors 10K and 8-pin male header for M5StickC were also soldered for further development.
Plug DigiSpark ATTiny85 on the PCB control board. DONE!!!
Step 4: Zoom Keyboard Shortcuts
Download and install Zoom Client for Meetings software in my computer.
Open Zoom ‣ Settings ‣ Keyboard Shortcuts
Record the shortcuts that I want to use for my buttons, in my case, they are:
⦾ Mute/ Unmute My Audio: Alt + A.
⦾ Start/ Stop Video: Alt + V.
⦾ Raise/ Lower Hand: Alt + Y.
⦾ Close Current Window: Alt + F4. 379