From 375b3ecd2fa81e41c5e442cd8e18a3fad587e510 Mon Sep 17 00:00:00 2001 From: Chris Guidry Date: Mon, 11 May 2026 18:39:50 -0400 Subject: [PATCH] enclosure: snug-fit snooze cap, taller crown, longer plunger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First-print cap fits, but the crown swims around in the disc hole. Three small tweaks, all on the cap (chassis hole stays at 16 mm): - Crown 15.0 → 15.7 mm — drops the radial clearance from 0.5 mm to 0.15 mm. Snug PLA-on-PLA sliding fit in the disc hole, no rattle. - Crown 6 → 8 mm tall — taller press target, 4 mm visible above the disc (was 2 mm). Hole engagement stays at the rim's 4 mm. - Plunger 5.5 → 6.5 mm — bumps plunger_preload from 2.3 to 3.3 mm, pushing the tapered tip deeper into the Atom button cap. The tapered side wall + tighter crown together resist cap tilt. --- enclosure/lib/params.scad | 21 ++++++++++++--------- enclosure/parts/snooze-cap.scad | 16 +++++++++------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/enclosure/lib/params.scad b/enclosure/lib/params.scad index 4656a0f..83a7e2b 100644 --- a/enclosure/lib/params.scad +++ b/enclosure/lib/params.scad @@ -53,7 +53,7 @@ plunger_tip_d = 3; // tapered tip // has ~0.4 mm of travel — the extra length is taken up by the cap // floating slightly higher than its theoretical rest position, not // by depressing the switch. -plunger_preload = 2.3; +plunger_preload = 3.3; // ============================================================ // MAX98357A I2S amp breakout @@ -176,13 +176,16 @@ z_atom_center = (z_atom_bottom + z_atom_top) / 2; // 108.4 — USB-C p // Snooze cap geometry — "top hat" button, install from below. // // Top to bottom in normal orientation: -// - Crown (15 mm OD) — visible above the disc top, sticks up -// through the 16 mm central hole. +// - Crown (15.7 mm OD) — friction fit in the 16 mm central hole +// (0.15 mm radial clearance, snug PLA-on-PLA sliding fit). 8 mm +// total height: 4 mm engaged inside the disc rim, 4 mm visible +// above the disc at rest. // - Flange (22 mm OD, 2 mm thick) — captures the cap from below // by catching on the disc's underside at rest. // - Plunger (8 mm base, 3 mm tip, tapered) — extends from the // flange's underside down to the Atom button. Offset from the -// cap's center to land over the Atom's button cap. +// cap's center to land over the Atom's button cap. Tapered side +// wall + friction-fit crown together resist cap tilt in the hole. // // Cap installs from below: pushed up through the cavity (before the // protoboard is mounted) so the crown emerges through the central @@ -192,17 +195,17 @@ z_atom_center = (z_atom_bottom + z_atom_top) / 2; // 108.4 — USB-C p // disc's underside. Cap mass is ~3 g — easily lifted by the spring. // // Print orientation: cap upside-down with the flat crown top on the -// build plate. Going up in the print: crown (15 OD) → step out to -// flange (22 OD, single-layer 3.5 mm bridge — PLA handles cleanly) +// build plate. Going up in the print: crown (15.7 OD) → step out to +// flange (22 OD, single-layer 3.15 mm bridge — PLA handles cleanly) // → step in to plunger (8 OD, offset on the flange) → tapered tip // (3 OD). All transitions inward except the small crown→flange step. // ============================================================ -snooze_cap_clearance = 0.5; // radial clearance between crown and disc hole +snooze_cap_clearance = 0.15; // radial clearance — snug friction fit in the disc hole snooze_cap_travel = 1.5; // geometric max — actual is ~0.4 mm (Atom switch travel) -snooze_cap_h_above = 2; // crown sticks this far above the disc at rest +snooze_cap_h_above = 4; // crown sticks this far above the disc at rest -crown_d = top_hole_d - 2 * snooze_cap_clearance; // 15 — slip fit in the disc hole +crown_d = top_hole_d - 2 * snooze_cap_clearance; // 15.7 — friction fit in the disc hole flange_d = 22; // wider than top_hole_d, much narrower than cylinder ID flange_h = 2; diff --git a/enclosure/parts/snooze-cap.scad b/enclosure/parts/snooze-cap.scad index 5df17ea..a12532a 100644 --- a/enclosure/parts/snooze-cap.scad +++ b/enclosure/parts/snooze-cap.scad @@ -4,24 +4,26 @@ // the flange sits in the cavity below the disc's underside. // // Top to bottom in normal orientation: -// - Crown: 15 mm cylinder. Sticks up through the 16 mm hole in the -// disc top and protrudes 2 mm above at rest. +// - Crown: 15.7 mm cylinder — friction fit in the 16 mm disc hole +// (0.15 mm radial clearance). 8 mm total: 4 mm engaged in the +// disc rim, 4 mm visible above the disc at rest. // - Flange: 22 mm disc, 2 mm thick. At rest, the flange's top face // touches the disc's underside (held there by the Atom button's // spring pushing on the plunger from below). -// - Plunger: 8 mm tapering to 3 mm tip, 5.5 mm long. Offset from +// - Plunger: 8 mm tapering to 3 mm tip, 6.5 mm long. Offset from // the cap's center to (button_offset_x, button_offset_y) so it // lands precisely on the Atom's button cap. The plunger extends -// plunger_preload (2.3 mm) past the nominal z_atom_top: real +// plunger_preload (3.3 mm) past the nominal z_atom_top: real // stack-up runs short of the math (pin headers seat shorter than // 6 mm, etc.), and this preload ensures firm contact with the -// cap at its rest position. +// cap at its rest position. The tapered side wall + friction-fit +// crown together resist cap tilt in the hole. // // Mass ~3 g. Atom button's ~50 g spring lifts it easily. // // Print orientation: cap upside-down with the flat top of the crown -// on the build plate. Going up: crown (15 OD) → step out to flange -// (22 OD, single-layer 3.5 mm bridge — clean PLA bridge) → step in +// on the build plate. Going up: crown (15.7 OD) → step out to flange +// (22 OD, single-layer 3.15 mm bridge — clean PLA bridge) → step in // to plunger (8 OD, offset on the flange's top in print) → tapering // down to the 3 mm tip. All transitions inward except the small // crown→flange step. No supports. -- 2.51.2