Given I have two Arduinos that are supposed to primitively communicate with each other using digital pins. On Arduino Ar1, pin D13 is to be used as an input, connected to Ar2's D2 pin.

Will I need to use the internal pullup resistor of Ar1 on pin 13, or is an outputted signal of LOW/HIGH already dragged to 0V/5V?

  • It's better to not think of the pullup resistor as part of the input (even though physically it is inside the chip) but instead think of it as part of the button circuitry. Thus if you're not using a button then the button circuitry doesn't exist, and that includes the pullup resistor.
    – Majenko
    Aug 25, 2022 at 10:31

1 Answer 1


If you set a pin to output mode in Arduino, it is "push-pull". This means, that any value, 0 or 1, is actively driven.

Therefore, you do not need a pull-up or pull-down resistor on the receiving input.

You need such a resistor, only if the driver does not drive the voltage actively. For example, this is the case with buttons or switches, which simply open and close a contact.

Some output modes exist like "open-drain" that only drive to GND at a value of 0, but do not drive the output pin at a value of 1. Such modes are not used if you call pinMode().

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.