Frequently Asked Questions
What pulse width does a servo need?
Hobby servos read a pulse every 20 ms (50 Hz). About 1.5 ms is the center; most SG90 and MG996R servos cover 0-180° with roughly 0.5-2.5 ms. Check your servo and stay inside its limits so it does not buzz against its end stops.
How do I use the PCA9685 value?
With the Adafruit PWM Servo Driver library, call pwm.setPWMFreq(50) and then pwm.setPWM(channel, 0, ticks) with the tick value shown. The PCA9685 has 4096 steps per period.
Why does my robot reset when the servos move?
Servos pull large current spikes, up to about 650 mA for an SG90 and 2.5 A for an MG996R when stalled. Give them their own 5-6 V supply, connect the grounds together, and never power them from the board.
Educational use only. Results are estimates from standard formulas and typical values, provided "as is" without warranty. Always check your part's datasheet and follow safety precautions. Arduino, ESP32, ESP8266 and Raspberry Pi are trademarks of their respective owners; TechsPassion is not affiliated with them. See the full disclaimer.