USB 16 controller position data

Is it possible to obtain the servo position data from the USB16 controller over? If not, would it be possible to add that to the firmware?

And if that’s not possible, what is the format of the data/position sense data on the 3-wire servo motor connector? I could possibly tap into that line and collect it via a separate A/D or digital line on my DAQ system.


It sounds like you’re talking about positioning the servo manually, then trying to read back it’s position, which is not possible with standard hobby servos* (if, insted, you’re talking about reading the signal sent out by the USB16 controller with another device, let me know). The servo’s internal control board moves the motor to a position specified by the width of a pulse (usually in the 1.5-2.5 ms range) sent to it over the signal wire. This is a one way signal, and no information comes back out of the servo casing*. The protocol was developed in the 1950s for hobby radio controlled models, and designed to be easy to encode, transmit, and decode with analog components. It hasn’t really changed much since.

If you really wanted to, you could open up your servo case and attach a second set of three wires to the servo’s potentiometer (in parallel with the existing three) and measure its position with two analog inputs on your DAQ board (even one would do, but two would be better for the full voltage-divider method). This should work, provided your DAQ system has very high impedance, but not having actually tried it myself I’m not 100% sure (has anyone tried this before?).

Sorry to be the bearer of bad news, why are you trying to read your servos back?


*-There are some specialized (translated: expensive!) servos meant for hobby robots which allow you to “teach” a controller stop-motion style. They send a pulse width-proportional to the servo’s current position (with not-great resolution) back over the signal line in response to a short query pulse. Hitec calls it the “HMI” protocol, so far as I know it’s only available on their Robonova servo controller and HSR-8498HB robot servo. Kondo makes servos that use a similar feedback protocol.

AS for as I know all Hitec Robot servo, you can get the servo position. Kondo servo does the same thing using their software and their RCB3.

Let’s say if you have a robot with 20 DOF, you set it to free mode, then move the joints with your bare hand. Once you get the position you want you can “capture” the servo position and save into the micro controller or a file.

It is faster to make custom movement for the robot, and it is pretty much accurate.

As for the USB 16, no you can not get the servo position.
Yes, you can do your way, but I think it will be too much trouble. You could get a controller that can capture the robot servo. It will cost about $250. :smiling_imp: