so i found a problem about accuracy of servo motor (TowerPro MG996R), the very clear factor is i think i use very cheap motor, here in Indonesia i bought those MG996R with price around 40K-60K IDR which around 4-5 in US$, and second i also use cheap CH340 UNO board. then the problem itself is the accuracy of angular position of the servo with "sweep" code from included Arduino example files which the code mean operating the servo with movement of rotate from 0 to 180 degree and back to 0 again in loop. so when i upload this code the actual rotation of my MG996R is exceed 180 degree, somewhere around 205 degree (in real condition the servo is rotate 0-205 degree).
what analysis about this problem, is it really the quality factor of cheap servo and board i use? is there any guarantee if i use ATMega UNO boards and higher quality servos with the included Ardunio servo library the sweep code will run exactly 0-180-0 in accurate actual result? or maybe there are solution to fix this without changing my hardware, maybe using other libraries?