PCA9685 misbehaving with HiTec HS322HD servo


I’m using a Pi 3 and Adafruit PCA9685 PWM module

hooked to (2) HiTec HS322HD servo motors


-using Windows/Web dashboard and Android dashboard

I added the PCA9685 module extention to the Pi3,
then I added device Motor/Servo, it successfully sees the PCA9685
and addressed everything,
Address 0x40, binary 1000000
Channel 0 and channel 1 added,
default values -45 - +45 (default)

I add the widget sliders on the Pi3 device dashboard,
Added the sliders to my project…

changed the slider values to -150 to -115
That seems to work…
but the sliders aren’t smooth at all.
You could definitely NOT fly a plane using this-
WAY too rough
-comments would be appreciated.

Next I’ll try using joysticks connected to a dedicated pi Zero, and MCP3004 for sendinzg remote PWM control. I can’t seem to get linearity or smoothness from the glass slider widget.


I’m thinking that I can use a PWM “switch” to drop power to the servos during a reset or reboot.


Hi @HighTech,

Thanks for posting the video, it helps! So we’ve found an issue with our servo slider, where if you change the value, it will briefly revert to the previous value. So this is a bug. We’ll fix this and I’ll update this post when we do. Hopefully you didn’t plan on flying planes too soon :slight_smile:

Keep you updated.



I’ll continue to make a dedicated WiFi remote control unit,
for manual camera control-
with potentiometers connected to a MPC3008.
I’ll put the “manual” pan/tilt/zoom/focus/iris controller
next to my security video head.

If I have 3 motion detectors set up, (left, right, straight) it will be great if the camera turns in the direction of “sensed” motion, using position presets triggered by the motion detectors.

The result is that I would only need 1 camera -rather than 3, -for area coverage.


The glass slider widget should push it’s value 0.02 times a second.
That’s an old R/C standard for pwm.
the advantage is- we can mqtt “push” 16 different channel values,
-all 16 channels at once.
via wifi or ethernet or serially, using very little bandwidth, something like 8kB/s.
If programmers can do that, it would be very kewl.
The slider widget needs to update its value as it slides.