ICOS · Weekly update · 7 Oct 2026

From two latches to a printed snap lock

What changed on the leg dock since the last update, why, how it was checked, and what the first printed parts showed. Back to the weekly update

30 Sep to 3 Oct

Five docks in four days

Each version answers the main objection to the one before. The pictures show the same view: the leg root on one face, and that face alone.

  1. V7930 Sep
    V79: the leg root docked on one face of the bodyV79: what is on the face of the body

    Receiver and two draw latches

    A square foot drops into a separate receiver, which is screwed to the face with six M2 screws. Two draw latches clamp it down.

    Why it changedThe face itself is not the interface. The dock alone needs an adapter part and 14 screws per leg, and only four faces are prepared for it.

    ▶ Animation: the latch in 9 steps

  2. V802 Oct
    V80: the leg root docked on one face of the bodyV80: what is on the face of the body

    Triangular foot, rim printed on the face

    The foot becomes a triangle that slides under a V-shaped rim printed with the body. The receiver and its six screws are gone: screws per leg 36 → 30.

    Why it changedStill only four faces had a dock. Quick release should mean any face.

    ▶ Assembly bench of V80

  3. V813 Oct
    V81: the leg root docked on one face of the bodyV81: what is on the face of the body

    The same dock on all 20 faces

    Every face gets the rim. The two latches move to a beam in front of the foot and lie flat.

    Why it changedA re-check showed that the 45° roofs are not a hard stop: with both latches open the foot can slide 5.2 mm straight back out (unless the friction on the roofs is above about 0.4), so the two latches alone hold the leg. The body now carries 40 keepers and 80 screws, and the robot is up to 3.55 kg.

    ▶ Assembly bench of V81

  4. V823 Oct
    V82: the leg root docked on one face of the bodyV82: what is on the face of the body

    Proposal from GPT: add a steel cross pin

    Same diagnosis. Keep V81 and add a Ø5 steel pin (violet) through two ears on the dock and through the leg root, held by a cotter pin (pink) and two washers.

    Why it was not builtFour loose parts per leg and a pair of pliers. The pin passes three Ø5.5 holes, which asks for about ±0.13 mm on every printed face. Latches, keepers and screws all stay. +48 g.

  5. V833 Oct · current
    V83: the leg root docked on one face of the bodyV83: what is on the face of the body

    Two printed spring bolts, no metal in the dock

    The latches go. Two spring bolts in the leg root snap out in front of two solid walls that are printed with the body. Pinch both paddles to release.

    ResultLeg 0.667 → 0.598 kg, robot 3.55 → 3.15 kg (estimates). The only bought parts in the lock are two springs and two M2 screws per leg.

    ▶ Animation: how a leg clicks on

The five versions in numbers
V79V80V81V82V83
What stops the leg sliding out2 draw latches2 draw latches2 draw latches2 latches and a steel pin2 printed bolts in front of 2 printed walls
Faces with a dock44202020
Bought lock parts per leg, screws aside2 latches, 2 keepers2 latches, 2 keepers2 latches2 latches, pin, 2 washers, cotter pin2 springs
Lock hardware on the bodya receiver with 2 keepers, screwed on, for each leg2 keepers and 4 screws on each of 4 faces40 keepers, 80 screwsas V81none
Screws per leg363026as V8124
Robot mass (estimate)–3.22 kg3.55 kgV81 + 48 g3.15 kg
V83

How the leg is held

A drawer with a door bolt. The triangular foot slides in under two 45° roofs, so the only way out is to slide 5.2 mm straight back the way it came. Two spring bolts close that path. The Quick release tab shows it step by step.

One face of the body with the two spring bolts and their springs; the leg root is hidden
Leg root hidden. Two bolts, one spring each, stand in front of the two stop walls at the base corners of the face. The walls are part of the body print.
Top view, cut through the lower half of a bolt tip: the 15 degree wedge of the bolt lies on the wedge of the stop wall
Lower half of the bolt tip, from above.
  • 1leg root
  • 2spring
  • 3bolt
  • 4stop wall
  • 515° wedge
The spring pushes the bolt out until the wedge touches, so there is no play, and print error or wear is taken up. Arrow: the only way out for the leg.
Top view, cut through the upper half of a bolt tip: a flat face of the bolt stands 0.7 mm in front of a flat face of the wall
Upper half.
  • 1flat face of the bolt
  • 2flat face of the wall: 0.7 mm away as designed, 0.95 mm as the bolt really rests
If a wedge ever slips, the leg moves back about a millimetre and stops here, flat on flat. That stop needs no friction.
5.2 mmthe leg must slide back this far to come off, with both bolts held in
7.0 mmbolt extension when locked, as designed (7.7 as it really rests). A seat 0.5 mm off either way gives 5.1 to 8.9 mm
μ ≥ 0.134friction the wedge needs to hold by itself. Printed plastic: about 0.2 to 0.4 (assumed, not measured)
393 Nscreening limit of one stop on its flat faces (30 MPa bearing). 534 N on the wedge
2400 / 2400load directions balanced by compressive contacts alone (form closure): no friction, no preload
7 to 12 Nestimated pinch on each paddle to release, with the chosen spring
3 to 5 Oct

What was checked before printing

All of it on the final geometry (V83c). Every number here comes from the check reports of the CAD package unless it says otherwise.

CheckResult
Leg seated, both bolts outNo overlap. No free motion in any of 12 directions (first contact within 0.004 mm or degrees). With both bolts held in, it slides out freely.
A leg on every face20 of 20 faces pass for fit, finger room and release path. Two legs on neighbouring faces: 80 of 90 pairs work; the 10 pairs that share a base edge do not.
Leg motion2197 joint poses, 0 collisions.
One bolt knocked inThe far side of the foot moves back 0.65 to 1.16 mm, of the 5.2 mm it would need, so in CAD the foot still cannot get out. But a 9 N·m moment at the dock then puts 285 N on the remaining stop, against its 393 N limit. Rule: if one paddle sits in, stop and fix it.
Crawl in simulationMuJoCo, the same crawl engine as last week. The model weighs 3.31 kg (it still carries the old latch hardware): 40 cycles, 1.62 m in 108 s, tilt up to 3.2°, peak joint torque 1.47 N·m. The leg roots are welded to the body in this model, so it tests the walk, not the lock.
Exported files17 STEP files read back valid, 34 STL files watertight.
Loads on one stop, seven cases
Load caseForce on one stopFactor to 393 N
One leg hanging on any face, any direction18 N21.7
Robot lifted by one leg40 N9.7
The same with a 3 g jerk122 N3.2
Standing, half the weight on one foot56 N7.1
Crawl simulation at 3.31 kg, largest of its 43,200 recorded samples61 N6.4
All 6 simulation runs (225,316 samples, up to 4.06 kg)69.6 N5.6
Whole weight pushing sideways on the toe of a straight leg (9.7 N·m at the dock)208 N1.9

Rigid-body statics on nominal sections, as a screen. Not covered: impact, creep, fatigue, temperature. The simulation values are estimates from the root loads of the model, not measured contact forces.

Tolerance window and how to read it on the part

As designed, the lock works for a seat that is up to 0.7 mm short or 0.7 mm deep, which is about ±0.35 mm on the printed surfaces. With the bolt where it really rests under load (found on 6 Oct, below) the window is 0.95 mm short to 0.51 mm deep, and the bolt stands 7.7 mm out instead of 7.0.

It can be read without tools: the paddle shows as much as the bolt is out. 5 to 9 mm is right. Less means the face is fat (trim the contact lands under the roofs, or the pads); a paddle at its travel stop that still rattles means it is thin (tape on the pads).

Print estimates

Leg root 10 h 16 m, body 38 h 36 m, cap 12 h 05 m, tilted test face 6 h 13 m (PrusaSlicer estimates). Bambu Studio estimated the first plate at 5 h 48 m where PrusaSlicer gave 16.5 h, so expect roughly a third of these times on the H2D.

3 to 5 Oct

Three outside looks at V83

Each reviewer read only the delivered files. What they found, and what changed because of it.

3 Oct · on the first draft

Re-check from the STEP files only

A second AI session received the exported STEP files and no source code, and re-measured the key dimensions with its own code: 10 of 10 confirmed. 7 remarks, 4 of them adopted:

  • Side gap between the guide bosses and the ends of the stop walls 0.7 → 0.3 mm. With one bolt gone the far side now swings back 0.7 to 0.9 mm instead of 1.6 to 1.8 (hand statics), and the missing bolt can snap out again if its side has not moved back more than 1.1 mm (in a loose fit, push the leg forward by hand first).
  • Bolt clearance in its channel 0.15 and 0.10 → 0.25 mm.
  • R0.4 at the step of the stop wall, which is on the tension side.
  • A test print of one face in the attitude it has on the body (T2): on four faces one rail prints horizontally, and its groove needs support.

Not taken: guards around the paddles, spare screw holes.

4 Oct · read-only

Review 1 by GPT

Its verdict: the lock works geometrically and the small test pieces can be made, but nothing yet shows that it stays tight over a long run. Every point was right. No geometry changed.

  • Spring: the spec gave only 0.5 × 5 × 25 mm, with no coil count, solid height or allowed deflection. Now a coil-count window, a screening test, and a printed gauge to do it with.
  • A printed safety clip, so that a knock on a paddle cannot open the lock.
  • Two claims toned down: that one bolt alone is enough (in CAD the leg still cannot get out, but the last stop then works up to three times as hard), and that a servo gives way before the dock does (true only for loads in the plane the leg bends in).
  • Corrected: a print note that said no supports, and a simulation log that belonged to an earlier model.

5 Oct · read-only

Review 2 by GPT

Five points, all valid, each recomputed before changing anything.

  • Safety clip: could be fitted backwards, and had 0.06 mm of room. Version 2 has a key tooth, 0.46 mm of room and a direction mark.
  • Spring: the claim that it works became a list of candidates to be screened. Then a catalogue spring with published rate and solid height was chosen: 3.4 N when locked, 37.4 % of its minimum tensile strength with the bolt pushed all the way in.
  • Gauge: one pin with two reading lines instead of two pins read at the stop.
  • Walking loads: recomputed over all 225,316 recorded samples of the six runs instead of a sample of them. One run rose from 33.5 to 49.3 N: a missed peak.
5 to 7 Oct

First printed parts

The PLA parts of one leg and one body face are printed. Springs and bearings have not arrived, so the lock has only been handled without springs.

5 Oct

Printing starts

One leg on two plates in PLA on the Bambu H2D, plus one body face and the spring gauge, to try the quick release before printing the body, the longest print.

Print plate A: thigh and shank
Plate A: thigh and shank.
Print plate B: leg root, yaw link, front plate and the two bolts
Plate B: leg root, yaw link, front plate, two bolts. Two safety clips, one body face and the gauge were added to it.

Infill 50 % → 30 % with six walls: 345.5 → 322.3 g for the four large parts, 3.5 h less by the PrusaSlicer estimate. With six walls most of each section is wall already.

6 Oct

First assembly: a bolt would not come out

Photo of the printed lock: the paddle and the bolt tip in the guide boss of the leg root, lying on the printed body face
The printed part.
  • 1paddle
  • 2bolt tip, pushed in
  • 3guide boss of the leg root
  • 4stop wall
CAD from the same angle with the bolt of the other side in this channel
CAD, the other side’s bolt in this channel. Same as the photo: the paddle hangs over towards the apex.
CAD from the same angle with the right bolt
CAD as designed. The paddle hangs over the other way, above the stop wall.

The two bolts are mirror images, and each one fits the other one’s channel. They had gone in swapped. Seen from the side, the paddle in the photo overhangs the bolt tip by about 8 mm towards the apex and is flush on the base side; as designed it is 1.5 mm and 6.4 mm.

Top view cut, bolts swapped: the side of the bolt without a wedge meets the corner of the stop wall
Swapped. The side without a wedge meets the corner of the wall: 1.6 mm out, and no lock. Pull the leg back 1.5 mm and it is free.
Top view cut, right way round: wedge on wedge
Right way round. Wedge on wedge, 7.0 to 7.7 mm out.
  • The gap in the design: nothing made the swap impossible, and the only marks were small dimples on the paddle (one on the right bolt, two on the left). Mirrored parts that fit each other’s place will be swapped.
  • Now: the rule is that the paddle points at the stop wall. Possible fix, drafted in CAD and on hold until the springs are tested: a 45° key in the channel, so that the wrong bolt cannot enter.
  • Also found that day: under load the bolt does not sit in the middle of its channel but 1.9° askew. So it stands 7.7 mm out, not 7.0; the room on the deep side is 0.51 mm, not 0.70; the flat faces meet after 0.95 mm, not 0.70. From now on, fits are checked with each moving part where it rests under load.

6 Oct

Bearing seats, before the bearings arrive

Two 6806-2RS (30 × 42 × 7 mm) sit stacked in the tower. Neither seat is plain: the bore is Ø42.4 with 8 crush ribs to Ø41.7, the shaft Ø29.7 with ribs to Ø30.3. Measured on the STL files that were printed.

Section through the M1 axis: the yaw link shaft, two stacked 6806 bearings in the tower of the leg root, the M1 servo and its horn below

The ribs give way when the bearing is pressed in. The bore may print 0.3 mm small or 0.2 mm large and still grip. Not tested: how tight it is on this printer. Probably tight: if a bearing will not press in, scrape the ribs; if it is loose, a drop of CA glue on the ribs. No reprint either way.

One crush rib, enlarged
Slice through the upper bearing with the eight crush ribs marked, and one rib enlarged: its tip stands 0.15 mm into the outer ring

The wall itself never touches the bearing: the bore is 0.4 mm larger than the ring. Only the 8 ribs do, each 1.2 mm wide, standing 0.35 mm out from the wall and 0.15 mm into the ring.

7 Oct

Safety clip on the real part

Still from a video of the printed lock with the safety clip on the paddle
Printed.
  • 1safety clip
  • 2paddle
  • 3hook
  • 4key tooth
  • 5bolt tip
  • 6stop wall
  • 7leg root
CAD of the same place from the same angle
CAD, same angle. Position and orientation agree: chevron towards the leg root, tooth in front of the bolt tip.
Section: the block of the clip fills the gap between the wall of the leg root and the paddle
What it does.
  • 14.5 mm block
  • 2paddle
  • 4key tooth
  • 5bolt
  • 8spring
  • 6stop wall
  • 7leg root
With the clip on, the bolt cannot be pushed in past 4.1 mm out; it would have to reach about 0.8 mm to clear the wall.

The clip is 1.19 g (CAD) and the same part on both sides. It feels loose mainly because the springs are not in yet: by CAD, the bolt can still slide about 3 mm and roll 3 to 4° in its channel. A spring will hold the bolt against the wall; the clip itself keeps its 0.2 mm of play per side. Whether both hooks have clicked in is not checked yet.

The video, 7 Oct (5 s, no sound): the clip pushed by hand, before the springs are in.
7 Oct

Where it stands

What is established, what has been seen on real parts, and what is not known yet.

Checked in CAD and simulation

  • Fit, release path and collisions on all 20 faces
  • Screening loads: the largest static case puts 208 N on one stop with both bolts out (285 N with one knocked in), against 393 N
  • Crawl: 40 cycles in simulation (model 3.31 kg; the lock is not in that model)

Seen on printed parts

  • One leg, one body face, bolts, clips and the spring gauge printed in PLA
  • A swapped pair of bolts jams: a gap in the design; a keyed channel is drafted, on hold
  • On video the safety clip sits in the drawn place, the right way round

Still open

  • The lock with springs in: does the bolt click out to about 7.7 mm, does the leg stop within a millimetre when pulled, 30 times on and off
  • Spring screening in the gauge: 350 g at the locked length (290 to 410)
  • Press fit of the bearings
  • The tilted test face in the body material, before printing the body
  • Stiffness of one HTD-45H on the bench: the simulation assumes it deflects 1.6° under 1 N·m
  • Creep, fatigue and impact are not analysed. Face 9 and the five cap faces are not cleared for load-carrying legs