# Multiple buttons with a single resistor?

I was wondering if I have 8 buttons, can I have the negatives all tied together, then use a single resistor to go from that grouping to ground?

The buttons are momentary....

Also, could someone explain why you need a resistor? I've read in other topics it's to pull the arduino pin down to ground, but what does that mean? Why doesn't it automatically go down to ground?

could someone explain why you need a resistor?

In a sense you're right: you don't need a resistor to do the pulling down, you could use a wire for that.

BUT don't try it. Look at a schematic like say here: with no resistor, when the switch is closed there would be a direct short between the 5V and GND, and BOOM! something will pop.

When the switch is open, the pin is attached to ground and reads 0V; close the switch, the pin is taken to 5V. The pull down guarantees the pin is at 0V when the switch is open- without the pull down it could possibly just float around at any random value.

Thank you , that answers the second question very clearly. The resister is acting like a load to prevent short circuit... And the ground is needed to make sure the pin reads zero volts.

So I should be fine tying all the grounds from all my buttons together and then putting a resistor between them and ground.

Qdeathstar:
So I should be fine tying all the grounds from all my buttons together and then putting a resistor between them and ground.

I think so, but I'm not 100% sure.

But, in any case, it's more usual to use pullUPs than pullDOWNs, and there's an easier way to do that in software. Simply pinMode the pin like this....

``````pinMode(x, INPUT_PULLUP);
``````

..... with no need for external resistors, since that command enables the built-in ones.

Just be aware that pullUPs invert your logic from pullDOWN: closing the switch takes the pin low whereas before it took it high.