How does the L6470 control a SERVO motor?


I want to link the servo gripper to a strain gauge to control grip pressure.
I need to know how the SERVO motor is controlled from essentially a STEPPER circuit. I am concerned that the servo will only grip when it is in scope. In short, could I have an explanation of how the L6470 can control a servo motor?


Hi Tom,

I may be wrong here, but I don’t think it’s possible for the L6470 to control a servo motor, it can only control stepper motors.

Looking at the schematic diagram of SlushEngine Model D and the source code, GPIO18 is setup for PWM, which is used to control a servo motor on the RBX1.

If the Raspbery Pi has a GPIO pin free, may be you could set this up for PWM?


I don’t see how it can either, but I think the SERVO gripper motor is supposed to be plugged into the “Motor 6” terminals of the Slush Board? And the circuitry there seems to be the same as for the other 6 STEPPER motor interfaces. Does the L6470 have a PWM mode?


Are you using SlushEngine Model D and RBX1?

I can only see one terminal with three pins (+, -, Signal), and this is where the servo motor connects too. L6480 and L6470 don’t support PWM.

May be someone else can correct me?


The servo motor is actually not controlled by the slushengine. The PID is directly a connection to the raspberry pi, its only a circuit wire. You could controle the servo using only the raspberry pi and it would do the exact same job.

The rasberry pi can generate PID without the need of a external driver. Servo are actually much easier to use than steppers. Bipolar Steppers however require 4 connections that are not related to PID, and require too much power for the raspberry pi to drive it alone.


Got it! GPIO18 is NOT a chip select line, but a direct PWM line to the servo thru a power booster.
Thanks to everyone for their help!


For servo’s it is best to add the the PCA9685 to the UEXT connector.

I have a opensource C library here ->