Arduino - Servo.attach()


Attach the Servo variable to a pin. Note that in Arduino 0016 and earlier, the Servo library supports only servos on only two pins: 9 and 10.


servo.attach(pin) servo.attach(pin, min, max)


  • servo: a variable of type Servo
  • pin: the number of the pin that the servo is attached to
  • min (optional): the pulse width, in microseconds, corresponding to the minimum (0-degree) angle on the servo (defaults to 544)
  • max (optional): the pulse width, in microseconds, corresponding to the maximum (180-degree) angle on the servo (defaults to 2400)


Hardware Required

1×Arduino UNO or Genuino UNO
1×USB 2.0 cable type A/B
1×Servo Motor
3×Jumper Wires
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.

Wiring Diagram

Arduino Servo Motor Wiring Diagram

Image is developed using Fritzing. Click to enlarge image

Arduino Code

#include <Servo.h> Servo myservo; void setup() { myservo.attach(9); } void loop() {}


When calling Servo.attach() function, the servomotor rotates to the last value set by Servo.write() or Servo.writeMicroseconds() function, or 90 ° by default. Therefore, To position the servomotors at a certain position upon initialization, use Servo.write() or Servo.writeMicroseconds() function right before calling Servo.attach().