SMC03A Serial Commands


I am using the SMC03A for a project and wish to use the serial communications system for controlling the position of a linear actuator. Unfortunately the manual seems to be a bit spartan on this topic and only shows the motor controller working with velocity control (speed and direction). It says the motor controllers interface protocol is compatable with other Pololu devices, however it doesn’t say whether this means that other commands are available.

Is there a more complete manual/description of the serial protocol used with this device available?

Also it would be preferable for me to be able to read the current position of my actuator using the serial connection. However once again the manual doesnt give any examples of receiving data from the SMC03A despite the fact that one of its pins is labelled ‘Serial Output’. I can work around this and sample the values manually if needed but it would be nicer to do it this way.

Clarification on these points would be much appreciated :slight_smile:


The SMC03A is an old design that has been replaced by the much more capable jrk 21v3. Unfortunately, the manual basically covers the features that are there; there are no extra commands for doing things like reading back the position, and the compatibility with other Pololu devices just means that multiple devices can be on the same serial line.

For position control instead of speed control, the commands are the same; you just use the jumper to put the unit into position feedback mode. What would be direction and speed bits for speed mode are treated as sign and magnitude relative to the center point (2.5V feedback), so the last two bytes being 0, 127 is one extreme, and 1, 127 is the other extreme. 0, 0 will hold the center point, while sending 1, 0 will turn off the PID loop and let the motor coast.

- Jan

Ah ok, well I should be able to make do with them for now at any rate. I can just manually sample the feedback with an ADC.

Thanks for clearing that up!