← ALL PROJECTS

Robot Arm 2.0

DOF:4 · IK:FULL · MCU:ESP32

SolidWorks · FEA · C++ · Python · MATLAB · ESP32 SOURCE ON GITHUB ↗

Overview

The goal: a functioning 4-DOF robot arm with full inverse kinematics, smooth motion, easy controls, and working positional memory — a major step up from my earlier 2-DOF build.

FULL DEMO — INVERSE KINEMATICS, POSITIONAL MEMORY, BROWSER CONTROL

Design

I started by researching the math behind inverse kinematics and robotic motion, then modeled the full arm in SolidWorks around accurate models of off-the-shelf components.

SOLIDWORKS ASSEMBLY
SOLIDWORKS ASSEMBLY

Before ordering anything, I ran FEA on the structure to confirm it could handle the loads.

I prototyped the inverse kinematics solution in Python and MATLAB first, where iterating is fast, then ported it to C++ for deployment.

FEA — STRUCTURAL VALIDATION BEFORE BUYING PARTS
FEA — STRUCTURAL VALIDATION BEFORE BUYING PARTS

Build

The final system runs on an ESP32 driving servo motors through a PCA9685 driver board. Using the ESP32’s Wi-Fi, I built a browser-based UI for remote control — the arm can store predetermined positions and replay them, with manual override at any time.

BROWSER-BASED CONTROL UI, SERVED FROM THE ESP32
BROWSER-BASED CONTROL UI, SERVED FROM THE ESP32

Result

A working arm with full inverse kinematics, smooth controlled motion, and positional memory, controllable from any device on the network — all of it running in the demo video at the top of this page.