Caution
The gripper is still in BETA release meaning it will have some bugs from hardware to software!
The MSG compliant AI stepper gripper is built around StepFOC stepper drivers, which enable precise FOC-based force control on standard stepper motors. This makes it well-suited for assembly tasks, human-robot collaboration, and AI data collection applications — including embodied AI, teleoperation, and VLA training — thanks to its camera-friendly design.
The gripper is modular in two key ways:
| Option | Variants | Notes |
|---|---|---|
| Rail length | 100 mm, 150 mm, 200 mm | Determines maximum grip span |
| Stepper length | 21.5 mm, 40 mm, 60 mm | Determines maximum grip force output |
All mechanical files, firmware, and software are open source, allowing you to attach a custom gripping tool and integrate the gripper with any robotic arm or platform.
You can buy MSG gripper on our website: https://source-robotics.com/products/msg-gripper
If you want to Source all the parts yourself and build your own follow these steps:
Print files from the STEP files folder based on your chosen configuration:
- Source all the parts from the BOM
- Follow Assembly instructions or Video instructions to assemble your gripper
- Follow DOCS to get your gripper up and running.
| Resource | Description |
|---|---|
| Official website | Buy the MSG gripper or explore other Source Robotics products |
| DOCS | Getting started, wiring, configuration, and full API reference |
| Python API | Control the gripper from Python over CAN bus |
| BOM | Complete list of parts needed to build the gripper |
| Building instructions (coming soon) | Mechanical assembly walkthrough |
| URDF & MJCF files | Ready-to-use robot description files for ROS2, Gazebo, and MuJoCo |
| ROS2 package — MSG gripper | ROS2 driver and example nodes for the MSG gripper |
| ROS2 package — SSG48 gripper | ROS2 driver and example nodes for the SSG48 gripper (Should work with MSG also) |
import Spectral_BLDC as Spectral
import time
Communication1 = Spectral.CanCommunication(bustype='slcan', channel='COM20', bitrate=1000000)
Motor1 = Spectral.SpectralCAN(node_id=0, communication=Communication1)
Motor1.Send_Clear_Error()
Motor1.Send_gripper_calibrate()
time.sleep(4)
temp_var = 0
while True:
if temp_var == 0:
Motor1.Send_gripper_data_pack(50,100,700,1,1,0,0)
temp_var = 1
elif temp_var == 1:
Motor1.Send_gripper_data_pack(240,100,700,1,1,0,0)
temp_var = 0
message, UnpackedMessageID = Communication1.receive_can_messages(timeout=0.2)
if message is not None:
print(f"Message is: {message}")
print(f"Node ID is : {UnpackedMessageID.node_id}")
print(f"Message ID is: {UnpackedMessageID.command_id}")
print(f"Error bit is: {UnpackedMessageID.error_bit}")
print(f"Timestamp is: {message.timestamp}")
time.sleep(3)| YouTube | |||
|---|---|---|---|
| Discord | Forum | Hackaday | Blog |
|---|---|---|---|
This project includes experimental software, hardware designs, and assembly documentation that are still under development and may contain bugs, errors, or incomplete features. By using, building, or modifying this project, you acknowledge that:
- You use this project entirely at your own risk
- You are solely responsible for safe assembly, testing, and operation
- No guarantee is made regarding correctness, safety, or reliability
- The authors are not responsible for any damage, injury, or loss resulting from the use or misuse of this project
- Hardware performance and safety depend on user assembly, component quality, calibration, and handling, which cannot be guaranteed
- This project is provided “as is.” If you choose to build a device yourself using these files, designs, or instructions, you do so without any warranties or guarantees, including regarding safety, reliability, or suitability for any particular purpose.
THIS PROJECT INVOLVES LETHAL VOLTAGES AND OTHER SERIOUS HAZARDS THAT CAN CAUSE SEVERE INJURY. YOU MUST READ THE FULL SAFETY WARNING AND DISCLAIMER DOCUMENT BEFORE USING ANY PROJECT FILES. BY PROCEEDING, YOU ACKNOWLEDGE AND ACCEPT ALL RISKS AND AGREE TO USE THIS PROJECT ENTIRELY AT YOUR OWN RESPONSIBILITY.
The majority of this project is open source and freely available to everyone. Your assistance, whether through donations or advice, is highly valued. Thank you!
Project is under CERN Open Hardware Licence Version 2 - Strongly Reciprocal
