How to handle multiple pull-up resistors on different parts of the circuit?

Hello all,

As a beginner, I vaguely understand (I think) why you need a pull-up resistor on some parts of a circuit. However, I'm not sure if it's okay to have multiple pull-up resistors in different parts of a project? Would I need to adjust the resistor values in such cases?

For instance, I've been adding sensors on my breadboard one by one as I test them, and here's what I got right now:

http://imgur.com/a/tHnVe

The DS18B20 ideally needs a 4k7, and the DHT11 ideally needs a 10k (from recommendations I've read). However, when I have them working in parallel like this, drawing from the same 5V supply, do things begin to change?

Am I about to fry my first arduino? :stuck_out_tongue:

As long as your PU resistors are on separate signals their values have no bearing on each other, just use what's recommended for each device.

Hi, Welcome to the forum.

You need a separate pullup resistor for each of those sensors as you have fitted.

Even though they share the same gnd, they are not in parallel because they are connected to different parts of the circuit, providing pullups for different devices.

Tom..... :)

Thanks for the replies. It's reassuring to know I'm not doing anything fundamentally wrong... yet. :-)

Your pull-ups aren't in parallel... They are connected to different I/O pins... That's fine and it's not unusual.

The values usually are not critical and I'd guess that anything between 1K and 10K would be fine, but I haven't check the datasheets for your parts. Different pull-ups for different parts are fine and the Arduino doesn't care.

You won't burn-up your Arduino with a properly connected pull-up connected to an input pin. But, if the value is too low (maybe 100 Ohms or 10 Ohms) you could burn-up the other chip where the pull-up is connected to an output. There are ways to mis-wire and fry your Arduino, but I don't think there's any way to mis-wire a 1K (or greater) resistor that would damage your Arduino (as long as you're not applying high voltages to the resistor or the Arduino).

When you have a pull-up resistor and the connected output goes low it "overpowers" the resistor and pulls the line low. That means current flows through the resistor and the lower the resistance the more current flows (Ohm's Law). If you "pull" too much current out of the device it may overheat or the resistor may overheat.

As a general guide if the device is on the same board or close-by try 10k pullup. If its a remote switch or you are in an electrically noisy environment (like near a motor) try 1k or 2k2, which gives much greater noise immunity. Generally the value is not critical at all, but you have to consider noise immunity and power consumption.