ESP32 - Potentiometer Triggers Servo Motor
This tutorial instructs you how to use ESP32 with the potentiometer to control servo motor. In detail:
- The ESP32 automatically rotates a servo motor to 90° if the potentiometer's analog value is above a threshold
- The ESP32 automatically rotates a servo motor to back to 0° if the potentiometer's analog value is under a threshold
We also learn how to convert the analog value to voltage and then use the voltage threshold to control the LED:
- The ESP32 automatically rotates a servo motor to 90° if the potentiometer's voltage is above a threshold.
- The ESP32 automatically rotates a servo motor back to 0° if the potentiometer's voltage is under a threshold.
If you want to control the angle of servo motor in proportion to the value of potentiometer, see ESP32 - Servo motor controlled by potentiometer tutorial
Hardware Used In This Tutorial
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | Micro USB Cable | |
1 | × | Potentiometer | |
1 | × | Servo Motor | |
1 | × | Jumper Wires | |
1 | × | (Optional) 5V Power Adapter | |
1 | × | (Optional) DC Power Jack | |
1 | × | (Optional) ESP32 Screw Terminal Adapter |
Introduction to Servo Motor and Potentiometer
We have specific tutorials about servo motor and potentiometer. Each tutorial contains detailed information and step-by-step instructions about hardware pinout, working principle, wiring connection to ESP32, ESP32 code... Learn more about them at the following links:
Wiring Diagram

This image is created using Fritzing. Click to enlarge image
ESP32 Code - Analog Threshold
Quick Instructions
- If this is the first time you use ESP32, see how to setup environment for ESP32 on Arduino IDE.
- Do the wiring as above image.
- Connect the ESP32 board to your PC via a micro USB cable
- Open Arduino IDE on your PC.
- Select the right ESP32 board (e.g. ESP32 Dev Module) and COM port.
- On Arduino IDE, Navigate to Tools Manage Libraries

- Type ESP32Servo on the search box, then look for the keypad library by Mark Stanley, Alexander Brevig
- Click Install button to install servo motor library for ESP32.

- Copy the above code and paste it to Arduino IDE.
- Compile and upload code to ESP32 board by clicking Upload button on Arduino IDE
- Rotate the potentiometer
- See servo motor rotating
ESP32 Code - Voltage Threshold
The analog value read from the potentiometer is converted to voltage, and then the voltage is compared to a voltage threshold. If it exceeds the threshold, it triggers a servo motor
Video Tutorial
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.