ART
BEAUTY & WELLNESS
CRAFT
CULTURE & HISTORY
ENTERTAINMENT
ENVIRONMENT
FOOD & DRINKS
GREEN FUTURE
REVERSE ENGINEERING
SCIENCES
SPORTS
TECHNOLOGY
WEARABLES
Reading a Potentiometer — SIK Circuit 2
Ed

Created by

Ed

17. March 2026

Reading a Potentiometer — SIK Circuit 2

Learn to read analog input from a potentiometer and use it to control LED blink speed. Turn the knob to make the LED blink faster or slower — your first step into analog sensors!

Instructions

1

Parts & Introduction

In this experiment you'll use a potentiometer (a variable resistor with a knob) to control how fast an LED blinks. This introduces analogRead() — reading voltage levels between 0 and 5V as values from 0 to 1023.

Parts Needed

  • 1x Arduino Uno + USB cable
  • 1x Breadboard
  • 1x Potentiometer (10K)
  • 1x LED (any color)
  • 1x 330Ω Resistor
  • 6x Jumper Wires
2

Hardware Hookup

Wiring Instructions

  1. Place the potentiometer in the breadboard. It has three pins.
  2. Connect the left pin to GND and the right pin to 5V (or vice versa).
  3. Connect the middle pin (wiper) to Analog Pin A0.
  4. Place an LED in the breadboard. Connect the positive leg (longer) to Digital Pin 13.
  5. Connect the negative leg (shorter) through a 330Ω resistor to GND.
  6. Connect the 5V and GND rails on the breadboard to the Arduino.
3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

potentiometer.inoarduino
/*
SparkFun Inventor's Kit
Example sketch 02 — POTENTIOMETER

Measure the position of a potentiometer and use it to
control the blink rate of an LED. Turn the knob to make
it blink faster or slower!

This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
*/

int sensorPin = 0;    // Potentiometer on analog pin 0
int ledPin = 13;      // LED on digital pin 13

void setup()
{
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  int sensorValue;

  sensorValue = analogRead(sensorPin);

  digitalWrite(ledPin, HIGH);
  delay(sensorValue);

  digitalWrite(ledPin, LOW);
  delay(sensorValue);
}
4

Test & Experiment

What You Should See

The LED blinks faster or slower as you turn the potentiometer knob. At one extreme it blinks very fast, at the other it blinks slowly.

Troubleshooting

  • Sporadically working: The potentiometer pins may not be making good contact. Press it firmly into the breadboard.
  • Not working: Make sure the wiper (middle pin) goes to Analog pin 0, not Digital pin 0.
  • LED not lighting: LEDs only work in one direction. Flip it around.

Experiments to Try

  • Open the Serial Monitor and print the sensorValue to see the raw numbers (0-1023).
  • Use map() to convert the sensor range to a brightness range and control LED brightness with analogWrite().

Materials

  • SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
    View
  • Arduino Uno R3 - 1 piecePlaceholder
    View
  • Breadboard - 1 piecePlaceholder
    View
  • Potentiometer (10K) - 1 piecePlaceholder
    View
  • 5mm LED - 1 piecePlaceholder
    View
  • 330 Ohm Resistor - 1 pieceNOK 24.00
    View
  • Jumper Wires - 6 piecessNOK 39.20
    View

Tools Required

  • Computer with Arduino IDE

CC0 Public Domain

This blueprint is released under CC0. You are free to copy, modify, distribute, and use this work for any purpose, without asking permission.

Support the Maker by purchasing products through their Blueprint where they earn a Maker Commission set by Vendors, or create a new iteration of this Blueprint and include it as a connection in your own Blueprint to share revenue.

Discussion

(0)

Log in to join the discussion

Loading comments...