BTP-03 SHEET 03 / 08 / NOV-DEC 2025

Robot Arm 2.0

A 4-DOF robot arm with full inverse kinematics, browser-based control, and positional memory.

STATUS
DOF:4
IK:FULL
MCU:ESP32
THE BUILT ARM
GENERAL VIEW / THE BUILT ARM NTS

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 3-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
EXPLODED VIEW
EXPLODED VIEW
CAD ORBIT / SOLIDWORKS

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

FEA / STRUCTURAL VALIDATION BEFORE BUYING PARTS
FEA / STRUCTURAL VALIDATION BEFORE BUYING PARTS

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

IK SOLVER CODE
IK SOLVER CODE

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.

HEART TRAJECTORY / TRACED PATH
HEART TRAJECTORY / TRACED PATH
TOOLS & METHODS
SolidWorksFEAC++PythonMATLABESP32
DRAWN BY
DIMENSIONS IN MM / TOLERANCES ±0.5 UNLESS NOTED / DO NOT SCALE DRAWING
← ALL DRAWINGS CONTINUED ON SHEET 04 DOUBLE PENDULUM
DETAIL VIEW