There are many tutorials that use a pull-up or pull-down resistor in conjunction with a switch to avoid a floating ground, e.g.


  http://www.arduino.cc/en/Tutorial/button


Many of these projects use a 10K resistor, merely remarking that it is a good value.

Given a a particular circuit, how do I determine the appropriate value for a pull-down resistor?  Can it be calculated, or is it best determined by experimentation?

Quick Answer:  Experience and experimentation is how you figure out the proper pullup/pulldown value.

Long Answer:  The pullup/down resistor is the R in an RC timing circuit.  The speed that your signal will transition will depend on R (your resistor) and C (the capacitance of that signal).  Often times C is hard to know exactly because it depends on many factors, including how that trace is routed on the PCB.  Since you don't know C, you cannot figure out what R should be.  That's where experience and experimentation come in.

Here are some rules of thumb when guessing at a good pullup/down resistor value:


For most things, 3.3k to 10k ohms works just fine.
For power sensitive circuits, use a higher value.  50k or even 100k ohms can work for many applications (but not all).
For speed sensitive circuits, use a lower value.  1k ohms is quite common, while values as low as 200 ohms are not unheard of.  
Sometimes, like with I2C, the "standard" specifies a specific value to use.  Other times the chips application notes might recommend a value.

