Overview

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!

Key Features

Available Commands

movemotor  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

Quick Start

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()

Project Structure

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

Demos