Skip to content

Research fastening alternatives to the hex-screw + captive-nut scheme#41

Open
MJohnson459 wants to merge 5 commits into
mainfrom
worktree-fastening-research
Open

Research fastening alternatives to the hex-screw + captive-nut scheme#41
MJohnson459 wants to merge 5 commits into
mainfrom
worktree-fastening-research

Conversation

@MJohnson459

@MJohnson459 MJohnson459 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Adds design/research/fastening.md and design/REDESIGN.md on branch worktree-fastening-research — the fastening research (reworked through three review rounds: fastener survey → joint geometry → corrected problem statement) and the v2 redesign process that review converged on.

fastening.md

  • Corrected problem statement: nested sensor stacks (mount nut slots open on the top face, so the sensor is a structural nut-retainer and the mount→plate screw is exactly-M3×12 critical); the top plate fastening from inside the chassis sandwich (incl. the SO-101 arm, the one frequently-removed part); bare nuts loosening (servo lugs, the camera-mount stud workaround). Explicit "not broken" framing for the slotted joints and base-plate access.
  • Constraint audit incl. ORP field notes from the first build: 20mm too coarse for dense fitting; ORP standardises a hole pattern, not an interface (no functional datums → hand-fitted servo mounts, fastener interchange ≠ part interchange); fastening unspecified by the standard. TB3 tileable waffle plates noted as prior art.
  • Candidate scheme (~£4): hex nut pockets under every Chassis Top hole (all top-deck parts fasten from above; screw length non-critical; Pi hazard deleted), roofed nut slots in the mounts (mount+sensor becomes a bench unit), nyloc on the servo lugs. Framed as the default pending the process below, and the interim fix for v1 reprints.
  • Considered-and-not-adopted playbook: inserts, self-tappers, printed threads, registration pins, dovetail/bayonet/quick-release tiers, trapped studs.

REDESIGN.md — the process the review kept circling toward:

  • Why uniform fastening systems kept feeling wrong: loads are trivial here, so serviceability, position accuracy, and assembly ergonomics are the real requirements; loose nuts are a metal idiom; location and clamping are different jobs; the top-plate problem is architectural.
  • Draft v2 requirements (built by others → tolerance classes + builder calibration coupon; camera/battery swappable behind fixed interfaces; prefer shipped hardware; serviceability by declared class; ORP as expansion zone). Reviewing this PR ratifies the draft.
  • The phased path: Phase 1 audit (joint schedule + SO-101/TB3/consumer teardowns) → Phase 2 design rules (design/DESIGN-RULES.md) → Phase 3 per-subsystem iteration (drivetrain first, then the sandwich-vs-tray architecture decision) → Phase 4 clean-room build validation.
  • Seeded joint schedule table covering every joint (function, load class, service frequency, observed pain).

Companion: PR #38 (task #141) is rescoped to the measured STL survey (research/mounting_survey.md + hole_survey.py) and doc fixes — no file collision remains. Follow-up chain proposed as Voro tasks #147–#151; proposed task #146 is superseded.

Verified: pixi run lint passes; no CAD/STL/3MF files touched. Standing flag: the 50mm chassis standoffs are absent from BOM.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV

MJohnson459 and others added 5 commits July 16, 2026 23:44
Surveys heat-set inserts, thread-forming screws, printed threads, nyloc/
threadlocker, and standoffs for the M3 joints in the PLA printed parts.
Recommends blind heat-set insert bores in the mounts (plates and their
3.5 mm ORP grid unchanged), Loctite 243 on drive-train joints, nyloc on
the servo lugs, and optional M2.5 standoffs for the Pi board. Includes
per-joint table, BOM delta (~£34), and the implied CAD changes for the
follow-up implementation task.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MhciiHzvW1Q2aWzjq3qC9n
Review feedback on the first draft: the captive-slot joints do not
loosen (only bare-nut joints do), the M3+nut scheme was convention-
matching rather than a hard constraint, and the survey read as fastener
selection when the open question is joint architecture. Rewritten to
audit the inherited constraints, separate location (printed pins in the
existing ORP grid holes) from clamping (minimum screw count), retain
boards with clips, strap the battery, and reserve nyloc for the joints
that actually loosen. BOM delta drops from ~£34 to ~£7 with the plates
still untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV
…slots

Second review round reframed the problems: nested sensor stacks make
the sensor a structural nut-retainer with an exactly-M3x12 screw, and
the top plate fastens from inside the chassis sandwich. Bottom-plate
joints and slotted nuts were never failing, and the build is now static
apart from the SO-101 arm.

Recommendation is now three geometry changes reusing existing hardware:
hex nut pockets under every Chassis Top hole (all top-deck parts,
including the arm, fasten from above; screw length non-critical; Pi
hazard deleted), roofed nut slots in the mounts (mount+sensor becomes a
bench unit), and nyloc on the servo lugs. BOM delta ~GBP 4. Prior
options (inserts, pins, quick-release tiers) move to a considered/
not-adopted playbook.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV
Three observations from operating Mote that bound how much the ORP
standard should be deferred to: 20 mm pitch is too coarse for dense
fitting on a 235 mm plate; the standard fixes a hole pattern but no
functional datums, so grid compatibility gives fastener interchange
rather than part interchange (the servo mounts had to be fitted to the
plate by hand to place the wheels); and fastening is unspecified, so
every ORP design re-solves nut retention ad hoc. Notes TurtleBot 3's
tileable waffle plates as prior art for granularity and extensibility.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV
Review of the fastening research kept producing workable whole-robot
schemes that all felt off, because they were uniform systems preserving
generality the prototype has outgrown. design/REDESIGN.md records the
diagnosis, drafts the v2 requirements (built by others, swappable
camera/battery behind fixed interfaces, serviceability by declared
class, ORP as an expansion zone), and lays out the phased path: audit
(joint schedule + SO-101/TB3 teardowns), design rules, iterative
per-subsystem redesign, and a clean-build validation. Fastening
decisions move into Phase 3 per joint; the trapped-nut scheme stays as
the default candidate and interim fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV
MJohnson459 added a commit that referenced this pull request Jul 17, 2026
…icts

Review of the parallel fastening research (task #144 / PR #41) settled
the direction differently from this branch's insert recommendation, and
both surveys now feed the v2 redesign process (design/REDESIGN.md, on
that branch), which decides fastening per joint. Rename fastening.md to
mounting_survey.md and cut it to what is durable here: the measured
state of the STLs, the half-pitch grid rule, and hole_survey.py. Drop
the heat-set inserts BOM line and the front-runner claim in ASSEMBLY.md;
keep the constraint warnings, the nyloc line, and the README grid rule.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UuQ3gEFZvHCN53EL2HdmpV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant