The default choice for reading analog dials on a microcontroller is a 10kΩ linear potentiometer. It provides the ideal source impedance for the Arduino's analog-to-digital converter (ADC) while drawing minimal current. However, pulling a random pot from your parts bin without testing it first is a fast track to jittery sensor data and dead spots. Before wiring it to your Arduino's 5V or 3.3V rail, you need to verify its resistance, taper, and track condition with a multimeter.

This guide walks through the exact bench procedure to validate a potentiometer on Arduino projects, interpret the numeric readings, and select the right physical form factor for your enclosure.

Multimeter Setup and Probe Placement

To test a potentiometer, you are measuring resistance, not voltage. This means the component must be completely isolated from any power source. Measuring resistance on a live circuit will yield garbage data and can blow the internal protection fuse on your multimeter.

Safety & CAT Rating Note: Arduino circuits operate at Safe Extra Low Voltage (SELV) levels (5V or 3.3V). A standard CAT II multimeter is more than sufficient for bench electronics. However, the strict rule of resistance measurement applies: never apply the Ohms setting to a powered circuit, even at 5V. Always de-energize the breadboard and remove the potentiometer from the circuit before testing.

Meter Setup Block

  • Dial Position: Set to Resistance (Ω). If your meter is manual-ranging, select the 20kΩ or 200kΩ range to accommodate a 10kΩ or 100kΩ pot without over-ranging.
  • Lead Jacks: Black lead to COM (Common). Red lead to V/Ω (Voltage/Ohms).
  • Zero Check: Touch the probe tips together. The display should read 0.2Ω to 0.5Ω (the inherent resistance of your test leads). Keep this offset in mind for low-resistance measurements.

Probe Placement Procedure

A standard potentiometer has three pins: Pin 1 (Outer A), Pin 2 (Wiper/Middle), and Pin 3 (Outer B). The physical orientation of Pin 1 vs Pin 3 doesn't matter for basic linear operation, but it dictates whether turning the knob clockwise increases or decreases the value.

  1. Total Resistance Test: Place the red probe on Pin 1 and the black probe on Pin 3. This measures the fixed carbon or cermet track.
  2. Wiper Sweep Test: Move the red probe to Pin 2 (the wiper). Keep the black probe on Pin 1. Slowly rotate the shaft from one mechanical extreme to the other.
  3. Reverse Sweep Test: Move the black probe to Pin 3, keeping the red probe on Pin 2. Rotate the shaft in the opposite direction.

Expected Readings: Good vs. Bad Potentiometer Values

When testing a standard 10kΩ linear potentiometer (like the widely used Bourns 3386P series), manufacturing tolerances typically sit at ±10% or ±20%. Here is exactly what your multimeter should display.

Test Point Expected 'Good' Reading 'Bad' Reading (Failure Mode) What the Bad Reading Means
Pin 1 to Pin 3 (Outer to Outer) 9.50kΩ to 10.50kΩ (for a 10k pot) 'OL' (Over Limit) or 0.00Ω Internal track is snapped open, or wiper is shorted to both ends.
Pin 2 to Pin 1 (Wiper Sweep) Smooth transition from ~0.5Ω up to ~10kΩ Value jumps erratically or drops to 0 mid-sweep Carbon track is worn, dirty, or scratched. Wiper is bouncing.
Pin 2 to Pin 3 (Wiper Sweep) Smooth transition from ~10kΩ down to ~0.5Ω Reads 'OL' at any point during rotation Wiper has lost physical contact with the resistive element.
Pro Tip for Audio/Logarithmic Tapers: If you are testing an audio taper (logarithmic) pot, the sweep will not be linear. A 10kΩ audio pot will read roughly 1kΩ to 2kΩ at the mechanical midpoint, not 5kΩ. This is normal and intended for human hearing compensation, though you generally want linear tapers for Arduino sensor inputs.

Common Measurement Mistakes That Skew Results

If your multimeter readings look wrong, you are likely falling victim to one of these three bench errors:

1. In-Circuit Parallel Pathing

If you test a potentiometer while it is still soldered to a PCB or plugged into a powered-down breadboard, the multimeter's test current will flow through parallel components (like pull-down resistors or microcontroller GPIO protection diodes). A 10kΩ pot measured in-circuit alongside a 10kΩ pull-down resistor will falsely read as 5kΩ. Always isolate the component.

2. Excessive Probe Pressure

Pressing too hard with sharp multimeter probes against the wiper pin can mechanically deflect the internal contact, causing a momentary open circuit that looks like a 'dead spot' on your meter. Use gentle, firm pressure, or use alligator clip test leads for hands-free sweeping.

3. Ignoring the ADC Source Impedance Limit

This isn't a multimeter mistake, but a design mistake that manifests as 'bad readings' in your Arduino Serial Monitor. The ATmega328P (Arduino Uno/Nano) and ESP32 ADCs use an internal sample-and-hold capacitor (roughly 14pF). According to the Arduino analogRead() documentation, the recommended maximum source impedance is 10kΩ. If you use a 1MΩ potentiometer, the internal capacitor won't have enough time to charge during the ADC sampling window, resulting in jittery, non-linear, and crosstalk-prone readings.

Decision Tree: Selecting the Exact Potentiometer Part

Don't just buy 'a potentiometer.' The physical form factor and mounting style dictate whether your project ends up in a professional enclosure or held together by hot glue. Use this decision path to pick your part.

Application Requirement Decision Condition Concrete Part Recommendation
Breadboard Prototyping Needs 0.1' spaced pins to plug directly into a standard solderless breadboard without flying leads. SparkFun COM-09288 (10kΩ Linear, breadboard-friendly twist tabs).
Panel Mount (User Dial) Needs to mount through a drilled hole in an aluminum or plastic project box with a locking nut. Bourns PTV09A-4025F-B103 (10kΩ Linear, 9mm panel mount, knurled shaft for knobs).
Internal Calibration (Set-and-Forget) Needs to be trimmed once with a small flathead screwdriver and left alone inside the enclosure. Bourns 3386P-1-103LF (10kΩ, 3/8' square cermet trimmer, highly stable).
Audio Fader / Mixer Requires linear physical travel (sliding) rather than rotational, with smooth channel mixing. Alps RK09K1130A0R (10kΩ Dual-gang, slide potentiometer, 45mm travel).

The Default Pick: If you don't have a specific enclosure constraint and just need a reliable dial for an Arduino sensor project, buy the Bourns PTV09A series 10kΩ Linear. It is mechanically robust, costs under $1.50 in single quantities, and its 9mm form factor fits standard 6mm D-shaft knobs perfectly.

Validating the Arduino ADC Reading

Once your multimeter confirms the potentiometer is electrically sound, wire it to the Arduino: Pin 1 to GND, Pin 3 to 5V (or 3.3V for ESP32), and Pin 2 (Wiper) to Analog Pin A0.

Before writing complex logic, verify the raw ADC translation. Upload this minimal test sketch to ensure your hardware matches your multimeter's sweep:

const int POT_PIN = A0;

void setup() {
  Serial.begin(115200);
  // Allow ADC to stabilize on first boot
  analogRead(POT_PIN); 
  delay(100);
}

void loop() {
  int rawValue = analogRead(POT_PIN);
  float voltage = rawValue * (5.0 / 1023.0);
  
  Serial.print('Raw: ');
  Serial.print(rawValue);
  Serial.print(' | Voltage: ');
  Serial.println(voltage, 2);
  
  delay(250); // Slow down for readability
}

Expected Verification: As you rotate the shaft, the rawValue should sweep cleanly from 0 to 1023. The voltage should sweep from 0.00V to 5.00V. If you see the raw value jumping by ±15 points while your hand is completely still, your potentiometer has a dirty internal track (clean it with DeoxIT D5 contact cleaner) or you are using a pot with a resistance value too high for the ADC's sample-and-hold circuit.

For deeper reading on how ADC sampling interacts with sensor impedance, the SparkFun Analog to Digital Conversion tutorial provides an excellent breakdown of the internal multiplexer and capacitor charging times.

By validating the component on the bench with a multimeter before writing a single line of code, you eliminate the most common source of analog noise in embedded projects. Stick to 10kΩ linear tapers, verify the sweep off-circuit, and your analogRead() data will be rock solid.