Su frecuencia es demasiado alta o, a la inversa, no está esperando el tiempo suficiente entre pulsos. Debe enviar un pulso de 1 a 2 ms cada 20 a 50 ms. Tenga en cuenta que esto significa un máximo de 50 Hz.
Además, su "compensación de 1.7 V" no tiene sentido. Estos pulsos deben ser generalmente de 0 a 5 V señales digitales. Seguí el enlace que proporcionó, pero eso solo va a una página de venta de productos, no a una hoja de datos, por lo que no podemos decir exactamente qué niveles de voltaje debe tener la señal digital. Cuando tenga dudas con las unidades servo de hobby, use la lógica de 5 V.
Pruebe un pulso de 1 ms cada 20 ms. Eso debería enviar el brazo a un extremo. Luego intente 2 ms cada 20 ms. Eso debería enviar el brazo al otro extremo. Pruébelo con la señal de 3.3 V directamente de su procesador y vea si funciona. Si no es así, haz una señal de 0-5 V en su lugar. Eso debería funcionar si todo lo demás está bien conectado. Si no tiene un chip traductor de nivel, puede armar algo con un transistor NPN y una resistencia pullup. Eso invertirá, pero solo invertirá la salida del procesador para compensar. Una compuerta lógica HCT (tenga en cuenta la T) alimentada a 5 V también se puede usar como un convertidor de 3.3 V a 5 V.
¿Está seguro de que la potencia del procesador se filtra correctamente para que los picos de corriente que el motor extraiga no lo afecten? Un esquema y trazos de alcance con una descripción clara de lo que sucede en cada caso ayudaría mucho.