Push-push: press to latch, press to release (heart cam)

11 min readUpdated Jun 2026

You click a pen and the tip comes out; you click it again and the tip retracts. You did the same thing twice—pushed inward—and got two opposite results. That alternation isn't decided by any electronics or any second button: it's decided by the shape of a slot, a closed, heart-shaped track that a pin travels around in a single direction. The whole mechanism lives in that track, and the trick is that the pin can never undo its path. In FDM it's one of the most satisfying mechanisms to reason about and one of the most thankless to print: everything that makes it work comes down to a set of steps only a few layers tall—exactly the kind of detail your printer tends to swallow.

A pin that only ever moves one way

The part has two pieces that move against each other: a carrier pushed by a return spring, and a pin that runs through a track cut in the shape of a heart. When you push the carrier, the pin doesn't travel in a straight line: the track forces it to trace a closed circuit. It follows one flank on the way in, rounds the central peak of the heart—the island that separates the inbound path from the outbound—and drops into the upper notch, the latching point. Release the carrier and there it stays. Push again and the pin leaves the notch, climbs over that same island, and descends the other flank to the base, where it exits. One full lap of the heart equals two presses: the first leaves it latched in the notch, the second releases it. The central peak is why the second push releases instead of latching again: the pin can't back up over the notch—it can only round the island and come down the far slope.

What makes the circuit one-way is the spring, but not because it nudges the pin sideways. The return spring supplies an axial force: it pushes the pin toward the exit and keeps it pressed against the walls of the track. Those sloped walls break the axial force into a lateral component and walk the pin from one flank to the next. Without that constant force holding it pressed against the flank there would be no circuit: the pin would enter and leave along the same line, and pushing twice would give the same result twice. The spring isn't an accessory that returns the part to its place; it's half the kinematics—it's what turns a symmetric push into an asymmetric advance.

The track's asymmetry is the whole mechanism

The heart track in plan view with sloped walls and depth steps, highlighting the final no-return step
The heart track in plan view with sloped walls and depth steps, highlighting the final no-return step

If you cut a perfectly symmetric heart into a plate and drop in a pin, you don't have a push-push: you have a pin that oscillates. Two things have to act at once to channel the travel in a single direction, and it's worth not confusing them. The sloped walls guide the pin laterally, flank to flank; the depth steps stop it from backing up. These steps are small ledges spaced around the track that the pin can drop down but not climb. At each transition—entering the notch, leaving it, crossing the base—the floor of the track drops a small jump in the allowed direction. The pin, pushed by the spring against the flank, falls that step and is left with no way back: the wall it just left behind is now taller, and it can't climb it. Neither mechanism gives you the circuit on its own. Take away the steps and the sloped walls let the pin undo its path; take away the walls and the steps have no way to route it.

That's why the track of a push-push heart works in three dimensions even though you draw it in two. It isn't a slot of constant depth: it's a ramp that descends in stages along the circuit and, as it closes the lap, jumps back to its starting height in a single final step. Each segment sits one step below the previous one, and the transitions between segments act as mechanical valves that pass the pin in one direction only. Remove the steps and the alternation disappears; smooth them too much and the pin shoves its way over, skipping the latch.

What it's for, and why it's almost always a heart

You want a push-push when a single action—pushing—has to alternate between two stable states: in and out, open and closed, extended and retracted. The retractable pen is the textbook case, but the family is broad: push-push connectors and plugs that latch on insertion and release on a second push; press-to-open drawers and compartments that open on a second tap; latches that need no handle. What they share is that they replace two controls—one to open, one to close—with a single one that keeps its state in the geometry itself.

The heart cam is the classic way to get there because it resolves the alternation with a single track and a single pin, with no ratchets or parts that count presses. All the logic—advance, latch, release—is encoded in the silhouette and in the steps of the floor. It's elegant precisely because it concentrates the mechanism into one piece of geometry, but that same concentration is what makes it sensitive: if the geometry doesn't come out exact, there's no slack anywhere else to rescue it.

Why the pin should be metal

We've referred to the pin throughout without saying what it's made of—and that's one of the manufacturing decisions that most affect the result. A reliable printed push-push almost never uses a plastic pin molded as part of the carrier: it uses a metal pin, a length of rod or a formed wire, mounted floating and resting against the stepped floor of the track. The reason is twofold. First, wear: the pin always rubs against the same flanks, and plastic against plastic those surfaces round off; a metal pin against a plastic track lasts far longer. Second, and less obvious: the force that keeps the pin pressed against the stepped floor. For the pin to drop into each step you need something pushing it against the floor of the track, not just toward the exit. In many real cams that's a second spring; if the pin is a formed wire, its own elasticity does that job: the wire flexes to go in and relaxes to settle into each step. Without that force against the floor the steps are useless, because the pin never drops into them.

Printing the cam is the real challenge

This is where a mechanism that's elegant on paper collides with the physics of FDM. The heart's steps are small, and their crispness depends directly on the resolution of your machine, so the print orientation decides whether the track comes out usable or useless. Print the plate with the track facing up, in the plane of the layers—and accept one uncomfortable fact up front: because the track's depth grows in Z, the ramps that descend in stages laminate into little steps of layer height. You can't eliminate that staircase, only control it. That's why you print face up: each functional step lands cleanly on a layer boundary instead of coming out as a dirty overhang. And it's why you drop the layer height as far as your machine allows, so the lamination's staircase stays fine relative to the functional steps you actually want. A track printed on edge or under an overhang is much worse: the staircase of the lamination crosses the geometry at angles that catch the pin where it shouldn't and ruin exactly the asymmetry you need. Layer orientation overrides any other setting; Layer orientation for motion develops it.

With the track well oriented, the second front is clearance. The pin has to run the slot without seizing, so give it generous play—you're on the loose side of the tolerance table, not the tight one—and remember that a printed hole or slot always comes out a little narrower than nominal. The effect is greater the smaller or more curved the gap is: on curves and inside corners the material crowds inward and narrows the passage, while a straight, wide stretch barely shrinks. Size the slot to account for that shrinkage, and do the same for the spring housing, which closes in too. If you don't have a feel for how much your slot closes in, that number comes from calibrating your printer once, like any other moving fit; you'll find it in Tolerances for moving parts.

The failures cluster in the clearance and the step

A printed push-push fails in four ways, and all four localize to the same two spots. It skips steps: if the pin's clearance is excessive or the ramps too shallow, the pin doesn't drop cleanly into each step and the spring pushes it over the next one, skipping the latch notch. The symptom is clear: you push and it doesn't latch, or it latches some times and not others. It jams: the opposite—clearance too tight—leaves the pin rubbing against the slot walls, already narrowed by the print closing in, and the spring lacks the force to drag it around the circuit. The ramps wear: the pin always rubs against the same flanks, and how long it holds up depends on the material pair; plastic against plastic rounds off early and the asymmetry blurs, while a metal pin against the plastic track stretches the life of the mechanism to hundreds or thousands of cycles. The spring goes slack: if the return is a printed spring, creep in the plastic under sustained load bleeds force out of it over time, and a weak spring no longer holds the pin against the flank—the very thing that enforced the one-way travel—so the circuit stops closing.

Notice that nearly all of these failures trace back to one thing: clearance. Too much and it skips; too little and it jams; and wear is nothing more than clearance that grows on its own with use. That's why no table will hand you the right number in advance. Print the track at scale, calibrate the pin clearance and the step depth by trial, and only when the circuit alternates firmly dozens of times in a row will you have a push-push, and not a pin that sometimes latches. The calibration this asks of you is the same any moving mechanism does; if you turn it into a habit—measure your machine once and reuse the number—this mechanism stops being a matter of luck. Start there: Tolerances for moving parts.