The Mini-Arm is a portable, miniature 6-DOF robotic arm that’s 95% 3D-printable and costs under $100 to build. Running on a Raspberry Pi Pico microcontroller with CircuitPython, it features an internal inverse kinematics solver—no external computer needed for basic operation!
MiniArmClient class for serial communicationmovemotor MOTOR VALUE | Move motor to absolute position (deg)
set_pose [X,Y,Z,R,P,Y] | Cartesian end-effector control
get_pose | Read current position & orientation
set_gripper STATE | Open/close gripper
home | Return to home position
trajectory PATTERN | Execute predefined trajectories
from mini_arm import MiniArmClient
# Connect to Mini-Arm
client = MiniArmClient(port='COM3', baudrate=9600, verbose=True)
# Send commands
client.send('home')
client.send('set_pose:[0.135,0.0,0.22]')
client.send('set_gripper:close')
client.disconnect()
Mini-Arm/
├── mini_arm.py # Python client library
├── pico/ # CircuitPython firmware
├── examples/
│ ├── 01_basic_control/
│ ├── 02_trajectory/
│ ├── 02_xbox_teleop/ # Xbox controller control
│ └── 03_analysis/ # Motion capture comparison
├── miniarm_ros/ # ROS2 packages
└── assets/ # Images, docs