Library › Electronics › Switches ·
Arcade buttons, tactile and metal buttons, toggles, joysticks, thumbsticks, potentiometers, rotary encoders
What hole size does a 30 mm arcade button need? · Modern device · basis: Adafruit CAD (MIT) models of the sold parts; panel hole sizes from the product pages
- sizes
- 22 in table
Notes
- Arcade buttons: 30 mm (471) needs a Ø30 mm hole in 1–5 mm panels, body 33 mm OD, 45 mm deep with the microswitch; 24 mm mini arcade (3429) Ø24 hole, 32 mm deep; the 100 mm massive button (1185) Ø100 hole, 60 mm deep.
- 16 mm illuminated metal buttons (1145, 916): Ø16 mm hole, 2–10 mm panel, 30 mm behind. 8 mm soft tactile (3101): Ø8. 12 mm tactile B3F (1119): 12 × 12 × 7.3 mm body.
- Joysticks: 2-axis arcade-style (512) 40 × 40 × 32 mm; mini thumbstick (3102, 5628) 18 × 20 × 17 mm. 10K pot (562) Ø7 mm bushing, Ø6 mm D-shaft 15 mm. Rotary encoders (4991, 5221) Ø7 mm bushing with 6 mm shaft; the ANO encoder is Ø33 mm with a centre button.
Sizes
| product | bbox_l_mm | bbox_w_mm | bbox_h_mm |
|---|---|---|---|
| 471 Arcade Button 30mm | 42.4 | 34.4 | 33.9 |
| 1145 16mm button | 24.5 | 19.0 | 19.0 |
| 1185 Massive Arcade Button 100mm | 98.5 | 98.5 | 68.5 |
| 1119 Tactile Switch 12mm (B3F-40XX) | 12.9 | 12.0 | 9.0 |
| 916 metal button | 37.2 | 21.9 | 19.0 |
| 3350 RGB button | 21.5 | 18.0 | 18.0 |
| 3221 Toggle Switch | 33.3 | 13.2 | 10.0 |
| 805 slide switch | 11.7 | 8.0 | 4.0 |
| 512 Analog 2-axis Joystick | 38.1 | 38.1 | 21.0 |
| 3102 Mini Joystick | 64.0 | 54.5 | 54.5 |
| 5628 Mini Joycon Thumbstick | 23.9 | 22.2 | 16.2 |
| 562 10K Potentiometer | 25.4 | 24.8 | 17.5 |
| 4991 QT Rotary Encoder | 31.0 | 25.4 | 25.4 |
| 5221 ANO Rotary Encoder | 38.1 | 35.6 | 9.4 |
| 5743 Mini Gamepad STEMMA QT | 50.8 | 22.9 | 13.1 |
| 5100 MacroPad RP2040 | 105.2 | 60.8 | 34.1 |
| 817 Zippy Micro Switch | 37.8 | 22.1 | 10.3 |
| 3347 Metal Ball Tactile Button 6mm | 11.3 | 8.8 | 7.4 |
| 1092 Tactile On Off Switch | 18.2 | 15.4 | 8.6 |
| 1400 Push Button Power Switch | 20.3 | 17.8 | 9.0 |
| 5880 Rotary Encoder I2C STEMMA QT | 25.9 | 25.4 | 25.4 |
| 5752 Quad Rotary Breakout | 76.2 | 27.3 | 21.6 |
Where the files are
Other publishers' files are linked, not hosted. "verify" = check the license at the link before commercial use.
| Adafruit (official) | Adafruit_CAD_Parts: STEP, Fusion 360 and STL for Adafruit products | STEP, F3D, STL | MIT |
Free files
★ Free files 22 parts. Direct links to Adafruit Industries's own repository; nothing rehosted. MIT License (Adafruit_CAD_Parts). index.json
| 471-arcade-button-30mm | Adafruit #471 Arcade Button 30mm; bbox 42.4 × 34.4 × 33.9 mm; 0.4 MB on GitHub | STEP |
| 1145-16mm-button | Adafruit #1145 16mm button; bbox 24.5 × 19.0 × 19.0 mm; 0.3 MB on GitHub | STEP · STL |
| 1185-massive-arcade-button-100mm | Adafruit #1185 Massive Arcade Button 100mm; bbox 98.5 × 98.5 × 68.5 mm; 0.8 MB on GitHub | STEP |
| 1119-tactile-switch-12mm-b3f-40xx | Adafruit #1119 Tactile Switch 12mm (B3F-40XX); bbox 12.9 × 12.0 × 9.0 mm; 0.1 MB on GitHub | STEP · STL |
| 916-metal-button | Adafruit #916 metal button; bbox 37.2 × 21.9 × 19.0 mm; 0.7 MB on GitHub | STEP · STL |
| 3350-rgb-button | Adafruit #3350 RGB button; bbox 21.5 × 18.0 × 18.0 mm; 0.3 MB on GitHub | STEP · STL |
| 3221-toggle-switch | Adafruit #3221 Toggle Switch; bbox 33.3 × 13.2 × 10.0 mm; 0.7 MB on GitHub | STEP · STL |
| 805-slide-switch | Adafruit #805 slide switch; bbox 11.7 × 8.0 × 4.0 mm; 0.0 MB on GitHub | STEP |
| 512-analog-2-axis-joystick | Adafruit #512 Analog 2-axis Joystick; bbox 38.1 × 38.1 × 21.0 mm; 0.2 MB on GitHub | STEP |
| 3102-mini-joystick | Adafruit #3102 Mini Joystick; bbox 64.0 × 54.5 × 54.5 mm; 0.2 MB on GitHub | STEP |
| 5628-mini-joycon-thumbstick | Adafruit #5628 Mini Joycon Thumbstick; bbox 23.9 × 22.2 × 16.2 mm; 0.1 MB on GitHub | STEP · STL |
| 562-10k-potentiometer | Adafruit #562 10K Potentiometer; bbox 25.4 × 24.8 × 17.5 mm; 0.4 MB on GitHub | STEP |
| 4991-qt-rotary-encoder | Adafruit #4991 QT Rotary Encoder; bbox 31.0 × 25.4 × 25.4 mm; 1.9 MB on GitHub | STEP · STL |
| 5221-ano-rotary-encoder | Adafruit #5221 ANO Rotary Encoder; bbox 38.1 × 35.6 × 9.4 mm; 0.3 MB on GitHub | STEP · STL |
| 5743-mini-gamepad-stemma-qt | Adafruit #5743 Mini Gamepad STEMMA QT; bbox 50.8 × 22.9 × 13.1 mm; 1.0 MB on GitHub | STEP · STL |
| 5100-macropad-rp2040 | Adafruit #5100 MacroPad RP2040; bbox 105.2 × 60.8 × 34.1 mm; 3.1 MB on GitHub | STEP · STL |
| 817-zippy-micro-switch | Adafruit #817 Zippy Micro Switch; bbox 37.8 × 22.1 × 10.3 mm; 0.0 MB on GitHub | STEP |
| 3347-metal-ball-tactile-button-6mm | Adafruit #3347 Metal Ball Tactile Button 6mm; bbox 11.3 × 8.8 × 7.4 mm; 0.4 MB on GitHub | STEP · STL |
| 1092-tactile-on-off-switch | Adafruit #1092 Tactile On Off Switch; bbox 18.2 × 15.4 × 8.6 mm; 0.1 MB on GitHub | STEP |
| 1400-push-button-power-switch | Adafruit #1400 Push Button Power Switch; bbox 20.3 × 17.8 × 9.0 mm; 3.8 MB on GitHub | STEP · STL |
| 5880-rotary-encoder-i2c-stemma-qt | Adafruit #5880 Rotary Encoder I2C STEMMA QT; bbox 25.9 × 25.4 × 25.4 mm; 1.8 MB on GitHub | STEP |
| 5752-quad-rotary-breakout | Adafruit #5752 Quad Rotary Breakout; bbox 76.2 × 27.3 × 21.6 mm; 1.9 MB on GitHub | STEP · STL |
Plain text: sheet.txt · JSON: /api/geometry?object=adafruit-buttons-joysticks-encoders

Fits with
Questions
What size hole for a 30 mm arcade button?
Ø30 mm (30.2 for a slip fit) in a 1–5 mm panel; 45 mm of depth behind for the microswitch and wires.
What size hole for a 24 mm arcade button?
Ø24 mm, panel 1–5 mm, 32 mm of depth.
What panel hole for a potentiometer or rotary encoder?
Ø7 mm (7.2 in a print) for the standard M7 bushing, with an optional Ø2 anti-rotation hole 8 mm from centre; panel 1–3 mm. Knobs fit a 6 mm D-shaft.


