Feasibility & difficulty of programming a 4 DOF robot arm

Hi all,

What i'm hoping for here is more of a discussion on feasibility & level of programming difficulty rather than specific instructions or hardware suggestions & i understand answers may be subjective.

Lets say you want to make a 4DoF robot arm using Servo motors (industrial DC motors with quadrature encoders, not the hobby type servo motor) & have precise position control, path following, acceleration curves & synchronized motion from a functioning inverse kinematics model; how difficult would this be?
assuming that the motors encoders are a low enough resolution that the Arduino can keep up with the number of interrupts.

From what i understand this requires use of:

  • pin change interrupts
  • well tuned PID control
  • some fairly involved mathematics
  • a way of sending commands as coordinate positions/writing movement profiles

How would you categorize this sort of project in terms of beginner/intermediate/expert/advanced etc.?
What is your opinion on the general feasibility of it?


Can you please tell us your mathematics, electronics, programming, Arduino, hardware experience?

Tom.... :slight_smile:

Hi Tom,

Im a mechanical engineer with knowledge of the theory behind PID control (calculating gains, root locus plots to find stability etc.).

Strong maths ability but not amazing, I look at papers detailing what's required for IK and am slightly intimidated bit there's nothing I've never seen before.

For electronics I have a top level understanding of common components functions, can make basic circuits e.g. make LEDs light up, spin a motor.

Arduino experience I've done very basic things like reading sensors (soil moisture, temperature, humidity) and programmed actions like turn on LEDs, turn on a pump.

Hardware wise I feel I can piece together compatible components, I can look at a motor data sheet & understand the values, how they may relate to ease of control.

Programming I have never been formally taught, extremely limited experience, outside of copying, pasting and some minor editing I don't really know what I'm doing.


You could make yourself an opinion about difficulty level by exercising on a hobby 4DOF arm robot such as this one. It's affordable and IMO simple to use :