user16593: For some reason my servos keep burning out.
My code is simple, if condition, rotate to 0 degrees, else rotate to 180.
However, what that does to the motor is keep it in a constant struggle to stay in rotation 0 or 180, when there is no movement in between. Sure enough, leave it running for 1 hour, the motor burns out.
if (!strcmp("1",output)){
    myservo.write(0);
}
else {
    myservo.write(180);
}

Is there something like myservo.release or something? I presuming i need to get the servo in to position, then release it so it doesnt try to stay in position. 
Please help, i've burned through 4-5 of them so far, it's not fun :(

user16593: I wanted to answer my own question:
I had purchased some really cheap servos from AliExpress. These are not good. They burn out really fast, which has been confirmed by some friends of mine that had purchased the same servos.
The voltage was correct, it was 5V. When using more quality servos that cost $15 I did not see any of these issues.
Do your self a favor. Do not get servos from AliExpress. Get them from DFRobot or some other more reputable website.

user19667: Ensure your voltage source matches the motors specs and that your wiring to the arduino or driver shield is correct and try the code I've posted which has worked for me to test servos.
#include <Servo.h>  // servo library
// You can control a maximum of twelve servos on the Uno 
// using this library. (Other servo libraries may let you
// control more). Note that this library disables PWM on
// pins 9 and 10!

Servo servo1;  // servo control object


void setup()
{
  //  Attach the servo1 object to digital pin 4.
  servo1.attach(4);
}

void loop()
{
  int position;
  // Change position at full speed:

  servo1.write(90);    // Tell servo to go to 90 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(180);   // Tell servo to go to 180 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(0);     // Tell servo to go to 0 degrees
  delay(1000);         // Pause to get it time to move

  // Change position at a slower speed:
  // Tell servo to go to 180 degrees, stepping by two degrees

  for(position = 0; position < 180; position += 2)
  {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }

  // Tell servo to go to 0 degrees, stepping by one degree

  for(position = 180; position >= 0; position -= 1)
  {                                
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }
}


user19152: Some servos are actually not able to do full 0..180 rotation - or to rephrase it better, the standard 0.5ms and 1.5ms pulse will force them to a position which can not be reached. Therefore the motor keeps on rotating in a constant struggle.

change 0 to something like 20, and 180 to something like 150
check that the motor has stopped once reaching 20 or 150. I.e. it does not produce any sound, and if you touch the motor body it is not producing any vibration (so no constant stuggle)


16593: <p>For some reason my servos keep burning out.</p>

<p>My code is simple, if condition, rotate to 0 degrees, else rotate to 180.</p>

<p>However, what that does to the motor is keep it in a constant struggle to stay in rotation 0 or 180, when there is no movement in between. Sure enough, leave it running for 1 hour, the motor burns out.</p>

<pre><code>if (!strcmp("1",output)){
    myservo.write(0);
}
else {
    myservo.write(180);
}
</code></pre>

<p>Is there something like myservo.release or something? I presuming i need to get the servo in to position, then release it so it doesnt try to stay in position. </p>

<p>Please help, i've burned through 4-5 of them so far, it's not fun :(</p>
 16593: <p>I wanted to answer my own question:
I had purchased some really cheap servos from AliExpress. These are not good. They burn out really fast, which has been confirmed by some friends of mine that had purchased the same servos.
The voltage was correct, it was 5V. When using more quality servos that cost $15 I did not see any of these issues.
Do your self a favor. Do not get servos from AliExpress. Get them from DFRobot or some other more reputable website.</p>
 19667: <p>Ensure your voltage source matches the motors specs and that your wiring to the arduino or driver shield is correct and try the code I've posted which has worked for me to test servos.</p>

<pre><code>#include &lt;Servo.h&gt;  // servo library
// You can control a maximum of twelve servos on the Uno 
// using this library. (Other servo libraries may let you
// control more). Note that this library disables PWM on
// pins 9 and 10!

Servo servo1;  // servo control object


void setup()
{
  //  Attach the servo1 object to digital pin 4.
  servo1.attach(4);
}

void loop()
{
  int position;
  // Change position at full speed:

  servo1.write(90);    // Tell servo to go to 90 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(180);   // Tell servo to go to 180 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(0);     // Tell servo to go to 0 degrees
  delay(1000);         // Pause to get it time to move

  // Change position at a slower speed:
  // Tell servo to go to 180 degrees, stepping by two degrees

  for(position = 0; position &lt; 180; position += 2)
  {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }

  // Tell servo to go to 0 degrees, stepping by one degree

  for(position = 180; position &gt;= 0; position -= 1)
  {                                
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }
}
</code></pre>
 19152: <p>Some servos are actually not able to do full 0..180 rotation - or to rephrase it better, the standard 0.5ms and 1.5ms pulse will force them to a position which can not be reached. Therefore the motor keeps on rotating in a constant struggle.</p>

<ul>
<li>change 0 to something like 20, and 180 to something like 150</li>
<li>check that the motor has stopped once reaching 20 or 150. I.e. it does not produce any sound, and if you touch the motor body it is not producing any vibration (so no constant stuggle)</li>
</ul>
