Analog and Digital
The concept of analog and digital signals extends far beyond video game controllers. A digital signal is one that can only ever have two values: on or off. These two values are sometimes referred to in computing circles as the binary values ̶0;1̶1; and ̶0;0.̶1; Computer network traffic is an example of a digital signal. By contrast, an analog signal is a continuous wave rather than a quick series of on and off signals. Sound waves traveling through the air are examples of analog transmission.
Analog Buttons
A digital button on a controller can only generate one level of output. Once the button is pushed sufficiently hard, the controller will tell the game system to perform the action that corresponds to that button being pressed. Analog buttons, however, can sense more than a simple ̶0;pushed̶1; or ̶0;not pushed̶1; value. For example, using analog buttons as the accelerator in a racing game means that you can control how hard you accelerate by pushing the button with varying degrees of force.
Analog Stick
Analog sticks are closely related to analog buttons. They are raised buttons that can be moved through 360 degrees, usually with the thumb. They are the analog equivalent of the traditional digital D-pad. The advantages of using analog sticks are largely the same as those of using analog buttons: they allow for fine control over on-screen action. For example, moving your analog stick a little to the right might cause a character to walk in that direction, while pushing it harder might cause that character to run.
Potentiometer
Analog buttons and sticks measure the degree as well as direction of input using electrical components known as potentiometers. A potentiometer is a type of variable resistor with three terminals: one connected to power, one grounded and one that is free to move across a strip of resistive material. When you press the button, the free terminal moves across the strip, changing the resistance of the button's circuit. By measuring that resistance, the controller is able to figure out how hard the button is being pressed.