ESP32 - Button - Servo Motor
This tutorial instructs you how to use ESP32 with button and servo motor. In detail, we will learn how to do:
That process is repeated.
Or you can buy the following kits:
Disclosure: Some of the links in this section are Amazon affiliate links, meaning we may earn a commission at no additional cost to you if you make a purchase through them. Additionally, some links direct you to products from our own brand,
DIYables .
Buy Note: In case of using multiple servo motors, it is recommended to use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify the wiring process.
We have specific tutorials about servo motor and button. 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:

This image is created using Fritzing. Click to enlarge image
If you're unfamiliar with how to supply power to the ESP32 and other components, you can find guidance in the following tutorial: The best way to Power ESP32 and sensors/displays.
Why need to debounce for the button? ⇒ see ESP32 - Button Debounce tutorial
#include <ESP32Servo.h>
#include <ezButton.h>
#define BUTTON_PIN 21
#define SERVO_PIN 26
ezButton button(BUTTON_PIN);
Servo servo;
int angle = 0;
void setup() {
Serial.begin(9600);
button.setDebounceTime(50);
servo.attach(SERVO_PIN);
servo.write(angle);
}
void loop() {
button.loop();
if (button.isPressed()) {
if (angle == 0)
angle = 90;
else if (angle == 90)
angle = 0;
Serial.print("The button is pressed => rotate servo to ");
Serial.print(angle);
Serial.println("°");
servo.write(angle);
}
}
Install ezButton library. See
How To
Click to the Libraries icon on the left bar of the Arduino IDE.
Type ESP32Servo on the search box, then look for the servo library by Kevin Harrington,John K. Bennett.
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
Press the button several times
See the servo motor's rotation
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.