Six-axis printed arm driven from a browser page

Oct 15, 2026 Last reply: 42 seconds ago 3 Replies
Jump to replies (3)

For a first robotics project, this is a bold one to take on: a six-axis arm with a rotating base, shoulder, elbow, wrist articulation and a two-finger gripper, all in printed red parts, sitting on a matching red enclosure that houses the electronics. What stands out most to me is the control side. The maker wrote an HTML page that talks to an Arduino UNO over USB serial, with JavaScript reading and writing the connection, and the page runs in Chrome or Edge. Using a plain browser as the control panel for a printed arm is a neat setup.



The electronics list is refreshingly modest: four MG996R servos and three MG90s, with the UNO driving seven servo pins, 3, 4, 5, 6, 9, 10 and 11, at 9600 baud. The software details show real care. Every servo parks at 90 degrees and is attached one by one at that angle, the shoulder runs a mirrored pair on pins 4 and 5 with the second angle computed as 180 minus the first, and every incoming target is constrained to per-joint limits such as base 0-180, shoulder 15-165, elbow 10-170 and gripper 20-120 degrees. Stepping each servo one degree per cycle with a 15 millisecond delay seems to me a sensible way to get smooth motion, and the sketch ignores any incoming line that does not hold six values.



The results back it up: the arm runs automated sequences, rotating its base, extending forward, opening and closing the gripper and swinging upwards and backwards, all driven from a page with sliders, a home button that parks every joint and a save feature for poses.



One open area is the mechanical side. How the link lengths and dynamic load capacity were worked out is not explained, and the servo attachment method is not described beyond the maker saying models are available.


Computing the second shoulder servo as 180 minus the first strikes me as a smart way to keep a mirrored pair moving together from a single command. The trade-off is that the pairing exists only in the sketch, so anyone editing the code later needs to remember that pins 4 and 5 act as a team. Layering per-joint limits on top makes the whole control path feel well guarded.

I would like to know how the maker arrived at the link lengths and the dynamic load capacity for each joint. With four MG996R servos and three MG90s doing the work, the sizing must have taken some thought, and hearing how those numbers relate to what the servos can handle would be useful for anyone planning a similar arm.

One variation worth trying: make the 15 millisecond step delay adjustable from the control page as a speed slider. The sketch already steps each servo one degree per cycle, so slowing that delay down or speeding it up would change how fast every motion plays out without touching any of the joint angles, and saved poses could be replayed gently while testing or briskly for a demo.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required