Intermediate6–8 h (estimate)7 parts

2-DOF servo arm with inverse kinematics

Two servos, two links and the law of cosines: type x y, the arm goes there.

Overview

A planar arm with a shoulder servo and an elbow servo. You send a target position (x, y in cm) over the Serial Monitor; the board solves inverse kinematics with the same formulas as the 2-link simulator and moves both servos.

Most of the work is calibration: matching servo angles to real joint angles and checking that every target is reachable before moving.

You will learn

  • · Forward and inverse kinematics of a 2-link arm
  • · Servo calibration (offsets and direction)
  • · Checking reachability and joint limits before moving
  • · Powering servos safely from a separate supply

Parts list

Part (generic)QtyNote
Arduino Uno-compatible board (5 V logic)1
Standard or micro hobby servo (metal gears recommended for the shoulder)2
Two rigid links (wood, acrylic or 3D-printed), about 8–12 cm each2
Servo horns and small screwsas needed
Separate 5 V supply rated for both servos’ stall current (see the servo datasheet)1
Capacitor across the servo supply (e.g. 470–1000 µF electrolytic)1Reduces voltage dips when servos start.
Base board, jumper wires, a pen or pointer for the tipas needed

Generic part names only. Pinouts and logic levels vary between modules of the same type, so check the documentation of the exact module you have.

Tools

  • · USB cable and the Arduino IDE
  • · Protractor
  • · Ruler
  • · Screwdrivers, glue or drill for the links

Safety

  • · Do not power servos from the board’s 5 V pin; brown-outs reset the board and can damage the regulator.
  • · Keep fingers clear of the links when powering up: servos jump to their start angle.
  • · Observe capacitor polarity.

Learn the ideas first

Full build

  1. 01Build the links and mount the servos
  2. 02Wire a separate servo supply with a common ground
  3. 03Calibrate each servo against a protractor
  4. 04Forward kinematics check: angles → tip position
  5. 05Inverse kinematics from Serial input
  6. 06Draw a square and measure the error

Checking your account…