Is the PWM on the PF Servo motor different than the PWM from an Arduino? I have a Arduino motor shield connected to XL, L and M motors and can control the speed with PWM (Pulse Width Modulation). I made my own connector by cutting a Lego PF connector in half and wiring up the two inner connectors to "pins" that are easy to connect to a breadboard.

When I connect those two pins to the PF Servo Motor that comes with the Crawler, well, nothing happens no matter what pulse I send (Arduino handles the pulses . . I just set a "direction" pin and a value between 0 and 255 . . . and PWM or not the net effect is that with a voltmeter you see voltages between about -9 Volts and 9 volts, same as when you measure from the IR receiver).

Anyway, what am I missing? What is different about PWM on a servo motor?
According to Philo's detailed analysis of the servomotor, it takes its commands from the C lines but needs to be powered as well:


  Being a Power Functions range member, it is fully integrated with this system, and receives its commended position through C1/C2 lines, and its power from supply lines. On a normal motor, C1/C2 duty cycle directly control motor speed, here they set the angular position of the shaft.


This makes sense since there's electronics involved and these need to be powered by a regular, reliable power supply which is exactly the purpose of the +9V and Ground wires. The same holds for the IR receiver (although that one ignores the C1/C2 lines completely).

For more information on the PF wiring, you should also check Philo's presentation of the Power Functions system.