Skip to content

ServoEasing

  • Software
  • Robot arms and industry
  • Library

ServoEasing is an Arduino library that interpolates servo movements between positions so they move smoothly instead of jumping.

Source on GitHub: github.com/ArminJo/ServoEasing (opens in a new tab). Facts read at commit 8c1f88d (opens in a new tab).

Licenses

Code
GPL-3.0-only (opens in a new tab)

Read by Robotheca from LICENSE.txt (opens in a new tab) (GPL-3.0-only) at commit 8c1f88d (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

Copyleft: Modified source must be published.

What it does

  • Provides linear and nine other easing curves for servo motion.
  • Servos can move synchronized or independently, with non-blocking start functions based on a timer.
  • Supports a callback when a servo arrives, plus stop, resume, detach and reattach.
  • Offers trim, reverse, min/max constraints and custom degree-to-microsecond mapping.
  • Can drive servos directly through the Arduino Servo library or through a PCA9685 16-channel expander.
  • Includes a LightweightServo option for one or two servos on Uno and Nano boards.

Written by Robotheca from the project's README (opens in a new tab) at commit 8c1f88d.

Getting started

Difficulty
Beginner
Hardware it needs, as the project states it
Arduino boards such as Uno and Nano with the standard Arduino Servo library; the PCA9685 expander needs the Arduino Wire library; ESP32 needs the ESP32Servo library; the LightweightServo option is for Uno and Nano.

Maintenance

Status
Maintained: a commit in the last 12 months
Newest commit
26 Feb 2026 on master
Latest release
Added new functions PCA9685Init and PCA9685InitWithExternalClock (26 Feb 2026)

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.