Noob here, shaky servo at certain position

Hi there, I’ve just bought an Arduino Uno kit and I think it’s great. Along with it I bought a DFRobot’s DF05BB servo. I’ve been playing with it and I have a couple of problems. The main problem is that, when I place it at position 10 it keeps shaking. For instance, using this code:

#include <Servo.h>

Servo servo;

void setup(){

void loop(){


I have made a little video to show you what happens:

I’ve read some forum posts saying that the cause can be related to the low power that the Arduino provides. I’ve tried it using just the USB power, using an AC adaptar and also powering the servo using an external AA pack, and the problem remains.

I don’t know what may happen. As I bought it this week, I’m totally within warranty time, but I’d like to confirm that it’s a hardware problem and not something I’m doing wrong.


Simple servo test code. If the servo only jitters at one particular position and works ok at others, then the servo pot may have a bad spot, requiring servo replacement.

// zoomkat 10-22-11 serial servo test
// type servo position 0 to 180 in serial monitor
// or for writeMicroseconds, use a value like 1500
// for IDE 0022 and later
// Powering a servo from the arduino usually *DOES NOT WORK*.

String readString;
#include <Servo.h> 
Servo myservo;  // create servo object to control a servo 

void setup() {
  myservo.writeMicroseconds(1500); //set initial servo position if desired
  myservo.attach(7);  //the pin for the servo control 
  Serial.println("servo-test-22-dual-input"); // so I can keep track of what is loaded

void loop() {
  while (Serial.available()) {
    char c =;  //gets one byte from serial buffer
    readString += c; //makes the string readString
    delay(2);  //slow looping to allow buffer to fill with next character

  if (readString.length() >0) {
    Serial.println(readString);  //so you can see the captured string 
    int n = readString.toInt();  //convert readString into a number

    // auto select appropriate value, copied from someone elses code.
    if(n >= 500)
      Serial.print("writing Microseconds: ");
      Serial.print("writing Angle: ");

    readString=""; //empty for next input