The MeArm is the reference-design for beginner robot arms: laser-cut acrylic, four micro-servos, four degrees of freedom, and a price that rarely breaks $30 for the frame kit alone. It’s open-source, battle-tested, and has more build logs on the internet than almost any other arm design. Here’s exactly how to put one together and get it moving.

What’s in the kit

A MeArm kit ships the laser-cut acrylic frame (arms, base plate, gripper jaws, servo horns, spacers, bolts). Servos are sometimes included and sometimes sold separately — check the product listing before buying. You’ll need:

  • 4× SG90 or SG92R micro-servos — the 9g blue/orange ones. SG92R is the metal-gear upgrade and worth the small premium for the shoulder joint which carries the most load.
  • Arduino Uno or Nano (or any board with four PWM pins).
  • A separate 5 V supply for the servos — USB power from the Arduino is not enough for four servos running at once.
  • M2/M3 screwdrivers plus long-nose pliers.

Assembly overview

Assembly is mostly press-fit acrylic with bolts, so the risk of error is low. The order matters:

  1. Gripper first. Fit both jaws and the gripper servo (channel 3) into the gripper plate before attaching it to the forearm — the jaws are impossible to fit later.
  2. Elbow servo (channel 2) mounts into the upper arm plate next.
  3. Shoulder servo (channel 1) goes into the base pedestal; the upper arm pivots on it.
  4. Base servo (channel 0) sits flat inside the base ring and rotates the whole arm.
  5. Set mid-point before locking horns. Centre every servo electronically (run a 1500 µs pulse to each) before pressing the servo horn on, so the arm starts in a neutral position.

Work dry first — assemble without glue, confirm all joints move freely, then bolt tight.

Wiring to Arduino

The simplest wiring: four signal wires to four PWM pins, servo V+/GND to your external supply, all grounds tied together.

Arduino Uno          MeArm servo
-----------          -----------
Pin 9  ──────────> Base servo (orange/yellow wire)
Pin 10 ──────────> Shoulder servo
Pin 11 ──────────> Elbow servo
Pin 12 ──────────> Gripper servo

External 5 V supply ─ V+ ──> all servo red wires (joined)
External 5 V supply ─ GND ─> all servo black/brown wires + Arduino GND

Never pull all four servo V+ lines from the Arduino’s 5 V pin — even idle SG90s can together exceed the on-board regulator’s rating.

Cleaner option: PCA9685

A PCA9685 driver connects over I2C (two wires) and gives each servo its own clean PWM channel. Jitter disappears, and you free up every PWM pin on the Arduino for sensors or additional outputs. Wiring follows the same pattern described in the wiring diagram guide.

Arduino code

The Arduino Servo library handles the four joints in about 20 lines:

#include <Servo.h>

Servo base, shoulder, elbow, gripper;

void setup() {
  base.attach(9);
  shoulder.attach(10);
  elbow.attach(11);
  gripper.attach(12);

  // Move to a safe home position
  base.write(90);
  shoulder.write(90);
  elbow.write(90);
  gripper.write(90);
  delay(1000);
}

void loop() {
  // Example: sweep the base 45° left then right
  base.write(45);  delay(800);
  base.write(135); delay(800);
  base.write(90);  delay(800);
}

write() takes degrees (0–180). The mapping from angle to physical joint position depends on how the servo horn was pressed on, so tune the home angles until the arm sits upright and level.

Common problems

SymptomCauseFix
Arm drifts at startupHorn pressed at wrong angleRe-centre servo electronically; re-press horn
Servos jitter or stallAll powered from Arduino 5 VUse an external 5 V / 2 A supply
Gripper won’t fully closeJaw geometry misalignedLoosen bolts, realign, retighten
Arduino resets when arm movesNo shared ground with supplyJoin all GND rails

Stepping up from a MeArm

The MeArm’s SG90 servos top out at around 1.8 kg·cm of torque — enough to lift a pen cap, not a real tool. When you want more reach and grip strength, a 4-DOF or 6-DOF servo arm kit with MG996R-class servos is the natural next build. The same Arduino + PCA9685 wiring carries over directly. Read 4-DOF vs 6-DOF to pick the right step up, and how to build a robotic arm for the full roadmap.

Frequently asked questions

What is a MeArm?

MeArm is an open-source, laser-cut acrylic robotic arm design created by Mime Industries. It has four degrees of freedom (base, shoulder, elbow, gripper), runs on four micro-servos, and is designed to be driven by an Arduino. It's one of the most widely copied beginner arm designs on the internet.

What servos does the MeArm use?

The original MeArm design uses four SG90 (or SG92R) micro-servos — the small, lightweight 9g class. These are not the same as the larger MG996R servos used in full-size 6-DOF kits. Each servo controls one joint: base rotation, shoulder, elbow, and gripper.

Can I drive a MeArm with an Arduino?

Yes — four PWM-capable digital pins on an Arduino Uno or Mega are enough for four servos. Attach the signal wires to pins 9, 10, 11 and 12 (all hardware PWM on a Uno), power the servos from a separate 5 V supply, and use the Arduino Servo library. Adding a PCA9685 driver makes wiring cleaner and removes servo jitter.

Is MeArm a good beginner project?

It's excellent for a first 'real' robot arm — small, cheap, well-documented, and the open-source design means a huge community of build logs and code to draw from. The trade-off is that tiny SG90 servos give limited torque, so it can only lift lightweight objects.