Main Content

Analog servos require the pulse-width to change by up to 10 microseconds before they start to move. This represents an error of almost 2 degrees. [1]

This instructable explains how to significantly reduce the deadband errors in the servo plotter described in


Photo 1 shows the orginal servo plotter
The lower trace in photo2 shows two overlaid squares. One square is plotted clockwise (CW) … the other is plotted counter-clockwise (CCW). Deadband is distorting the squares and causing the diagonals to separate.
The upper trace in photo2 shows the improvement when deadband compensation is applied.
The video shows servo plotter 2 in action … note the deadband improvement
The cost of the push-switches for this project is less than $5.00


For a standard servo:

500uS produces 0 degrees
1000uS produces 90 degrees
1500uS produces 180 degrees
1 degree equates to (1500-500)/180uS = 5.5uS
10uS equates to 10/5.5 = 1.8 degrees

This simple penlift has a serious problem … the servo horn tends to displace plotter arm 2 sideways when it is raised and lowered.

Rotating the SG90 servo 90 degrees doesn’t fix the problem as the servo horn is now off-center causing arm2 to twist.

Arm 2 is replaced in Photos 2, 3, 4 with a length of 3mm aluminium extrusion to which an alternate design penlift is attached.

Only the pen touches the paper under its own weight … the servo arms are no longer displaced.

Now that the mechanical errors have been minimised (there is still a tiny backlash in the gears) lets modify the circuit.”

Link to article