Date: August, 2026
Written by: Anyanwuocha-Collins Chibuike Innocent
<aside>
</aside>
What started as a CAD modelling exercise gradually turned into a full mechatronics project involving mechanical design, 3D printing, electronics, embedded programming, and robotics.
The goal of this project was to design and build a functional 6-Degree-of-Freedom robotic arm capable of controlled multi-axis movement, with the long-term goal of controlling its end effector using inverse kinematics.
The entire mechanical structure was designed in Autodesk Fusion 360 and transformed from a digital model into a physical assembly through 3D printing on a Creality Ender 3 V3 SE. Six servo motors—three MG996R high-torque servos and three SG90 micro servos—were selected to provide movement across the arm's six degrees of freedom.
For the control system, an ESP32 DevKit acts as the brain of the robot, while a PCA9685 16-channel PWM servo driver handles communication with the six servo motors. The system is programmed using the Arduino IDE.
The project is currently at the stage of refining its power system and developing the inverse kinematics algorithm. Beyond simply building a moving robotic arm, the project has become an exploration of how mechanical, electrical, and computational systems must work together to create a functional robot.
<aside>
</aside>
I've always found robotic arms interesting because they sit right at the intersection of the areas I enjoy most in engineering.
You have the mechanical side—designing links, joints and structures.
Then there's the electronics—figuring out how to power and control multiple actuators.
And finally, there's the software and mathematics—making the robot understand where it needs to move and how each joint needs to respond.
This project was my attempt to bring all three together.
Rather than purchasing a ready-made robotic arm, I decided to design and build my own 6-DOF robotic arm, starting from the CAD model and eventually integrating the electronics and control system.
The development process therefore became: