To give an electric car more range, you need a bigger battery pack. But that adds weight, so you need bigger motors and more battery capacity to compensate. This creates a vicious cycle and robot arms are susceptible to a similar problem. A robot arm needs to lift its own weight in addition to whatever it picks up. Bigger motors to increase the payload capacity also increase weight, thereby decreasing the payload capacity. This video from RoTechnic describes how to sidestep that cycle with remote motors.
RoTechnic’s robot arm has six degrees of freedom (DoF): a rotating base, a shoulder joint, an elbow joint, a rotating wrist joint, a tilting wrist joint, and a rotating end effector. If the robot were a conventional design, all of those joints (except the first two) would require a motor that adds levered weight to lift. The weight of those motors would subtract from the amount that the arm could otherwise lift. But three of this robot’s motors sit on the table nearby so that it doesn’t need to lift them.
RoTechnic used an Arduino Mega 2560 board to control those motors. Most of the robot’s other parts were 3D-printed. Some of the motors, like for base rotation and the shoulder joint, remain in the conventional location. But three of the motors actuate their joints via fishing lines fed through Bowden tubes. The motors have spools and when those rotate they loosen one line while tightening the other. Each joint has a similar spool, so the fishing lines turn them. The only limitation is that a joint can’t rotate indefinitely, but one can mitigate that by looping the fishing line around each spool many times to provide an equivalent number of revolutions.