Continuous Rotation Servo Motor moves without signal

I have a continuous rotation servo motor, springrc SM-S4303R, powering the driveshaft of a small car, but it moves forward at full speed when just connected to ground and power, without any arduino signal. I'm stumped, help appreciated.

The default rest point is 1.5 ms, but this can be adjusted by using a small slotted screwdriver to turn the middle-point positioner. Pulse widths above the rest point result in counterclockwise rotation, with speed increasing as the pulse width increases; pulse widths below the rest point result in clockwise rotation, with speed increasing as the pulse width decreases. Note that this is the reverse of what is described in the datasheet.

The middle point positioner is a small pot on the non-cable end.

That would make sense except that as I've been experimenting further it changes which direction it chooses to default spin depending on what program I've last run.... still confused. Help appreciated.

If it behaves properly when it is connected to the Arduino signal why bother about what it does when it's not connected?

...R

Vespasian001:
That would make sense except that as I've been experimenting further it changes which direction it chooses to default spin depending on what program I've last run.... still confused. Help appreciated.

No confusion, that is what it will do, don't expect anything else.

Using the below test code, send the servo a 1500us control command, then carefully adjust the pot on the servo until the servo stops rotating.

// 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() {
  Serial.begin(9600);
  myservo.writeMicroseconds(1500); //set initial servo position if desired
  myservo.attach(7, 500, 2500);  //the pin for the servo control, and range if desired
  Serial.println("servo-test-22-dual-input"); // so I can keep track of what is loaded
}

void loop() {
  while (Serial.available()) {
    char c = Serial.read();  //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.println(n);
      myservo.writeMicroseconds(n);
    }
    else
    {   
      Serial.print("writing Angle: ");
      Serial.println(n);
      myservo.write(n);
    }

    readString=""; //empty for next input
  } 
}

Vespasian001:
I have a continuous rotation servo motor, springrc SM-S4303R, powering the driveshaft of a small car, but it moves forward at full speed when just connected to ground and power, without any arduino signal. I'm stumped, help appreciated.

Servos either modified or not are not designed nor characterized for how they will operate with power supplied but without a proper and continuous control signal. That is simply not a mode they are made to operate under and different servos will react differently in that mode.

Lefty

Thanks for all the input everybody!