Asked — Edited

Hitec D845WP Servos Can'T Move Slow And Smooth

I'm testing a new robot , using ezbv4 and hitec D845WP servos with lipo 7,4 V batteries. (I never used these servos and such high-current batteries before). These servos are very quick, expecially with lipo batteries. So, when I program an action, I can't get a smooth and and slow movement, no matter how  I set delay, step and speed in the action  window editing area.  I can't get a continuous movement. The servos are so  fast, that they perform, with any setting , only a series of very fast and precise steps. Indeed, they follow exactly the staircase generated by ezb. I can  get a continuous movement only by  clicking  "transition to" , from a frame to another , in the Auto Position screen, with a speed =50. But in the action window editing area I can't set  a speed  of 50, but  only  a maximum of 20. What can I do ???

Related Hardware EZ-B v4


Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

#1   — Edited

Hi, Try set in action window editing area 10~30delay, 1 step, and 0 or 1 speed for each frame

#2   — Edited

Set delay to 15, set speed to 0 and set steps to 1

steps are the smoothness. The lower the value, the smoother each step.

Setting speed to 1 or 2 sometimes helps with smoothness as well.

Place your cursor on the blue question marks in the software to read help about commands. Additionally, the Auto Position has a great manual that might be useful.


I have read the help, but couldn't understand how to get good results. I didn't (and still don't) understand how the speed parameter works. The help says "higher the number, slower the speed", so i have set high values, but this didn't help. You now say "set 0,1 or 2". This way is better, please explain why. I got even better results , decreasing the speed of the servo itself by a special hitec interface, capable of setting speed and other servo parameters.


hello leonardo I try to explain to you what I have understood so far with various tests .. Then the speed value that goes from 0 to 10 (-1 takes the speed value from the last action) is the one that most influences the movements. 0 is the fastest and 10 the slowest, my advice is to use speed at 0 or at 1 but if you use this make sure that each frame is completed then enter a few pauses if occure or there is a delay, that would be the time in ms of duration of each frame and finally there are steps that are precisely the movement steps that the servant does, for example if you put 5step the servo will move 5-10-15- etc.

Visto che sei  italiano te lo dico in parole povere.. se vuoi rallentare il movimento dei servo io ti consiglio di utilizzare Speed a 0.. anche se è il valore più veloce non preoccuparti perché noi andremo a rallentarlo agendo su delay e step. Mi sono accorto che se metti Speed a 1 oppure 2 devi inserire delle pause oppure giocare bene sul delay altrimenti non finisce il frame. Io ad esempio ho un hexapod con 18servo e per movimenti lenti utilizzo delay25 e step 2 Speed 0 mentre per movimenti veloci delay 7 step 5 Speed 0 (p.s. se hai un robot e devi fare dei test con questi ultimi valori assicurati che sia sospeso da terra, insomma che non ci sia il carico sui servomotori)


leonardo, there are a lot more words in the manual and question marks than "higher the number, slower the speed". The "speed" parameter is the speed of the servo transition. That's how long it takes for the servo to move from one position to another. There's only so many ways it can be explained differently than the manual, but i'll continue trying for ya:D

For example, run this EZ-Script with a servo connected to Port D0 on an EZ-B v4 or IoTiny and see what happens...

print("Demonstrating servo speed 0 from 1 to 180 degrees")
servo(d0, 1)
servo(d0, 180)
# ---------------------------------------------
print("Demonstrating servo speed 10 from 1 to 180 degrees")
servo(d0, 1)
servo(d0, 180)

You will notice that the ServoSpeed(10) makes the servo move super slow from position 1 degrees to position 180 degrees. That's the sweeping motion of the servo. In the auto position, setting the Speed will make the servo move slower between positions. The Steps is how large the positional jump is. And the Delay is how long to delay between steps.


Hi DJ and Berserk !  Thank you both for helping me understand this non easy issue. The short question-mark helps didn't help me very much to understand. DJ , I know there are manuals, but  sometimes a few words are more useful than large manuals. You are kind  as usual trying to explain. I'll test the demo you sent, and I'm sure I'll learn much from that. I never had problems with any servo, but these hi-tech servos behave in a unexpected way, and all was better when I slowed them down by their programming interface. Ciao Berserk, vedo che anche per te non è stato semplice capire e gli help non aiutano molto. Questi servi  digitali si comportano in modo strano, ma hanno una coppia molto forte (50 e sono gli unici idonei per il mio umanoide alto 80 cm. Sei in Italia ? Dove ?


Look at me they have done an awesome job, there are video tutorials, an active forum that you can learn a lot and above all there are instructions on every function of the program, there is no other program like that. I have recently started to get interested in robotics but only practicing and testing i will learn a lot, you and I are now using servos other than those "born with the program ie ezrobot servo hhd" so we have to understand how they behave with ARC ...

Guarda secondo me loro hanno fatto un lavoro impressionante, ci sono video tutorial, un forum attivo che può puoi imparare moltissimo e soprattutto ci sono istruzioni su ogni funzione del programma, non esiste nessun altro programma cosi. Io ho iniziato da poco a interessarmi alla robotica ma solo facendo pratica e test ho imparato molto, il problema è che io e te adesso stiamo usando dei servo diversi da quelli "nati con il programma cioè gli ezrobot servo hhd" quindi dobbiamo capire come si comportano con ARC..  P.s. cmq sono invidioso dei servo hitec che hai;)!  Io sono in Veneto e tu?


Berserk , I love EZB , the huge work they have done , and the community that can assist you whenever  you need (I  often need !). I'm having problems with those very precise and responsive servos , whose behavior is sometimes unexpected . EZB generates a " staircase"  ,that you can set as you want , between starting and end point , not a real ramp.  and sometimes   those servos move performing  that  staircase (a series of small steps !), instead of a ramp. I'm studying how to get best results with EZB. This is highly influenced by servo speed. I'll let you know. Io sto a Roma.


Ah, Rome! One of the cradles of our civilisation in my uninformed opinion. I hope to visit some day.

Anyway, understanding the Delay, Step and Speeds were a challenge to me also. I feel your pain. I'm sure with a little practice and testing you'll come to understand how to set these primeritors and get your servos running smooth.

I'd also suggest that you go back into the HiTec software and set them back to the default settings. Let ARC control them completely.