# Button Box Help!

**URL:** <https://forum.arduino.cc/t/button-box-help/1343479>\
**Category:** General Guidance\
**Created:** [January 16, 2025, 7:12pm UTC](https://forum.arduino.cc/t/button-box-help/1343479 "2025-01-16T19:12:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 16, 2025, 7:12pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/1 "2025-01-16T19:12:10Z")

</div>

Hi all  
I am very new to all this stuff so need some help from you fellow experts. I have been designing a button box for a trucking simulator, i have got myself a bunch of switches and buttons a 3d printer and ready to roll but i have a few questions. The first onewould be am i limited on how many toggle switches i can use on one board, at the moment i have 15 toggle switches (non momentary), 6 push buttons (momentary) , 2 push pull, 12 position switch and a 4 way ignition switch. also if i upload the design i have could someone show me how i would wired the best way, I will be using my pro micro board. Pointers would be greatly appreciated. Many thanks

 ![1000018688](https://europe1.discourse-cdn.com/arduino/original/4X/b/a/b/babc2212a4dac0287122a05ac07372334f9e665f.jpeg)  
 ![1000018689](https://europe1.discourse-cdn.com/arduino/original/4X/5/4/e/54e2e135847164d2b1663d834cd3b58124111daa.jpeg)  
 ![1000018690](https://europe1.discourse-cdn.com/arduino/original/4X/d/c/0/dc060381354a56902189f9ef10063fb1f53643c7.jpeg)

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 16, 2025, 7:24pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/2 "2025-01-16T19:24:53Z")

</div>

> [@mrmarshall1986](#):
>
> am i limited on how many toggle switches i can use on one board

No. If you use some extra chips to provide more pins, you can have more buttons/switches.

> [@mrmarshall1986](#):
>
> i have a few questions

What are the others?

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 16, 2025, 7:34pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/3 "2025-01-16T19:34:23Z")

</div>

> [@mrmarshall1986](#):
>
> 15 toggle switches (non momentary), 6 push buttons (momentary) , 2 push pull, 12 position switch and a 4 way ignition switch

Post links to the specs of each of these switches. Without those, no-one can tell you how they should be wired.

The usual way to connect a large number of buttons & switches is to connect them as a matrix. Since you are using some non-momentary buttons/switches, it will be necessary to wire some small diodes into the matrix.

---

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 16, 2025, 7:39pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/4 "2025-01-16T19:39:13Z")

</div>

Awesome thanks for the reply, i did some research and did see about the diodes but not sure on where i would place them in the circuit. All the posts i have seen don't really show much on that side. I will drop the links below of the parts i have, Thanks again

---

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 16, 2025, 7:42pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/5 "2025-01-16T19:42:54Z")

</div>

Push Pull [Be In Your Mind 5Pcs ASW-05 Single Gear Push-pull Switch Electrical ON-OFF Push-Pull Switch Accessories for Electrical Appliances Tractor 10A DC12V/24V : Amazon.co.uk: DIY & Tools](https://www.amazon.co.uk/dp/B0C7QQYBS7?ref=ppx_yo2ov_dt_b_fed_asin_title)  
Ignition [MGI SpeedWare 4-Position Universal Ignition Key Switch for 12V Car, Truck, Tractor, Trailer, Forklift - Acc/Off/IGN/(Start) : Amazon.co.uk: Automotive](https://www.amazon.co.uk/dp/B07MT2N65B?ref=ppx_yo2ov_dt_b_fed_asin_title)  
3 pin toggle [QWORK® 20Pcs SPST Mini Toggle Switch AC 125V 6A ON-ON 3 Pins 2 Position for Arduino Boat Vehicles Dash Dashboard (MTS102 Dark Blue) : Amazon.co.uk: Automotive](https://www.amazon.co.uk/dp/B0B56S4F1X?ref=ppx_yo2ov_dt_b_fed_asin_title)  
Push Button [Gebildet 10 Pcs 12mm Waterproof Push Button Momentary Stainless Steel Push Button On Off 2A 12V/24V/125V/250V AC (High Head) : Amazon.co.uk: Business, Industry & Science](https://www.amazon.co.uk/dp/B0811QKG1R?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1)

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 16, 2025, 8:11pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/6 "2025-01-16T20:11:21Z")

</div>

You would wire a diode in series with any button or switch that's not momentary.

I'm curious what you posted that got flagged!

Those "push-pull" switches. They have 2 positions? If so, you would wire them like any other switch.

That 12-way switch could be the most tricky to deal with as part of the matrix. It might be easier to connect it up as a 12-position potentiometer using 11x 1K resistors and connect the common pin to an analog input pin.

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [January 16, 2025, 9:03pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/7 "2025-01-16T21:03:05Z")

</div>

> [@PaulRB](#):
>
> I'm curious what you posted that got flagged!

The Discourse forum software flagged the post as possible spam, probably due to the number of external links that it contained

I have removed the flag and restored the post

---

<div class="post-metadata">

**Author:** ![LarryD](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/larryd/32/215550_2.png) [@LarryD](https://forum.arduino.cc/u/LarryD)\
**Post date:** [January 16, 2025, 9:17pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/8 "2025-01-16T21:17:22Z")

</div>

FYI

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/4/f/1/4f10726ce5c08153c5fb12afb1fe2871be36e4c2.png)

> **[Gammon Forum : Electronics : Microprocessors : Using a keypad matrix](https://www.gammon.com.au/forum/?id=14175)**
>
> Gammon Forum : Electronics : Microprocessors : Using a keypad matrix

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 17, 2025, 7:40am UTC](https://forum.arduino.cc/t/button-box-help/1343479/9 "2025-01-17T07:40:23Z")

</div>

Can you post link to the 12-position switch please.

 ![Screenshot_20250117-081033-635](https://europe1.discourse-cdn.com/arduino/original/4X/5/a/c/5ac19843b4aba514349933c4da8cc111b58df7e2.jpeg)  
This image looks like it could be a 6 position double throw switch, not a 12 position single throw.

I don't see a problem wiring all the other switch/button types into a 7x4 matrix requiring 11 Arduino pins.

---

<div class="post-metadata">

**Author:** ![Deva\_Rishi](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/deva_rishi/32/227254_2.png) [@Deva\_Rishi](https://forum.arduino.cc/u/Deva_Rishi)\
**Post date:** [January 17, 2025, 10:00am UTC](https://forum.arduino.cc/t/button-box-help/1343479/10 "2025-01-17T10:00:27Z")

</div>

> [@PaulRB](#):
>
> This image looks like it could be a 6 position double throw switch, not a 12 position single throw.

Actually looks like a 3 position-Quadruple-Throw. it is even possible that it can be used in multiple ways

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 17, 2025, 11:18am UTC](https://forum.arduino.cc/t/button-box-help/1343479/11 "2025-01-17T11:18:46Z")

</div>

> [@Deva\_Rishi](#):
>
> looks like a 3 position-Quadruple-Throw.

I'm not sure about that. The "A" and "C" terminals seem to have pins, but the "B" and "D" terminals may not have, although it could be just the angle of the picture. No point wasting time trying to figure it out from blurry images, we need that link from @mrmarshall1986 .

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 17, 2025, 11:23am UTC](https://forum.arduino.cc/t/button-box-help/1343479/12 "2025-01-17T11:23:06Z")

</div>

> [@PaulRB](#):
>
> It might be easier to connect it up as a 12-position potentiometer

I can think of several ways to incorporate the 12-position switch into the matrix.

One way would require a lot of diodes (~20) to encode the 12 outputs down to 4 for inclusion in the matrix.

Another way would be to increase the size of the matrix to at least 12x3, which would require more Arduino pins.

---

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 17, 2025, 5:57pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/13 "2025-01-17T17:57:15Z")

</div>

Sorry everyone just been busy at work but can i just say a massive thanks to you all for taking your time to help me out, here's the link for the other switch [sourcing map 5PCS 2 Pole 6 Throw 12 Positions 6mm Shaft Diameter Rotary Selector Switch : Amazon.co.uk: DIY & Tools](https://www.amazon.co.uk/dp/B07N3YVXS9?ref=ppx_yo2ov_dt_b_fed_asin_title) worst case i could just pop in another push pull if this is no good

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 17, 2025, 11:28pm UTC](https://forum.arduino.cc/t/button-box-help/1343479/14 "2025-01-17T23:28:28Z")

</div>

It could be that the description on the Amazon page is inaccurate. A 12 position switch should be described as "1 pole 12 throw" but this one is described as "2 pole 6 throw". It might have 12 physical positions, but only 6 positions that can be detected by the Arduino (the other 6 positions would read the same as the first 6 positions to the Arduino).

What purpose did you want to use this switch for?

---

<div class="post-metadata">

**Author:** ![paulpaulson](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulpaulson/32/363643_2.png) [@paulpaulson](https://forum.arduino.cc/u/paulpaulson)\
**Post date:** [January 18, 2025, 4:41am UTC](https://forum.arduino.cc/t/button-box-help/1343479/15 "2025-01-18T04:41:54Z")

</div>

Hi [mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)

I have read your kind reply and here is my contribution from the field.

The Arduino-Due has a large number of I/O pins so that the buttons, switches etc. can be read without additional hardware. This hardware reduces the probability of errors and the system is easier to maintain.  
By using OOP you have a nice solution for your simulator.

What do you think?

---

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 18, 2025, 9:18am UTC](https://forum.arduino.cc/t/button-box-help/1343479/16 "2025-01-18T09:18:49Z")

</div>

It was mainly for the retarder so you can increase and decrease using this switch. I could use buttons but i guess its more realistic with this type of switch

---

<div class="post-metadata">

**Author:** ![mrmarshall1986](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrmarshall1986/32/1098606_2.png) [@mrmarshall1986](https://forum.arduino.cc/u/mrmarshall1986)\
**Post date:** [January 18, 2025, 9:19am UTC](https://forum.arduino.cc/t/button-box-help/1343479/17 "2025-01-18T09:19:53Z")

</div>

@paulpaulson that is possibly a better option for me, i will check it out later, thanks again

---

<div class="post-metadata">

**Author:** ![Deva\_Rishi](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/deva_rishi/32/227254_2.png) [@Deva\_Rishi](https://forum.arduino.cc/u/Deva_Rishi)\
**Post date:** [January 18, 2025, 9:35am UTC](https://forum.arduino.cc/t/button-box-help/1343479/18 "2025-01-18T09:35:11Z")

</div>

> [@PaulRB](#):
>
> I'm not sure about that. The "A" and "C" terminals seem to have pins, but the "B" and "D" terminals may not have,

I have (or had) a similar switch from an old velleman kit, which had 3 terminals and was in fact a 4 position triple throw. I was expecting the terminals to have tabs since mine only had A B & C on it.

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 18, 2025, 9:35am UTC](https://forum.arduino.cc/t/button-box-help/1343479/19 "2025-01-18T09:35:33Z")

</div>

It's not clear how the switch works, from the Amazon description, which is ambiguous.

If you attach a knob with some pointer on it, how many physical positions does it have? Will it allow you to rotate forever or are there one or two physical stops? If there are stops, what angle can you turn through?

Next, grab your multimeter. Test the switch in each position in turn. For each position, use the multimeter to find out which pin is connected to "A" and which pin is connected to "C", if any. Make a table of the results and post it here.

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [January 18, 2025, 9:46am UTC](https://forum.arduino.cc/t/button-box-help/1343479/20 "2025-01-18T09:46:49Z")

</div>

> [@Deva\_Rishi](#):
>
> was expecting the terminals to have tabs since mine only had A B & C on it.

Looking at similar products on the web, it appears there are 1P12T, 2P6T, 4P3T versions that use the same plastic case and have either 1, 2 or 4 pins near the centre and 12 pins around the circumference. But even when there are fewer than 4 pins near the centre, you can see metal stubs where the missing pins would be.

There is also a 3P4T version but that has a different plastic case with 3 pins near the centre.

[Next page](https://forum.arduino.cc/t/button-box-help/1343479.md?page=2)
