Generally, a pullup resistor (or a pulldown) is used to keep a pin from 'floating', which basically happens when nothing is driving the pin. The pin's voltage floats around due to induced voltages from traces around it, the weather, humidity, your hand, etc.etc...
Another reason is that the pin might be an 'open drain' ('open collector' for older school types). This means that the pin only has a switching transistor to pull it low, and not high. So you connect a resistor of about 4.7K to Vcc across it. This provide a couple of mA (@ 5v) at most to keep the pin high.
The internal pullups are valued at around 100K, which means they'll only provide about 50uA of current to hold it high. If you connect a load of much more than 50uA to that pin (a load resistance of much more than 100K), you'll be able to draw that pin low.
Most likely, even though you're using the internal pullups, sometimes, depending on the outside circuitry, yes, you'll have to add a small pullup resistor.
Generally speaking, a pullup resistor's value is either 4.7K or 10K, depending.
Make the resistance too low, and you draw unneccessary current and it won't allow external circuitry to pull the pin low.
Make the resistance too high, and you might not have enough current to pull the pin high like you wanted in the first place.
Stick with 4.7K, and you should be fine.
Bookmarks