To test an Arduino potentiometer, set your multimeter to the Ohms (Ω) setting, measure across the two outer pins for total resistance, and sweep the wiper (middle pin) to verify a smooth 0Ω to max transition. For general Arduino UI dials, buy a 10kΩ Linear Taper (B10K) 16mm panel mount pot or a Bourns 3296W 10kΩ multi-turn trimmer for bench calibration. Below is the exact measurement procedure, expected values, and a decision matrix to select the right component for your embedded project.

Multimeter Setup and Safety Category for Low-Voltage Pots

Before probing any component on your breadboard, you must configure your meter correctly to avoid misleading readings and ensure you are operating within the tool's safety ratings. While an Arduino Uno operates at 5V DC, the USB power supply or wall adapter connected to it introduces different safety considerations.

Multimeter Configuration

  • Dial Position: Ohms (Ω) / Resistance.
  • Lead Jacks: Black lead in COM, Red lead in VΩmA (or VΩ on auto-ranging meters).
  • Range Selection: Auto-ranging preferred. If manual, select the 20kΩ or 200kΩ range (never use the 200Ω range for a 10k pot, as it will read 'OL' or '1').
  • Zeroing: Touch the probes together. The meter should read 0.1Ω to 0.5Ω (lead resistance). Note this value to subtract from ultra-low resistance measurements, though it is negligible for a 10kΩ pot.
Safety Category (CAT) Rating: Measuring bare 5V/3.3V logic on a de-energized breadboard falls under CAT I. However, if you are probing the potentiometer while the Arduino is plugged into a mains-powered wall adapter or a PC USB port, transient spikes can travel through the ground reference. Use a meter rated for at least CAT II 600V or CAT III 300V when working on powered embedded systems connected to the grid. Never use a CAT I meter to probe the AC side of the power supply.

Probe Placement and Expected Reading Table

A standard single-turn potentiometer has three terminals: Pin 1 (CCW / Ground), Pin 2 (Wiper / Signal), and Pin 3 (CW / VCC). Testing requires two distinct measurements to verify both the resistive track and the wiper contact.

Measurement 1: Total Track Resistance

Place your red and black probes on the two outer pins (Pin 1 and Pin 3). The polarity does not matter for resistance. Rotate the shaft fully clockwise and fully counter-clockwise. The reading should remain completely static.

Measurement 2: Wiper Sweep (Variable Resistance)

Move one probe to the middle pin (Pin 2, the wiper) and leave the other on an outer pin. Slowly rotate the shaft through its entire mechanical travel. The value should sweep smoothly from near 0Ω up to the total track resistance without dropping out or jumping erratically.

Test Point Expected Good Reading (10kΩ Pot) Expected Bad Reading Failure Mode
Outer Pins (1 & 3) 9.5kΩ to 10.5kΩ (±20% tolerance is standard for carbon track) Infinite (OL) or 0.0Ω Open resistive element or shorted track
Wiper to Outer (2 & 1) Sweeps smoothly from ~2Ω to ~10kΩ Jumps erratically, drops to OL mid-sweep Dirty track, worn carbon, or bent wiper
Wiper to Outer (2 & 3) Sweeps inversely (10kΩ down to ~2Ω) Stuck at one value regardless of shaft position Wiper disconnected from shaft mechanism
Mistakes That Give Misleading Readings: The most common error is finger resistance. If you hold the bare metal shaft or touch both probe tips and the metal casing simultaneously, your body's resistance (roughly 100kΩ to 1MΩ) forms a parallel circuit with the pot, pulling a 10kΩ reading down to 9kΩ. Always hold probes by the insulated grips and keep your hands off the component body during measurement.

The Arduino Potentiometer Decision Matrix

Not all potentiometers behave the same way in firmware. The taper (how resistance changes relative to shaft rotation) and the physical form factor dictate whether your analogRead() values will be usable. Use this decision tree to select the exact part for your build.

If Your Application Is... Then Choose Taper... And Form Factor... Concrete Part Pick
General UI dial (volume, speed, brightness mapped linearly in code) Linear (B-Taper, marked B10K) 16mm Panel Mount, D-Shaft TT Electronics P0915N-FC15BR10K
Precision calibration (sensor zeroing, PID tuning, PID offset) Linear (B-Taper) Multi-turn (25-turn) Trimmer Bourns 3296W-1-103LF
Audio volume control (human hearing perception mapping) Logarithmic / Audio (A-Taper, marked A10K) 16mm Panel Mount, Knurled Shaft Alpha RD901F-40-15K1-A10K
Space-constrained PCB mount (internal device trim) Linear (B-Taper) Single-turn 3mm SMD Trimmer Bourns 3314J-1-103E

Default Recommendation: If you are building a standard Arduino sensor interface or user input knob and don't have a specific audio or calibration requirement, buy the TT Electronics P0915N-FC15BR10K (or any standard 16mm B10K panel pot). It provides a linear voltage divider output that maps perfectly to the Arduino's 0-1023 ADC range without requiring software linearization curves.

Wiring to the Arduino ADC and Eliminating Jitter

A common failure point in Arduino potentiometer projects isn't a broken part, but a noisy analog-to-digital conversion. The Arduino Uno's ATmega328P ADC is highly susceptible to high-impedance noise. A 10kΩ pot sitting at the 5kΩ midpoint presents a 2.5kΩ Thevenin equivalent resistance, which can cause the sample-and-hold capacitor inside the microcontroller to under-charge, resulting in jittery analogRead() values.

Numbered Wiring and Filtering Steps

  1. Power the Track: Connect Pin 1 (CCW) to the Arduino GND. Connect Pin 3 (CW) to the Arduino 5V pin. Do not use the 3.3V pin unless you are using a 3.3V logic board like the ESP32; the Uno's 3.3V regulator cannot source high current if the pot is low-resistance.
  2. Connect the Wiper: Connect Pin 2 (Wiper) directly to an analog input pin (e.g., A0).
  3. Install the Hardware RC Filter (Crucial): To eliminate ADC jitter, solder a 100Ω resistor in series with the wiper wire, and a 100nF (0.1µF) ceramic capacitor from the Arduino-side of the resistor to GND. This creates a low-pass filter with a cutoff frequency of ~15.9kHz, stripping out RF and switching noise before it hits the ADC.
  4. Verify in Firmware: Upload a basic serial print sketch. Open the Serial Plotter. Sweep the pot. The line should be smooth. If you see ±5 value jitter at rest, your hardware filter is missing or your USB ground is noisy.

For deeper insight into how the ATmega328P handles analog signals and impedance matching, refer to the official Arduino Analog Pins documentation, which details the internal multiplexer and sample-and-hold circuitry.

Troubleshooting Dead Spots and Non-Linear Sweeps

If your multimeter shows a valid total resistance but the wiper sweep is erratic, or if your Arduino code outputs non-linear values despite using a B-taper pot, follow this diagnostic path.

  • Symptom: Multimeter reads infinite (OL) at specific points during the sweep.
    Cause: Carbon dust buildup or oxidation on the resistive track.
    Fix: Spray DeoxIT F5 FaderLube into the casing slot while rotating the shaft. Do not use standard WD-40 or contact cleaner, as they leave residues that attract dust and ruin the carbon track. If cleaning fails, the wiper spring has lost tension; replace the pot.
  • Symptom: Arduino analogRead() jumps from 200 to 800 instantly, skipping the middle values.
    Cause: You accidentally purchased an Audio Taper (A10K) pot instead of a Linear Taper (B10K). Audio pots are designed to match human logarithmic hearing, meaning 80% of the resistance change happens in the last 50% of the physical rotation.
    Fix: Check the silkscreen on the back of the pot. If it says 'A10K' or '10KΩ' (with no B prefix in Asian manufacturing conventions), it is likely logarithmic. Replace it with a verified B10K linear pot. For a comprehensive breakdown of how tapers are marked globally, consult the All About Circuits potentiometer guide.
  • Symptom: The reading maxes out at 850 instead of 1023.
    Cause: Voltage drop across the breadboard rails or USB cable sag. If your Arduino 5V rail is actually only delivering 4.6V due to a cheap USB cable, the ADC reference will scale down.
    Fix: Measure the voltage between the GND and 5V pins on the Arduino header with your multimeter. If it reads below 4.8V, switch to a higher-quality, thicker-gauge USB cable or power the board via the DC barrel jack with a regulated 9V wall adapter.

By verifying the physical component with a properly ranged multimeter and terminating your design with a linear B10K taper and an RC hardware filter, you eliminate the three most common failure modes in embedded analog input design: dead tracks, taper mismatch, and ADC jitter.