All Projects
Robotics / Mechanism Design2025

Rapid Button Pressing Four-Bar Linkage Robotic Arm

A machined four-bar linkage that drives an acrylic paddle between three button pairs on a playing field, designed for the shortest travel time in the smallest volume. Third highest score in a class of 105 students.

Rapid Button Pressing Four-Bar Linkage Robotic Arm

Three buttons, one paddle, twelve watts.

Every team in the class got the same playing field and the same motor. A four-bar linkage had to carry an acrylic paddle, the only part allowed to touch the buttons, to three color coded button pairs, and press each pair on command. Score came from travel time between positions, the volume the mechanism swept, transmission angles staying inside 30–150°, and craftsmanship of the machined parts.

That rubric makes the tradeoff explicit. Longer links reach the far buttons comfortably but add inertia the 12 W motor has to accelerate, and they inflate the bounding volume that gets scored against you.

The four-bar geometry: two ground pivots on the plate, input and output links carrying the coupler
The four-bar geometry: two ground pivots on the plate, input and output links carrying the coupler

Five geometries, timed against each other.

We laid the linkage out as a SolidWorks sketch with the coupler as a sketch block, copied to each of the three button positions, then used perimeter circles through the three positions of each moving joint to locate the ground pivots. Changing the coupler shape reshuffled the ground joints instantly, so the team could explore a real spread of options instead of one.

The chosen linkage swung from 61° to 125° in 0.16 s, the fastest of the set. The alternatives lost on speed, size, or both: two designs ran 0.19 s and 0.2 s with output links near 10 inches, and one reached only 0.3 s despite the best transmission angles in the group. Its worst transmission angle deviation was 35.03° from ideal, comfortably inside the allowed band. We accepted a slightly larger bounding box for the speed.

Three-position layout: coupler blocks copied to each button position, perimeter circles locating the ground pivots
Three-position layout: coupler blocks copied to each button position, perimeter circles locating the ground pivots
Transmission angle checked at each extreme of the swing
Transmission angle checked at each extreme of the swing

Mounting the button pressing mechanism.

The coupler carries the presser, so its design is where the linkage meets the actual task. We mounted two 12 V open frame solenoids to a printed bracket bolted to the coupler with M3 screws threaded directly into the aluminum, no nuts behind it. The acrylic paddle sits in a printed mount whose threaded boss screws straight onto the solenoid core, so the paddle strokes forward off the coupler rather than needing extra linkage travel.

Sleeve bearings were press-fit into the coupler for the shoulder-bolt joints: low friction without introducing the play a clearance hole would.

Presser stack: acrylic panel mount threaded onto the solenoid core, solenoid mount bolted to the coupler
Presser stack: acrylic panel mount threaded onto the solenoid core, solenoid mount bolted to the coupler
The built presser: open frame solenoid in its printed mount, bolted to the machined coupler
The built presser: open frame solenoid in its printed mount, bolted to the machined coupler

Joints, spacers, and hard stops.

Each joint stacks a shoulder bolt through press-fit bronze sleeve bearings with thrust bearings and washers, kept fully engaged on flat surfaces. The class allotted eight thrust bearings total, which forced a decision about which joints actually needed them. Machined spacers set the spacing between links, hard stops on slots gave us somewhere to move the limit switch after machining tolerances showed up in assembly.

Assembly breakdown: coupler assembly, input and output links, ground plate, spacers, and adjustable hard stops
Assembly breakdown: coupler assembly, input and output links, ground plate, spacers, and adjustable hard stops
Joint stack: shoulder bolt through press-fit sleeve bearings with thrust bearing and washers
Joint stack: shoulder bolt through press-fit sleeve bearings with thrust bearing and washers

Two ratios, and the one that wins.

The transmission ratio had two independent lower bounds. Encoder resolution set the first: at 0.1875° per count on a 22.37 cm output radius, a ratio above 1.464 keeps paddle positioning under the 0.5 mm requirement. Inertia matching set the second, comparing the mechanism's reflected inertia against the motor's, and gave 2.117.

We took the more conservative 2.117 and built it as a 2:1 pair of 3D-printed herringbone gears. 3D-printed gears allow for greater design customization and mounting choices compared to off the shelf commercially available gears. The herringbone teeth keep the mesh loaded continuously and cancel the axial force a single helical set would push into the bracket. They also help with meshing and strength concerns that come with 3D-printed gears. The larger ratio also buys faster acceleration, which for this task is the whole point. Resolution at the paddle came out to 0.346 mm.

Herringbone gear pair: motor gear on a hub, driven gear screwed to the input link
Herringbone gear pair: motor gear on a hub, driven gear screwed to the input link
Inertia matching across the three positions, giving a transmission ratio of 2.117
Inertia matching across the three positions, giving a transmission ratio of 2.117

Everything cut in house.

The three links, the spacers, and the ground plate were machined by the team across two machining phases. Each link was pocketed rather than left solid: material was removed from the low stress interior while the rim and the bosses around the bearing bores stayed full thickness. Every gram taken out of the links is inertia the 12 W motor no longer has to accelerate, and the retained perimeter keeps the bending and torsional stiffness the joints need to stay aligned under the solenoid impacts. Bearing holes were pilot drilled, opened with an N drill, then finished with a 0.3135″ reamer before arbor pressing the sleeve bearings in, an interference fit tight enough to hold, but loose enough not to crumple the bearing. Ground-plate holes and slots were CAMed and cut on the mill.

3D-printed spacers were the fallback if machined tolerances slipped. However, they were not needed, the machined ones ran smoothly.

Turned aluminum spacers setting the spacing between links
Turned aluminum spacers setting the spacing between links
Checking the printed herringbone gear against the machined input link before fastening
Checking the printed herringbone gear against the machined input link before fastening
Links, gears, spacers, and hard stops assembled on the machined ground plate
Links, gears, spacers, and hard stops assembled on the machined ground plate

Closing the loop.

An L298N H-bridge takes low voltage Arduino signals and switches the 12 V supply across the motor in either direction, with speed set by PWM duty cycle and a 2 A fuse in line to protect the motor. A limit switch on one hard stop calibrates the encoder at startup, which gives the controller an absolute reference for the three button positions. The solenoids fire off the same board.

Wiring: Arduino, L298N H-bridge and motor with encoder, plus MOSFET-driven solenoid, toggle, and limit switch
Wiring: Arduino, L298N H-bridge and motor with encoder, plus MOSFET-driven solenoid, toggle, and limit switch
Pololu DC motor with encoder mounted behind the ground plate
Pololu DC motor with encoder mounted behind the ground plate

Third place achieved.

Final mechanism: 391 in³ swept volume, $67.41 in purchased and printed parts out of the $100 available budget, and 0.16 seconds between extreme positions. On demonstration day it scored third highest in a class of 105 students.

The run below shows the linkage cycling through the button pairs at full speed.

Paddle on the blue pair
Paddle on the blue pair
And on the red pair
And on the red pair
And swung out to the yellow pair at the far edge of the field
And swung out to the yellow pair at the far edge of the field
Full speed run across the three button pairs