Can you try:
servo.writeMicroseconds(1500);
not all servos follow the standard very closely so even if you set it at the expected mid point it still moves.
Can you try:
servo.writeMicroseconds(1500);
not all servos follow the standard very closely so even if you set it at the expected mid point it still moves.