← Oct 21 Oct 23 →
Journal: Thursday, Oct 22, 2026
- 2026-10-22 9:29 AM EDT — XYZ head concept: folding tools (ideation)
- 2026-10-22 9:31 AM EDT — Ball drop exits through a Luer needle (ideation)
- 2026-10-22 9:31 AM EDT — Air puff seats the ball (ideation)
- 2026-10-22 9:32 AM EDT — Shared vacuum/pressure utility (ideation)
- 2026-10-22 9:33 AM EDT — Folding enables per-deploy Z calibration (ideation)
- 2026-10-22 9:35 AM EDT — Flux reservoir rides on the head (ideation)
- 2026-10-22 9:36 AM EDT — Solder ball reservoir rides on the head (ideation)
- 2026-10-22 9:36 AM EDT — Cleaner delivered by hose (ideation)
- 2026-10-22 9:37 AM EDT — Air dry after clean (ideation)
- 2026-10-22 9:38 AM EDT — Design note: farm model (high level)
- 2026-10-22 9:40 AM EDT — Reflow: heated bed + hot-air Luer needle (ideation)
- 2026-10-22 9:42 AM EDT — Laser integration: gantry runs under the galvo (ideation)
- 2026-10-22 9:47 AM EDT — Single-machine scope decisions (ideation)
- 2026-10-22 9:50 AM EDT — Solder is applied as preforms (ideation)
- 2026-10-22 9:55 AM EDT — Cost comparison basis: high volume (decision)
- 2026-10-22 9:56 AM EDT — Parts tray setup is a separate station (ideation)
- 2026-10-22 9:56 AM EDT — Kit loads with the blank (ideation)
- 2026-10-22 9:57 AM EDT — Job order: laser the bottom first, then flip (ideation)
- 2026-10-22 9:58 AM EDT — Two job types: bottom and top (decision)
- 2026-10-22 9:59 AM EDT — Bottom and top jobs can run on different machines (decision)
- 2026-10-22 10:02 AM EDT — Concept drawings: single-machine cell + process flow (the designer's request)
- 2026-10-22 10:59 AM EDT: Cell size TBD; machines as a possible business line
- 2026-10-22 11:02 AM EDT: Tool-drop actuation and lock options
- 2026-10-22 11:05 AM EDT: Concept drawing: pneumatic tool drop (Option A)
- 2026-10-22 11:08 AM EDT: Tool drop drawing: part sources
- 2026-10-22 11:12 AM EDT: Cleaning needle is the base tool for the first tool-drop prototype (decision)
- 2026-10-22 11:14 AM EDT: Concept drawing: cleaning-needle tool-drop PoC
- 2026-10-22 1:48 PM EDT – Tool drop mechanical PoC v1 (CadQuery)
- 2026-10-22 1:53 PM EDT: Tool-drop PoC build added to TODO
- 2026-10-22 1:56 PM EDT: Purpose of the mechanical tool-drop test
- 2026-10-22 2:59 PM EDT – Ball dispenser pneumatic index v1 drawing
- 2026-10-22 5:17 PM EDT: Pneumatic ball dispenser ratchet decision
- 2026-10-22 5:27 PM EDT – Ball dispenser pneumatic index v1 CAD
- 2026-10-22 5:33 PM EDT – Tool-drop mech PoC motion sequence annotation
- 2026-10-22 5:52 PM EDT – Tool-drop mech PoC v1: linkage past dead center at folded rest (CAD not changed)
- 2026-10-22 6:52 PM EDT – Tool-drop mech PoC v2 (option B) and kinematic checks
- 2026-10-22 7:46 PM EDT – Tool-drop v2b: torsion return spring and side detent
2026-10-22 9:29 AM EDT — XYZ head concept: folding tools (ideation)
the designer wants a Swiss-army-knife style XYZ head where unused tools fold fully up and out of the way, leaving only the working needle below the head. Reason: even though components go on last, the head must work over a populated board for rework and parametric post-processing, so collisions with placed parts must be avoided. Standardize on Luer-lock blunt needles for replaceability (flux, PnP vacuum, ball pickup/drop, air, IPA spot-clean). Cameras on the head, plus an upward-looking camera for nozzle and tip calibration. Each tool needs a repeatable locked working position. Keep about 15–20mm of clearance under the head body for tall parts. Ideation only, so no drawings or models until the designer confirms.
2026-10-22 9:31 AM EDT — Ball drop exits through a Luer needle (ideation)
Decision (the designer): The solder ball drop's last stage is a standard Luer-lock blunt needle, tentatively 23ga (~0.33 ID) for 0.25 balls, with 25ga borderline. Benefits: keeps the Luer standard and replaceability, guides the ball to the pad, and allows a low drop height for less bounce. Mitigations: air assist or tap to clear sticking, a grounded needle for static, a tip gap above the flux dot (or an air purge) to stop flux wicking, and camera or optical drop confirmation. Revisit the ball dispenser model to add the needle exit when we generate drawings and models.
2026-10-22 9:31 AM EDT — Air puff seats the ball (ideation)
the designer: The air puff does two jobs. It clears the needle, and it seats the ball into the tacky flux dot to reduce bounce and rolling. Keep the pulse short and gentle so it doesn't blow the ball off the pad or splash the flux. Tune it on the bench.
2026-10-22 9:32 AM EDT — Shared vacuum/pressure utility (ideation)
the designer: The vacuum/pressure system needed for pick and place becomes a shared head utility for all needle tools: PnP pick (vacuum) and place (blow-off), ball-drop air puff, clean (air blow-off, vacuum pickup of debris or excess flux), and others. Architecture: one pump/reservoir with a solenoid valve per tool line, so new needle tools only add a valve.
2026-10-22 9:33 AM EDT — Folding enables per-deploy Z calibration (ideation)
the designer: A design benefit of the folding head is that each tool unfolds into the same working position, so a Z touch-off calibration on the deployed tip handles tip-length differences. There's no per-tool offset table, and swapped needles are simply re-probed.
2026-10-22 9:35 AM EDT — Flux reservoir rides on the head (ideation)
the designer accepts carrying the flux on the head. Tacky gel flux doesn't push well through long hoses (pressure, line stretch, ooze), so a small 3–5cc syringe sits a few cm above the tip. It is driven by time-pressure air from the shared pressure system (long air line OK) with suck-back, keeping the flux path short. Estimated added mass is roughly 10–20g. Mount it near the gantry centerline.
2026-10-22 9:36 AM EDT — Solder ball reservoir rides on the head (ideation)
the designer: Like the flux, the solder ball hopper and disc dispenser ride on the head directly above the Luer needle exit. Hoses are unreliable for balls (jams, static, inconsistent single-ball feed). Mass is small: 100k 0.25mm balls are about 6g, plus the compact dispenser body.
2026-10-22 9:36 AM EDT — Cleaner delivered by hose (ideation)
the designer: Cleaning fluid (IPA) can come by hose from a frame-mounted reservoir, with only a small valve near the needle. Low viscosity and loose volume needs make a long hose fine. Use IPA-compatible tubing and seals (PTFE/FEP).
2026-10-22 9:37 AM EDT — Air dry after clean (ideation)
the designer: After an IPA spot clean, the shared pressure line can air-dry the area. IPA flashes off quickly, so this needs no extra hardware and avoids a wait before the next step.
2026-10-22 9:38 AM EDT — Design note: farm model (high level)
the designer: The process may be slow per board, but if operations are combined into one machine, many machines can run in parallel on longer jobs, like a 3D printer farm. Implications: optimize each machine for low cost, reliability, and unattended runtime rather than speed; throughput scales by adding machines; standardized heads, tools, and jigs ease farm maintenance. This fits the consumer-printer-based machine design and the earlier note that operations can eventually collapse into one machine.
2026-10-22 9:40 AM EDT — Reflow: heated bed + hot-air Luer needle (ideation)
Decision (the designer): Reflow uses a heated bed under the board (~120–150°C preheat) plus a point-by-point hot-air tool on the head, delivered through a large-gauge, full-metal Luer needle (stainless needle and stainless Luer hub, since plastic hubs soften). Heat points come from the design file (known pads), similar to REFLO Air XY Table's preheat, solder, and cooldown point list (https://www.hackster.io/ebaera/reflo-air-xy-table-812cd7). The hot-air controller can follow open PID designs (e.g. https://github.com/snivasms/SMD-Rework-Station). Add a heat break between the hot tool and the folding mount.
2026-10-22 9:42 AM EDT — Laser integration: gantry runs under the galvo (ideation)
Decision (the designer): The galvo laser is fixed overhead and the gantry carries the board into its field, so laser operations happen inside the same machine. The head parks outside the galvo field while lasing. Planning items: limited galvo field (often 70–110mm with F-theta), so larger boards shift and stitch by fiducials found with the head camera; fixed focal distance, so the board must sit at a known Z (bed Z adjustment or touch-probe height); folded head and hoses kept out of the beam path; laser-to-gantry offset calibrated by marking a test pattern and finding it with the head camera; enclosure with a laser-rated window, interlock, and fume extraction at the galvo; no lasing while the heated bed is at reflow temperature (operation order).
2026-10-22 9:47 AM EDT — Single-machine scope decisions (ideation)
Decisions (the designer): Test stays a separate station. A second side is done by a manual board flip. Conformal coating is manual. The laser can mark the board at any time and may assist with supplemental ablation steps (TBD). Parts tray concept: one carrier plate holding the blank and parts, registered on dowels at the tooling hole and slot, loaded in and an assembled board out. Next topic: through-hole pads.
2026-10-22 9:50 AM EDT — Solder is applied as preforms (ideation)
Decision (the designer): All solder in the automated flow is applied as measured preforms. Solder balls are the smallest preform, for SMD pads. Washer or ring preforms (tape and reel, picked by the same PnP vacuum needle) go on through-hole pins to supply barrel-fill volume. TH sequence: flux dot (or flux-cored preform), preform, insert part, reflow. There is no paste in the automated flow (the Kapton paste stencil remains the initial manual path). Pin-in-paste by needle is a fallback; hand soldering stays for heat-sensitive or large TH parts.
2026-10-22 9:55 AM EDT — Cost comparison basis: high volume (decision)
2026-10-22 9:56 AM EDT — Parts tray setup is a separate station (ideation)
the designer: Loading the parts tray/carrier is a different machine from the main single-machine cell. The prepped carrier (blank plus parts on dowel-registered plate) drops into the main machine. This fits the farm model: one tray-setup station can feed several machines and keeps the main cell busy on long jobs.
2026-10-22 9:56 AM EDT — Kit loads with the blank (ideation)
the designer: The prepared kit (parts carrier/tray) goes into the machine together with the blank before job start. One load, then the job runs unattended to a fully assembled board (single side).
2026-10-22 9:57 AM EDT — Job order: laser the bottom first, then flip (ideation)
the designer: Parts go on the top side, so the first step is lasing the bottom side of the bare blank, then a manual flip. All remaining operations (top laser, flux, ball drop, tin inspection, reflow, flux, PnP, reflow, clean) run on the top side, so populated parts never rest on the bed. The flip happens before the kit/blank job runs unattended, or as an early pause in the job.
2026-10-22 9:58 AM EDT — Two job types: bottom and top (decision)
the designer: The machine runs two job types. Bottom job: bare blank only, laser the bottom side, then alert the operator. The operator flips the board, loads the parts tray/kit, and starts the top job. Top job: top laser, flux, ball drop, tin inspection, reflow, flux, PnP, reflow, clean, all unattended. The parts tray is only needed for the top job.
2026-10-22 9:59 AM EDT — Bottom and top jobs can run on different machines (decision)
the designer: Bottom and top jobs don't have to run on the same machine. Each machine does its own job alignment check at job start (dowel registration plus a camera fiducial find, and probing where needed), so a board can move between farm machines between jobs.
2026-10-22 10:02 AM EDT — Concept drawings: single-machine cell + process flow (the designer's request)
- drawings/osso_cell_concept_v1.py/.png/.pdf: schematic front view of the cell (enclosure, laser-rated window, interlock, fixed galvo + F-theta, 70–110 field, fume extraction, XY gantry carrying the heated bed and dowel-registered carrier plate, folding XYZ head parked outside the field, upward camera, Z probe, shared vac/pressure utility, frame IPA reservoir), head detail (tools A flux, B PnP θ, C ball drop via 23ga Luer + air puff, D IPA + air dry, E hot-air all-metal Luer with heat break; 15–20 clearance), carrier plan, utility schematic, notes table, title block. Overall envelope ~480 W x 420 D x 560 H is a placeholder.
- drawings/osso_process_flow_v1.py/.png/.pdf: swimlane flowchart (other stations / operator / bottom job / top job), steps 1–26 from tray setup to conformal, with per-machine alignment check and farm notes.
- Concept only, no CAD.
2026-10-22 10:59 AM EDT: Cell size TBD; machines as a possible business line
the designer confirmed that the overall size of the single-machine cell is TBD. The ~480 W x 420 D x 560 H mm and ~200 mm carrier figures in osso_cell_concept_v1 are placeholders only. He also noted that OSSO may have a business side in building and selling these machines, alongside the PCB kits.
2026-10-22 11:02 AM EDT: Tool-drop actuation and lock options
Option A (chosen for fast tool changes; to be drawn as a cross section): each folding tool has a tiny single-acting pneumatic cylinder (about 6-10 mm bore) or bellows fed from the shared valve bank, which pushes the tool lever down. A spring detent or over-center toggle locks it against a hard stop (the repeatable tip position, checked by Z touch-off), so it holds if air is lost. A small unlock puff releases the detent, and a return spring folds the tool up. Up is the safe state when nothing is powered. A reed or Hall sensor on each tool confirms which tool is deployed.
Option B (logged as an alternative): no cylinder. The gantry pushes the tool lever against a fixed post at the edge of the bed, like a 3D-printer tool changer, and air is used only for the unlock. It is lighter, but each change takes a few seconds.
2026-10-22 11:05 AM EDT: Concept drawing: pneumatic tool drop (Option A)
- drawings/osso_tool_drop_pneumatic_v1.py/.png/.pdf: section through one folding tool station, folded up and deployed down/locked side by side. Shows the head body and pivot pin, the tool arm with a Luer-lock blunt needle, a single-acting ~8 mm bore cylinder (piston, rod, link) fed from the shared valve bank, the return spring, a spring ball detent on the hard stop (over-center toggle noted as an alternative), the unlock puff port, a Hall/reed sensor and magnet, and the up stop. Includes section hatching, numbered callouts, a notes table and a title block.
- Fail-safe: the detent holds the tool on the stop if air is lost; the spring keeps it up when unpowered; the cylinder is vented after each move.
- All dimensions are placeholders (~80 W x ~88 H deployed). Concept only, no CAD.
2026-10-22 11:08 AM EDT: Tool drop drawing: part sources
- drawings/osso_tool_drop_pneumatic_v1: added a Source column to the notes table. 3D printed: head body, tool arm, up stop, sensor mount. Off the shelf: 8 mm single-acting mini cylinder (bought for a reliable seal), Luer-lock blunt needle and fitting, spring ball plunger, return spring, Hall/reed sensor and magnet, push-to-connect fittings and tubing, pivot dowel pin. Custom metal: a small stainless or hardened hard-stop/detent insert (item 6, possibly SendCutSend), now drawn as a steel insert. Added the sensor mount as item 14.
2026-10-22 11:12 AM EDT: Cleaning needle is the base tool for the first tool-drop prototype (decision)
the designer: The first tool-drop prototype uses the IPA cleaning needle as its tool. It is the simplest tool (hose-fed, no reservoir, metering or heat). The early risk to test is the IPA and air hoses flexing at the pivot. The PoC is a single tool station cycled on a regulated compressed air feed, built so we can try it.
2026-10-22 11:14 AM EDT: Concept drawing: cleaning-needle tool-drop PoC
- drawings/osso_tool_drop_clean_poc_v1.py/.png/.pdf: buildable single-station section, deployed and locked. Shows the printed body, the arm with a Luer-lock blunt cleaning needle, IPA (PTFE/FEP) and air hoses with a flex loop beside the pivot to a tee on the Luer hub, the 8 mm single-acting cylinder, return spring, ball plunger in the stainless hard-stop insert, unlock port and Hall sensor.
- Test bench schematic: air source, filter, regulator with gauge (0-60 psi range, set point TBD), manifold, V1 deploy / V2 unlock / V3 puff-dry 3/2 valves (manual or solenoid), V4 IPA from a low-pressure pot.
- The notes table has the Source column and a test plan (cycle count, lock holds with air off, tip repeatability by touch-off, hose flex life). All dimensions and pressures are placeholders.
2026-10-22 1:48 PM EDT – Tool drop mechanical PoC v1 (CadQuery)
- Added cad/tool_drop_mech_poc_v1/. It has no Hall sensor, magnet, manifold or solenoids, and runs on hand-valve air with a dummy needle. Most parts are printed, including the 8 mm printed bore with an O-ring piston.
- Fit check PASS in the deployed and folded states and in a 10° to 80° sweep. Deploy stroke is 10.77 mm.
- BOM.md lists McMaster numbers, with unconfirmed ones marked unverified. Decision: no SendCutSend part. The hardened dowel 91595A122 is the stop wear face, and the ball plunger 3408A93 snaps into a printed notch.
2026-10-22 1:53 PM EDT: Tool-drop PoC build added to TODO
Added the mechanical-only tool-drop PoC build to TODO.md (item 19a). the designer will make his own lower-cost BOM when it is time to build. The McMaster numbers are reference only.
2026-10-22 1:56 PM EDT: Purpose of the mechanical tool-drop test
the designer framed the mechanical-only tool-drop PoC (TODO 19a) as the feasibility test for needle retract: proving that a needle tool can deploy, lock, unlock and fold back up reliably on air alone before anything else is added to the head.
2026-10-22 2:59 PM EDT – Ball dispenser pneumatic index v1 drawing
- Added drawings/osso_ball_dispenser_pneumatic_v1.py/.png/.pdf (approved concept). It uses the v5 stack (BR-G2 carrier and drive, BR-C1 v2 covers, D-spindle), replaces the knob with a printed 24T ratchet on the drive axle, and drives it with an 8 mm printed-bore single-acting cylinder through a spring-return pawl plus an anti-back pawl. The exit is a 23ga Luer blunt needle with a puff port. A manual air schematic (regulator with gauge, PB1 index, PB2 puff) is included.
- Stroke: 15° per pulse at pawl radius R10 gives 2π·10/24 = 2.618 mm; cylinder stroke 3.0 mm to a hard stop (0.4 overtravel).
- Conflicts flagged: (C1) the BR-G2 22T pitch of 16.36° does not divide into 15°, so a separate ratchet is needed; (C2) 12 pockets at 30° with fill to exit 15° means 15° pulses alternate fill and drop, 1 ball per 2 pulses; (C3) the v5 skirt sits below the nozzle tip, so it must be shortened; (C4) the puff can back-flow into the pocket gap, so puff at the fill rest at low pressure; (C5) the 23ga ID of about 0.33 is tight for a 0.25 ball, and the step from the 0.45 chute needs a chamfer; (C6) BR-G2 is FR4, so it is listed as Custom FR4.
2026-10-22 5:17 PM EDT: Pneumatic ball dispenser ratchet decision
the designer chose the 24-tooth printed ratchet for osso_ball_dispenser_pneumatic_v1. Each pulse is 15 degrees (2.62 mm pawl travel, 3.0 mm cylinder stroke to a hard stop). The fill stays aligned with a pocket at rest, and one ball drops every two presses (fill pulse, then exit pulse).
2026-10-22 5:27 PM EDT – Ball dispenser pneumatic index v1 CAD
- Added cad/ball_dispenser_pneumatic_v1/ (CadQuery). It imports the v5 geometry: BR-G2 ×2 and BR-C1 ×2 as REF (already ordered), plus the spindle, hopper, lid and flange. New parts: a printed 24T ratchet on the extended drive-axle D; an 8 mm printed-bore cylinder (3799N21 O-ring) with a stop-sleeve hard stop at 3.0 stroke; a clevis with a torsion-sprung drive pawl; an anti-back pawl; the base with the skirt cut to -12, a 6% Luer taper, a chamfered tip and a puff passage; and a 23ga needle REF with a hub entry cone.
- Fit check PASS: no interference at rest or at the end of the stroke. The drive pawl is 0.02 from the face at the end, giving exactly 15° per stroke (at most +0.125°). The anti-back pawl blocks back-drive with ≤0.31° backlash. Fill and drop alternate on even and odd steps.
- Open issues: the pawl does not stop forward overrun (add a detent if seen); the return stroke over the tooth was not swept; 2 pulses per ball.
2026-10-22 5:33 PM EDT – Tool-drop mech PoC motion sequence annotation
- Annotated the designer's Fusion section screenshot of cad/tool_drop_mech_poc_v1 as drawings/osso_tool_drop_motion_sequence_v1.png/.pdf (script .py), with steps 1–6, a legend and notes. Values are from the model: stroke 10.77 mm and a 90° arm rotation (−90° about +X, folded to deployed).
- Discrepancies: the screenshot shows the FOLDED rest and the view is upside down compared with the model (+Z points down), so the deployed needle swings UP on screen. In the model the unlock pusher (z −21) pushes the arm face and cams the ball out; it does not push the plunger directly.
2026-10-22 5:52 PM EDT – Tool-drop mech PoC v1: linkage past dead center at folded rest (CAD not changed)
- Kinematics from the script. Pivot (0,0). Tail pin at R10 (deployed (0,10); folded (-10,0)). Rod line at z +4, link 14.
- Folded rest: eye (-23.416,4), link angle -16.6°. The moment arm per unit push is +2.86 mm, which turns the arm toward MORE fold, into the up stop. Pushing the rod right jams the arm against the up stop and does not deploy it.
- Dead center is at about 80.4°, so the rest position is 9.6° past center. The rod-eye travel is also non-monotonic (it goes -23.42 → -23.66 → ...).
- Past center the linkage works: at 45° the eye is at -20.73, the link at +12.7° and the arm at -8.45 mm (deploy). At deployed it is -9.04 mm. The arm ends at 0° on the stop dowel and plunger side (-Y face). The return spring torque is positive (fold) at both ends. The unlock pusher (+Y at z -21) gives +21 mm·N, also toward fold. Both are correct.
- Proposed minimal fix, NOT applied: clock the tail pin -20° on the arm (deployed tail (3.42,9.40), folded (-9.40,3.42)). The rest arm becomes -3.03 mm, the motion is monotonic, and the stroke is 13.9. Extend the bore by about 3.1 or lengthen the rod. An alternative is rod_z -4 with an 18 mm link (stroke 16.2).
- The annotation arrows show the intended deploy motion correctly. I did not re-render because the mechanism is at fault.
2026-10-22 6:52 PM EDT – Tool-drop mech PoC v2 (option B) and kinematic checks
- Added cad/tool_drop_mech_poc_v2 (v1 is kept and marked SUPERSEDED in its BOM).
- Rod line z −4, link 18, rod 20, bore y −54…−30.
- The body is lengthened to y −58 with a cylinder belly down to z −10, and the port moves to y −52.8.
- Clearance added: a link groove in the arm (x 2.0–4.6), the tool slot extended to y −31.5, and a rod-eye channel in the stop block.
- Stroke 16.24 mm.
- Added a
kinematics check to fit_check.json (sweep 90→0 at 0.5°).
- The moment arm runs from −2.22 mm (folded rest, the minimum) to −9.93 (45°), always toward deploy.
- The eye moves monotonically (−27.55 → −11.31).
- Dead center is at 98.25°, a margin of 8.25° beyond the rest. The criterion is ≥5° (the up stop prevents going past 90°).
- Interference at rest, deployed and in the sweep is all 0. Hard stop 0.02, up stop 0.02, plunger 0.1. PASS.
- New issue: the return spring center distance goes from 10.2 to 28.4 (×2.79), which no ordinary extension spring covers. I propose a torsion spring on the pivot dowel instead. Not changed yet.
- Updated the preview, BOM and STEP/STL files, regenerated drawings/osso_tool_drop_motion_sequence_v2 from a v2 section render, and pointed TODO 19a at v2.
- Ball dispenser pneumatic v1: added kinematics_check.py and a fit_check
kinematics section. PASS with no geometry change.
- The drive pawl is self-engaging at 30–44° and gives 8.2–10.0 N·mm per N of rod force, after 0.65 mm of free travel.
- The return lifts the pawl up to 10.2° and it drops at 2.7–2.8 of 3.0 (0.25 mm reserve).
- The anti-back pawl is self-engaging at −30°.
- Return spring: 14 free at 0.5 N/mm is recommended.
2026-10-22 7:46 PM EDT – Tool-drop v2b: torsion return spring and side detent
- the designer approved replacing the extension return spring. I saved the work as cad/tool_drop_mech_poc_v2b (v2 left as is, with a supersede note in its BOM). TODO 19a now points at v2b.
- Spring (made to order, McMaster number UNVERIFIED): RH music wire Ø0.021", OD 0.265", 4.17 coils, 120° free leg angle, legs 0.11", on a Ø5 arbor boss in a pocket in the +X wall. Leg A bears on a peg in the arm and leg B on a peg in the body.
- k = 0.172 N·mm/deg, 1.7 N·mm folded (10° preload), 9.5 at 45°, 17.2 deployed (100°). Wire stress is 55 % of UTS.
- Removed the extension-spring peg and post. Added the pocket, boss and peg B in the body, and peg A in the arm.
- Torque checks added to fit_check.json (
kinematics.torque, PASS). Friction numbers are estimates.
- Deploy at 10 psi, spring only: 1.72 margin. Return, spring only: 1.35.
- Unlock at 10 psi gives 30.4 N·mm against a hold of 23–35 N·mm (the spring helps). Release margin 1.38.
- Pull-off after the unlock: margin 1.8.
- Found that v2's ball plunger could not latch. Its axis ran along the arm's motion, so the ball only pushed on the arm. v2b uses a side plunger on a new −X cheek of the stop block, with a spherical notch and two 6.5° lead-in ramps. The detent's side load goes through a thrust boss (the arm sits 0.28 mm toward +X).
- The detent ride costs deploy margin near the stop: 0.95 at 10 psi, 1.51 at 15 psi. A 1.3 margin needs 13.5 psi. This is informational, not gating. Printing the plunger backed off 0.1–0.2 mm lowers the ride force.
- The O-ring friction tolerance is small: both 1.3 margins hold only for friction ≤ 0.52 N. Measure it on the first print.
- Interference at rest, deployed and in the sweep is all 0, and the hard stop and up stop gaps are 0.02. I fixed a bad boolean in the arm (the spherical notch after the link groove) and two knock-on overlaps (cheek over the stop dowel hole, Luer needle versus the shifted arm).
- Updated preview.png (now 6 views including the spring plane), BOM.md, the STEP and STL files, and drawings/osso_tool_drop_motion_sequence_v2b (png and pdf). The v2 annotation is kept. Did not sync.