Hugo the Drawing Arm
Summary
Hugo is a 2D drawing robot arm based on Scara configuration. Hugo is connected to a GUI running on a PC that sends to it X ans Y coordinated to make it move. Also it has a pen holder mechanism moving by a servo motor to raise the pen up and down.
Features
- Actuation is by two stepper motors with GT2 belt and pulley system
- Pen-lifting mechanism using a servo motor
- Limit switch homing (PCB made.)
- Serial-controlled drawing from a computer using a GUI made using tkinter
- Live LCD feedback to debug what happens and show the current angles each joint takes.
Final Result:

Here is the final robot arm setup:
System Overview
Below is a simplified system diagram:
- PC > Sends coordinates via serial
- XIAO ESP32-C3 > Computes IK + controls motors
- A4988 Drivers > Drive stepper motors
- Robot Arm > Moves the pen to draw

Bill of Materials
Components | Quantity | Links | Cost |
---|---|---|---|
Stepper motor | 2 | Stepper motor Nema 17 | 900 EGP |
Servo motor | 1 | Servo motor SG90 | 100 EGP |
GT2 timing belt | 2 | Timing belt 1m 6mm | 60 EGP |
Stepper motor pulley (20 teeth) | 2 | 20 teeth 5mm bore | 100 EGP |
Stepper motor pulley (36 teeth) | 2 | 36 teeth 5mm bore | 150 EGP |
Limit switch | 2 | Limit switches | 15 EGP |
Stepper motor driver A4988 | 2 | A4988 Driver | 170 EGP |
ESP32 C3 Controller | 1 | Xiao ESP32 C3 | 750 EGP |
LCD with I2C interface | 1 | 20x4 LCD display | 350 EGP |
12V Power Supply (2A or higher) | 1 | Local shop or reused | ~150 EGP |
Wires, Connectors, USB cable | - | Assorted jumper wires and USB-C | ~100 EGP |
Perfboard or Custom PCB | 1 | Inventory / Fab Academy | - |
Heat sinks for A4988 (optional) | 2 | Inventory | - |
3D printed pen holder | 1 | Custom design | - |
Materials | Quantity | Notes | Cost |
Acrylic 6mm / Plywood 6mm | 1 sheet | Inventory | - |
3D printing filament | ~100g | Inventory | - |
Screws, nuts, standoffs | As needed | Inventory | - |
You can download my files from here:
- Design file in Fusion 360
- My STL files for 3D printed parts
- Laser cut parts (SVG)
- Arduino Code for Xiao ESP32 C3
- GUI python file
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
