piper_sdk (AgileX PiPER arm)
- Software
- Robot arms and industry
- Driver or SDK
Python SDK for the AgileX PiPER robot arm that receives its CAN data frames and turns them into usable data types, for reading joint state and controlling the arm.
Made by AgileX Robotics, China (checked on github.com/agilexrobotics (opens in a new tab)).
Source on GitHub: github.com/agilexrobotics/piper_sdk (opens in a new tab). Facts read at commit b847e53 (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit b847e53 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Receives CAN data frames from the arm's built-in CAN module and converts them into custom data types, excluding data offset frames.
- Provides interface classes for firmware-dependent protocols: C_PiperInterface for the legacy/default interface and C_PiperInterface_V3 for firmware 1.8-8 and later.
- Reads joint angle messages and firmware version, and can switch the arm between master and slave mode.
- Includes piper-can command-line tools to find and activate CAN modules by USB port and baud rate (Linux only for find and activate).
- Offers optional joint and gripper position limits applied to both feedback and control messages.
- Supports optional logging to a file at configurable levels.
Written by Robotheca from the project's README (opens in a new tab) at commit b847e53.
Getting started
- Difficulty
- Beginner
- Hardware it needs, as the project states it
- AgileX PiPER robot arm with its built-in CAN module, a Linux PC with can-utils and ethtool installed for CAN setup; tested on Ubuntu 18.04, 20.04 and 22.04 with Python 3.6, 3.8 and 3.10.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 14 Oct 2026 on master
- Latest release
- 0.7.0a1 (14 Oct 2026)
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use 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.