
Build a miniature palletizing robot arm compatible with Arduino, based on the open-source Lite Arm i2 design. Combines 3D printed parts, servos, and hardware into a fully functional robotic arm.
Back in 2014, this project began as a reverse engineering effort of a miniature palletizing robot arm, eventually evolving into the open-source Lite Arm i2 — an affordable, DIY robotic arm you can 3D print yourself.
⚠️ Do not over-tighten parts — this may cause damage and prevent proper operation.
📦 Materials
⚡ Electronics
📌 Other
Verify you have all 39 3D printed parts from the Lite Arm i2 parts manifest. Servos needed: • 3x Tower Pro MG995 or MG996 (base rotation x1, arm movement x2) • 1x Tower Pro SG92R (optional, fits in head) Hardware needed: • #6M machine screws with nuts and lock nuts (various lengths) • #6M flat washers • 3x 1.5" deck or drywall screws • 6–7" #6M threaded rod ⚠️ 4 of the base servo's small spacers may require sanding depending on servo used.
Press the #6 nuts into the grooves on the base using a pair of pliers. This keeps them from free-spinning when assembling the sides later. Attach the ring to the base as shown.
Insert spacers into the uArm base. Spacers may need to be sanded for fit depending on the servo used. Install the MG995 or compatible servo on top of the spacers and secure with 1/2" #6 machine screws.
Assemble the base stand with the spacer and servo horn mount using 3x 1" #6 machine screws. Attach the servo horn with screws through the servo horn mount.
Attach the uArm base to the base stand from the previous step using the servo horn machine screw as shown.
Use the smaller shoulder in this assembly. Attach the MG995 or compatible servo through the small shoulder with the servo body facing outwards, using 4x 1/2" #6 machine screws.
Attach one of the printed linkage connectors to the servo horn using screws. Next, attach the linkage connector assembly to the servo using the servo's machine screw.
Use the larger shoulder for this portion. Attach the MG995 or compatible servo through the large shoulder with the servo body facing outwards, using 4x 1/2" #6 machine screws.
Assemble the lower arm using the parts shown, along with: • 4x 2" #6 machine screws • 2x 1/2" wood screws Do not fully tighten the 2x 2" #6 machine screws in the arm that hold the round cross supports — this makes the following steps easier.
Assemble the upper arm using the parts shown, along with: • 5x 2" #6 machine screws • 1x 3" #6 machine screw Use the two longer screws to attach the linkage to the head.
Assemble the two kinematic linkage parts with 1/2" #6 machine screws as shown.
Attach the upper and lower arm assemblies: • The shorter linkage part attaches to the back of the upper arm • Use 1x 3" #6 machine screw at the pivot point of upper and lower arm • Use 1x 2" #6 machine screw for the linkage
Attach the large shoulder assembly to the arm assembly using the servo machine screw. Attach the arm's linkage rod to the large shoulder as shown.
Attach the large shoulder / arm assembly to the base assembly. The large shoulder assembly attaches via 2x 1.5" #6 machine screws threaded through the 2 nuts in the side of the base assembly.
Attach the small shoulder assembly to the arm and base: • Attach via 2x 1.5" #6 machine screws through the 2 nuts in the side of the base • Attach upper arm linkage to the small shoulder linkage horn with a small spacer between linkage and horn • Use 1x 2" #6 machine screw with a large spacer on the outside as a stop, secured with a nylon lock nut
A length of threaded rod is used to tie the two shoulders together and tighten the entire arm chassis. Tighten the rod to pull the gaps out of the parts between the two servo horns.
Assemble the Arduino mounting platform: • Both supports attach to corresponding holes in each shoulder • The platform mounts on top of the supports • Screw holes with risers are built into the platform for the Arduino This platform was designed for an Arduino UNO, but an Arduino Duemilanove will also fit.
Your UArm Miniature Palletizing Robot Arm is now fully assembled! Connect servos to the Arduino and upload test code to verify each joint moves correctly. Test the full range of motion for each axis before running any automated routines.
Powered by SilidLMS