Also, be sure that your pulse widths are within the design specs of the servo - if you use a simple pulsout command with a 4MHz clock, you'll have to some math to figure out your MINIMUM and MAXIMUM widths that you can allow, and then spread that range out over 256 steps.

For example, if your servo specs say 600uS to 2400uS then your pulsout would have to be a MINIMUM of 60 and a MAXIMUM of 240 with a 4MHz clock. Beyond that, you'll start overheating (and grinding the gears of) the servo, pushing it past its mechanical limit. If you look at the range in this example, you have a range of 240-60=180, so you can calculate what you should output as 60+(180n/255) where n is your "real" range of 0-255. Thus for a 'n' of 0, you'll have a pulse width of 600, and for a 'n' of 255, you'll have a result of 2400.

It's probably also a good idea to initialize the pin as LOW, just as a housekeeping measure.

--------------------Picster-----------------