C++ based USB s/w to control Maestro controllers

The Maestro’s analog input channels will have a “position” value between 0 and 1023. In the Maestro Control Center, the position is divided by 4 before being displayed, so it will be between 0 and 255.75. The Maestro does not have any features to rescale these numbers, so you would have to do it in your code. You can see an example of how to do that in C++ by looking at the map function provided by the Arduino environment.

You should not expect a voltage of 3.3 V to be converted exactly to 675. There will always be some amount of error in the voltage levels and some amount of error introduced by the analog-to-digital conversion. The value you got is off by less than 3%. If you need to reduce that error, you might try measuring the voltage on the Maestro’s +5V line and using that in your formulas in place of 5.0 V. But mainly I recommend making your code flexible so that it does not malfunction when there is some error in the analog readings.

–David

So, I just have to measure the Vcc input to the Pololu and use it to convert the digital values in my program and I should be okay.