Skip to content

Mini-Arm

A miniature 6DOF 3D-printed open-source robot arm controlled from a Raspberry Pi Pico running CircuitPython, with an internal IK solver and USB, serial and TCP/IP control.

  • Robot arm
  • Open source
  • micropython
  • 3D model (URDF)
  • 3D printable

Suggested by Robotheca, created by @Jshulgach (opens in a new tab), from github.com/Jshulgach/Mini-Arm (opens in a new tab). Pinned to commit 666bbb4 (opens in a new tab).

Photo and 3D model

Mini-Arm, photo from its repository
Photo:@Jshulgach (opens in a new tab)MPL-2.0source file (opens in a new tab)
Try it in the browser

3D preview converted from github.com/Jshulgach/Mini-Arm at 666bbb4, under MPL-2.0. View the original files from GitHub (1.3 MB) (opens in a new tab)

4 mesh files named in the URDF are not in the repository, so those parts are not shown.

Degrees of freedom
6
Weight
0.3 kg

What it can do

Written by Robotheca from the project's documents.

  • Controls a miniature 6DOF 3D-printed robot arm over USB serial using a Python client library (MiniArmClient).
  • Moves the end effector to Cartesian XYZ poses, with an internal inverse kinematics solver running on the microcontroller.
  • Supports joint and delta pose commands, home position, gripper open/close, LED color, and predefined trajectories such as circle.
  • Can be teleoperated with an Xbox controller in real time, with gripper control via triggers.
  • Reads force sensing resistors (FSRs), and includes face detection and camera streaming demos and tests.
  • Can be visualized in RViz2 via the included ROS2 packages and driven through MoveIt2 configuration.

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Choose Pico firmware
  2. 2Flash the firmware
  3. 3Copy the firmware files
  4. 4Building the arm
  5. 5Electrical wiring

The guide appears here as you scroll.

Guide by @Jshulgach (README.md), under MPL-2.0.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Raspberry Pi Pico 2 microcontroller (a Pico variant is also supported) running CircuitPython.
  • Multiple servo motors driving the arm joints and gripper.
  • Force sensing resistors (FSRs) for sensing.
  • RGB LED used as a status indicator.
  • Camera module, such as an ESP32-CAM, used in some demos and tests.
  • USB connection to the host computer.

Connections

  • Wiring diagram is provided as an image in the repository at assets/wiring.PNG.
  • The Pico communicates with the host over USB serial at a default baudrate of 115200 in the client, while examples mention 9600.
  • Servos and other peripherals connect to the Pico as shown in the wiring diagram; the text does not describe pin assignments.

Schematics, boards and diagrams