PenBot-Mini
A miniature 5-bar linkage drawing robot controlled by an ESP32 and a Python GUI over USB serial.
- Robot arm
- Open source
- arduino
Suggested by Robotheca, created by @dorianborian (opens in a new tab), from github.com/dorianborian/penbot-mini (opens in a new tab). Pinned to commit caee990 (opens in a new tab).
- Hardware license
- Apache-2.0 (opens in a new tab)
- Software license
- Apache-2.0 (opens in a new tab)
- Commercial use
- Allowed
Photo and 3D model
3D preview converted from github.com/dorianborian/penbot-mini at caee990, under Apache-2.0. View the original files from GitHub (6.5 MB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Draws paths, text, or erases lines by resampling a canvas drawing and sending it to the robot for execution.
- Manual real-time control by clicking or dragging the robot in a GUI with inverse kinematics visualization.
- Computes inverse kinematics for a 5-bar 'Elbows Out' linkage.
- Buffers up to 200 drawing commands and limits execution to one command per 30 milliseconds for smooth motion.
Bill of materials
6 parts6 of 6 parts shown
| # | Component | Quantity | Est. price | Supplier |
|---|---|---|---|---|
| Bill of Materials | ||||
| 1 | Petoi Alloy Servo Motors | 2 | – | Petoi Store: buy Petoi Alloy Servo Motors, opens in a new tab |
| 2 | MG90S Micro Servo (Lift) | 1 | – | Amazon: buy MG90S Micro Servo (Lift), opens in a new tab |
| 3 | Seeed XIAO ESP32-C6 | 1 | – | Amazon: buy Seeed XIAO ESP32-C6, opens in a new tab |
| 4 | 30 AWG Wire | 1 | – | Amazon: buy 30 AWG Wire, opens in a new tab |
| 5 | 1/4" ID × 1/2" OD Bearings | 3 | – | Amazon: buy 1/4" ID × 1/2" OD Bearings, opens in a new tab |
| 6 | 5mm × 2mm Disc Magnets | 6 | – | Amazon: buy 5mm × 2mm Disc Magnets, opens in a new tab |
6 of 6 needed parts have no price in the source, so there is no parts total. Read from README.md at the pinned commit.
Build guide
The guide appears here as you scroll.
Guide by @dorianborian (README.md), under Apache-2.0.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Seeed XIAO ESP32-C6 microcontroller running the firmware.
- Two Petoi Alloy servo motors driving the X/Y linkage (M1 Left, M2 Right).
- MG90S micro servo for pen lift up/down.
- Standard PWM servos are required; the project could be adapted to other hobby servos with adjusted linkage geometry.
Connections
- The ESP32 drives three PWM servos: two for the linkage and one for the lift motor.
- The ESP32 connects to a computer over USB serial.
- Parts list notes 30 AWG flexible silicone wire is recommended, but the documents do not describe the specific pin connections.
Cables and connectors
From the parts list.
- 30 AWG Wire × 1