Number of Pull Down Resistors Needed

  1. If I need a pulldown resistor for a number of Arduino pins, It would be fine to use one 10K pulldown resistor and spit the output of that resistor into two or four different Arduino pins(one 10K pulldown for multiple pins)? In other words, I don't need a 10K pulldown resistor for each Arduino output, correct?

  2. Also, is it wise to connect all unused Arduino pins to ground, or set them to low in my code and connect them to ground, or does it not matter because I won't be using them and therefore the state of the pin can be anything. Thanks in advance!

1 . Incorrect. That shorts all the pins together.

  1. If not using them, set them to inputs with the internal pullup resistor enabled for minimal power consumption. No external resistors needed.
  1. If you want to use each pin as an input, each needs a separate pull-down. If you are not using them
    at all, you can common them.

  2. It is good practice to set unused pins to INPUT_PULLUP or OUTPUT so that you don't get oscillation
    or spurious current flowing in the input transistors. It is essential to do this for micro-power operation,
    leaving pins as unused unconnected inputs can waste many milliamps from the supply.

For instance I recently created a low power circuit with an ATmega328 running at 1MHz from a ceramic
resonator, and at 3.3V supply can get about 700uA or so supply current if I avoid unconnected input pins,
or ~5mA otherwise. Makes a difference if you only have 0.8mA available!

And to extend on 1, if you connect buttons, connect them between the pin and GND which saves you the hassle of connecting pull resistors. Simply use the internal pull up resistor and you're fine :slight_smile:

@MarkT

It is good practice to set unused pins to INPUT_PULLUP or OUTPUT so that you ....

The idea to set unused pins to INPUT_PULLUP is a very nice idea.

The idea to set unused pins to OUTPUT is very dangerous. It happened to me several times that i mixed up two adjacent pins. And I was glad that the Arduino sets all undefined data pins to INPUT. This helps to prevent unwanted short circuits.