KevsRobots Learning Platform
36% Percent Complete
By Kevin McAleer, 4 Minutes
Page last updated May 03, 2025

Servos are the muscles of your project – they move parts back and forth in response to the motion sequences you create in Bottango. In this lesson, we’ll wire up the servos so they can be controlled by your board.
Most servo motors have 3 wires:
Make sure to check your specific servo’s color code.
| Servo Wire | Arduino Pin |
|---|---|
| GND | GND |
| VCC | 5V |
| Signal | D3, D5, D6 |
Use one digital pin per servo for signal. For example:
You can connect VCC and GND for all servos to the same 5V and GND pins — but be careful not to overload your board.
The Arduino’s onboard 5V regulator can only power 1 small servo reliably.
If you’re using multiple servos:
🛑 Never power high-current servos directly from the Arduino!
Most ESP32 dev boards support 3.3V logic but are 5V-tolerant. You can safely connect:
Consult your board’s pinout diagram for available GPIOs.
Once everything is wired:
If your servo moves as expected, you’re ready to animate!
Problem: Servo doesn’t move at all
Solution: Check all three connections (GND, VCC, Signal). Verify the servo is plugged into a PWM-capable pin
Why: Loose connections or using a non-PWM pin prevents signal transmission
Problem: Servo jitters or vibrates
Solution:
Why: Insufficient current causes voltage drops, making the servo unstable
Problem: Multiple servos work individually but not together
Solution: Use an external 5V power supply rated for at least 1A per servo. Connect all grounds together
Why: Arduino’s onboard regulator can’t provide enough current for multiple servos
Problem: Servo moves the wrong direction or to wrong positions
Solution: Check servo configuration in Bottango - you may need to invert the direction or adjust min/max PWM values
Why: Different servo models have different PWM ranges (typical: 544-2400µs, but varies)
Problem: ESP32 servo moves erratically
Solution: Ensure you’re using an ESP32 GPIO that supports PWM (LED PWM channels). Avoid pins used for other functions
Why: Some ESP32 pins are reserved for special functions and don’t support servo control
Problem: Servo makes grinding/buzzing noise
Solution: Check if servo is hitting physical limits. Adjust Bottango’s servo range settings to prevent overtravel
Why: Forcing a servo past its mechanical limits damages gears
Next up: Configuring Bottango and Assigning Servos
You can use the arrows ← → on your keyboard to navigate between lessons.
Comments