OSSO

← v13 v15 →

v14: Tool drop needle-retract mechanism: 60 psi sweep, magnet hold study, v2d EPM latch drawing and CAD model with fit check, TOOLS.md update

Frozen Fri Oct 23, 2026, 10:42 AM ET · 1002 files · folder: versions/v14_2026-10-23/ · archive: OSSO_v14_2026-10-23.tar.gz

What changed

New in this snapshot: 32 drawings, 140 STEP files, 13 documents/media.

Key decisions

Drawings new in v14

Other images

STEP files (202)

Documents & media

Tools snapshot

Source: versions/v14_2026-10-23/refs/TOOLS.md

Tools used as of this version

OSSO tools inventory

Software, libraries, file formats, techniques and services actually used on OSSO, found from the scripts in cad/, drawings/, pcb/, fab/, laser-test/, site_build/, the installed environments (/workspace/.cadvenv, system packages) and JOURNAL.md. Versions are what is installed on the box as of 2026-10-23. Two box venvs exist: /workspace/.cadvenv (older) and /workspace/.cadenv (CadQuery 2.8.0 + pyvista + trimesh, used for the tool-drop v2d model). "Not installed now" means a past script used it but the current box env lacks it.

CAD generation (3D)

Tool Version Used for First used/Files
Python (venv /workspace/.cadvenv) 3.13.5 Runs every generator and verifier script Oct 14; all *.py
CadQuery 2.8.0 Parametric solids for jigs, boards, stencil frames, dispenser POCs; STEP/STL export (cq.exporters.export), STEP re-import (cq.importers.importStep) Oct 16, cad/jig_v4b/jig_v4b.py; all cad/*/make_*.py
OCP (cadquery-ocp, OpenCASCADE bindings) 7.9.3.1.1 Low-level B-rep work: BRepCheck_Analyzer validity, volume props, booleans cad/*/verify*.py, dispenser POC v3-v5
numpy 2.5.4 Geometry math (involute gear profiles, hole patterns, sweeps) most CAD/drawing scripts
shapely 2.2.0 2D outlines, morphological closing, unary_union for gear/disc profiles pcb/br_g1_v1/make_br_g1.py, laser profiles
scipy 1.18.1 Installed CadQuery dependency; numeric helpers venv
casadi / nlopt 3.8.1 / 2.11.0 CadQuery solver dependencies (assemblies/sketch constraints) venv
vtk 9.6.2 CadQuery visualization backend venv
pyvista (venv /workspace/.cadenv) 0.49.1 Offscreen preview renders of STL/STEP models (iso, close-up, section views) Oct 16-19, versions/v5_2026-10-19/cad/*/render.py; Oct 23, cad/tool_drop_mech_poc_v2d/render_preview.py
trimesh 5.1.1 (venv /workspace/.cadenv) STL watertight/extent checks cad/stencil_v1/verify.py

Fit check / interference method

Tool Version Used for First used/Files
CadQuery/OCC boolean intersect + Volume() 2.8.0 / 7.9.3 Pairwise intersection volume between parts re-imported from the exported STEP; 0 mm³ = no interference Oct 21, cad/ball_dispenser_poc_v3..v5
OCC BRepExtrema_DistShapeShape 7.9.3 Minimum clearance between non-touching parts at each sweep state (bbox prefilter first); an explicit list of intended contacts is excluded Oct 23, cad/tool_drop_mech_poc_v2d/
Mechanism torque/force sweep (technique) Moment arm sign and size, dead-center margin, deploy/release/hold margins at mu 0.2 / 0.3 / 1.5x seal friction, pass/fail gate in fit_check.json Oct 23, refs/tool_drop_*, cad/tool_drop_mech_poc_v2d/
Angular sweep (technique) Rotate moving parts in 2° steps (0-20°/0-30°), re-check intersection volume and minimum gap at each step (gear mesh backlash 0.035-0.037) POC v4/v5
Probe cylinders (technique) Thin cylinders along fill/exit axes intersected with exported disc STEPs to prove paths open or blocked; hole-axis alignment asserted to 0.000 POC v4/v5
Tolerance-case matrix (technique) All thickness combinations (e.g. 0.25/0.30 carrier, 0.711-0.813 cover) checked for pocket gap and overlap POC v3-v5
STEP re-import + validity (technique) Every exported STEP re-read, solids counted, isValid(); STLs watertight Oct 16 jig v4b onward

Drawings and 2D

Tool Version Used for First used/Files
matplotlib 3.11.2 All engineering drawings (plan, section, exploded) to PNG and multi-page PDF (PdfPages) Oct 15; drawings/*.py
ezdxf 1.4.5 DXF cut profiles (laser tests, alignment patterns, BR-G1 laser, BR-C1 covers) laser-test/gen.py, cad/laser_align_*, br_c1_v2.dxf
SVG (hand-written) (format) Laser test/alignment patterns for LightBurn laser-test/*.svg, cad/laser_align_*/*.svg
Pillow 12.3.0 (system) / 13.0.0 (venv) Site thumbnails, image compositing site_build/build_site.py
fontTools, kiwisolver, contourpy, pyparsing 4.67.0 / 1.5.1 / 1.4.0 / 3.3.3 matplotlib dependencies venv

PCB: KiCad, Gerber, drill, DRC

Tool Version Used for First used/Files
KiCad / kicad-cli 9.0.2 .kicad_pcb written by script, then kicad-cli exports Gerbers, Excellon drill, job file, and runs DRC (drc.rpt, 0 errors) Oct 21, pcb/br_g1_v1/make_br_g1.py, pcb/br_g2_v1/
Hand-written RS-274X X2 + Excellon (technique) First Gerber set before KiCad was on the box Oct 16, fab/gen_v3b_gerbers.py
gerbv 2.10.0 Render Gerbers back to PNG for visual check Oct 16, fab/render/, pcb/br_g1_v1/preview_gerbv.png
Gerber/Excellon re-parse verifier (technique) Re-read output files, count teeth/holes, compare to geometry report pcb/br_g1_v1/verify_br_g1.py, verify_report.json

3D printing and laser

Tool Version Used for First used/Files
Bambu Studio (AppImage, headless slice) 02.08.02.61 (box); the designer 02.08.02.60 3MF projects for P1S, headless slice estimates Oct 16, cad/jig_v4*/make_3mf.py, /workspace/tools/bambu
LightBurn the designer's copy UV galvo laser jobs from SVG/DXF Oct 16, laser-test/settings.md, refs/laser/
Klipper (Elegoo Neptune 4) stock Planned PnP / flux syringe motion Oct 21, journal

File formats

Format Tool Used for First used/Files
STEP (.step) CadQuery/OCC Parts and assemblies for the designer's CAD and vendors Oct 16, cad/*/*.step
STL CadQuery Print meshes Oct 16, cad/jig_v4b/*.stl
3MF make_3mf.py Bambu Studio projects Oct 16, cad/jig_v4b/*.3mf
DXF / SVG ezdxf / script Laser and SendCutSend cut files Oct 15, laser-test/, br_c1_v2.dxf
Gerber X2, Excellon, .gbrjob, zip kicad-cli / script PCB fab uploads Oct 16, fab/, pcb/*/gerbers
PNG / PDF matplotlib Drawings drawings/
JSON / Markdown Python Geometry/verify reports, notes, journal throughout
MP4 (video generation) Vision reels Oct 15, video/

PDF tools

Tool Version Used for First used/Files
matplotlib PdfPages 3.11.2 Multi-page drawing PDFs, tech sheets drawings/*.pdf, refs/laser/laser_tech_sheet.pdf
poppler-utils (pdftoppm, pdftotext, pdfunite) 25.03.0 Rasterize/read PDFs (datasheets, checks), merge pages refs/ datasheets

Docs site

Tool Version Used for First used/Files
build_site.py (custom static generator) in repo Builds site/ from JOURNAL.md, TODO.md, PENDING, refs, versions Oct 20, site_build/build_site.py
Python-Markdown (extra, sane_lists) 3.11.1 (system) Markdown to HTML build_site.py
check_links.py in repo Verifies every relative link and anchor site_build/check_links.py

Versions, sync and backup

Tool Version Used for First used/Files
GNU tar + gzip 1.35 Version snapshots versions/OSSO_vN_DATE.tar.gz; sync bundles Oct 15, versions/
sha256sum / split (coreutils) 9.7 Chunked tar transfer to the designer's Macs with checksum verification (hourly sync) Oct 21 restore from work Mac copy
Google Drive mirror (connector) Daily mirror of the project, done by another assistant daily
ffmpeg 7.1.5 Video/media handling video/

Research and fab services

Service Version Used for First used/Files
Web research (search + fetch) live Vendor specs and prices throughout
PCBWay web Blank v3b (5 pcs ENIG), 5 OSSO boards, 50 BR-G1 discs; laser-cut tolerance check Oct 16, fab/, pcb/br_g1_v1/README_FAB.md
SendCutSend (site + spec API scs-specs-platform) web 304 SS .030" limits; BR-C1 v2 covers ordered; Oct 23: 1008 CRS .074" armature plate for the tool-drop EPM latch (DXF) Oct 21, cad/ball_dispenser_poc_v5/br_c1/QUOTE_NOTES.md
Chip Quik web SAC305 ball/paste pricing for per-board solder cost Oct 21, journal
LCSC web Pogo pin YZD0029 datasheet drawing Oct 16, cad/pogo_YZD0029/
eBay (NV Liquidation) web 2x Neptune 4 parts units Oct 21, journal
Literature (DOI) web EPTC 2012 tacky flux ball attach; IRJMETS flip chip flux Oct 21, journal

AI assistant

Tool Version Used for First used/Files
OSSO assistant in the Grok Bot app app All scripting, CAD, drawings, fab files, site and journal, with background helper agents for parallel tasks Oct 14 onward

Journal entries in this version

2026-10-21 2:14 PM EDT — POC v3: stack the discs, set the gap with the hold-down screws

Oct 21, 2026 · 2:14 PM ET · journal ↗

the designer decided to stack the three BR-G1 discs directly in POC v3 and adjust the running gap by tightening the hopper's M2 hold-down screws until the middle disc turns freely. The kapton shim is a fallback only, used if the stack binds or rattles. A 0.25mm-thick disc isn't a problem, because a 0.25mm ball then sits flush and still can't pick up a second ball.

2026-10-21 2:16 PM EDT — Solder application roadmap: Kapton stencil first, ball tinning later

Oct 21, 2026 · 2:16 PM ET · journal ↗

the designer confirmed two solder application paths. Initial: a laser-cut Kapton paste stencil (stencil v2 track), ready to try once the laser is set up and aligned. Later: ball tinning, which is flux dots from the syringe head, then 0.25mm SAC305 balls from the BR-G1 dispenser, then reflow. It comes after the dispenser POC and flux head are proven. Both paths end in the same state, a board ready for flux and part placement, so the downstream steps (part tray, PnP, reflow, test) don't change between them.

2026-10-21 2:41 PM EDT — Ball dispenser POC v4: chute alignment fix + external BR-G1 drive gear (the designer's request)

Oct 21, 2026 · 2:41 PM ET · journal ↗

2026-10-21 5:03 PM EDT — Flux head serves two steps

Oct 21, 2026 · 5:03 PM ET · journal ↗

Decision (the designer): Keep selective flux. Whole-board flux was rejected because it means too much cleanup. The flux syringe head is needed twice: (1) a dot on each pad before solder ball tinning, and (2) a dot on each tinned pad before pick and place, to hold parts and wet the reflow. the designer plans a bench test of the manual ball dispenser with a flux dot to observe the physics: bounce, self-centering, and the dot size limit before bridging. References: EPTC 2012 tacky flux ball attach (doi 10.1109/eptc.2012.6507169), IRJMETS flip chip flux (doi 10.56726/irjmets33583).

2026-10-21 5:15 PM EDT — Post-reflow screen ahead of test

Oct 21, 2026 · 5:15 PM ET · journal ↗

2026-10-21 5:18 PM EDT — Purpose of solder ball drop (reminder)

Oct 21, 2026 · 5:18 PM ET · journal ↗

the designer: The goal of solder ball dropping is selective solder application with no stencil. Each one-off PCB skips making a stencil and spreading paste. Part of the per-board ball upcharge is the price of that stencil-free precision on one-off boards. It does not mean matching paste volume. Balls per pad are sized for a good joint on that pad (1 for small pads, more for large or stressed joints), to be confirmed by bench test.

2026-10-21 5:20 PM EDT — Tinning enables pre-inspection and prep ahead

Oct 21, 2026 · 5:20 PM ET · journal ↗

the designer: Ball-drop tinning removes the stencil step (wasteful, a hassle, and a time saver once automated). Tinned boards can be automatically inspected (camera check of solid, domed pads, no bridges) and prepped ahead of time: tin a batch, inspect, and store until assembly. Defects are caught before parts are placed.

2026-10-21 9:52 PM EDT — Ball dispenser POC v5: two part types (BR-G2 FR4 carrier, BR-C1 stainless covers), printed D-spindle (the designer's request)

Oct 21, 2026 · 9:52 PM ET · journal ↗

2026-10-21 10:05 PM EDT — BR-C1 cover v2 for SendCutSend (304 SS .030", as cut, Ø0.80 hole)

Oct 21, 2026 · 10:05 PM ET · journal ↗

2026-10-21 10:19 PM EDT — BR-C1 v2 covers ordered

Oct 21, 2026 · 10:19 PM ET · journal ↗

2026-10-22 9:29 AM EDT — XYZ head concept: folding tools (ideation)

Oct 22, 2026 · 9:29 AM ET · journal ↗

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)

Oct 22, 2026 · 9:31 AM ET · journal ↗

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)

Oct 22, 2026 · 9:31 AM ET · journal ↗

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)

Oct 22, 2026 · 9:32 AM ET · journal ↗

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)

Oct 22, 2026 · 9:33 AM ET · journal ↗

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)

Oct 22, 2026 · 9:35 AM ET · journal ↗

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)

Oct 22, 2026 · 9:36 AM ET · journal ↗

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)

Oct 22, 2026 · 9:36 AM ET · journal ↗

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)

Oct 22, 2026 · 9:37 AM ET · journal ↗

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)

Oct 22, 2026 · 9:38 AM ET · journal ↗

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)

Oct 22, 2026 · 9:40 AM ET · journal ↗

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)

Oct 22, 2026 · 9:42 AM ET · journal ↗

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)

Oct 22, 2026 · 9:47 AM ET · journal ↗

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)

Oct 22, 2026 · 9:50 AM ET · journal ↗

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)

Oct 22, 2026 · 9:55 AM ET · journal ↗

2026-10-22 9:56 AM EDT — Parts tray setup is a separate station (ideation)

Oct 22, 2026 · 9:56 AM ET · journal ↗

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)

Oct 22, 2026 · 9:56 AM ET · journal ↗

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)

Oct 22, 2026 · 9:57 AM ET · journal ↗

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)

Oct 22, 2026 · 9:58 AM ET · journal ↗

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)

Oct 22, 2026 · 9:59 AM ET · journal ↗

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)

Oct 22, 2026 · 10:02 AM ET · journal ↗

2026-10-22 10:59 AM EDT: Cell size TBD; machines as a possible business line

Oct 22, 2026 · 10:59 AM ET · journal ↗

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

Oct 22, 2026 · 11:02 AM ET · journal ↗

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)

Oct 22, 2026 · 11:05 AM ET · journal ↗

2026-10-22 11:08 AM EDT: Tool drop drawing: part sources

Oct 22, 2026 · 11:08 AM ET · journal ↗

2026-10-22 11:12 AM EDT: Cleaning needle is the base tool for the first tool-drop prototype (decision)

Oct 22, 2026 · 11:12 AM ET · journal ↗

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

Oct 22, 2026 · 11:14 AM ET · journal ↗

2026-10-22 1:48 PM EDT – Tool drop mechanical PoC v1 (CadQuery)

Oct 22, 2026 · 1:48 PM ET · journal ↗

2026-10-22 1:53 PM EDT: Tool-drop PoC build added to TODO

Oct 22, 2026 · 1:53 PM ET · journal ↗

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

Oct 22, 2026 · 1:56 PM ET · journal ↗

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

Oct 22, 2026 · 2:59 PM ET · journal ↗

2026-10-22 5:17 PM EDT: Pneumatic ball dispenser ratchet decision

Oct 22, 2026 · 5:17 PM ET · journal ↗

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

Oct 22, 2026 · 5:27 PM ET · journal ↗

2026-10-22 5:33 PM EDT – Tool-drop mech PoC motion sequence annotation

Oct 22, 2026 · 5:33 PM ET · journal ↗

2026-10-22 5:52 PM EDT – Tool-drop mech PoC v1: linkage past dead center at folded rest (CAD not changed)

Oct 22, 2026 · 5:52 PM ET · journal ↗

2026-10-22 6:52 PM EDT – Tool-drop mech PoC v2 (option B) and kinematic checks

Oct 22, 2026 · 6:52 PM ET · journal ↗

2026-10-22 7:46 PM EDT – Tool-drop v2b: torsion return spring and side detent

Oct 22, 2026 · 7:46 PM ET · journal ↗

2026-10-23 7:35 AM EDT: Tool drop v2c notes (guide bearings for the pistons)

Oct 23, 2026 · 7:35 AM ET · journal ↗

the designer wants guide bearings for the pistons on the tool drop concept. This is notes only. Do not draw or model until he gives the command.

Plan for v2c, based on v2b:

2026-10-23 7:40 AM EDT: Tool drop v2c direction: single double-acting piston, 30 psi design point

Oct 23, 2026 · 7:40 AM ET · journal ↗

the designer decided to design the tool drop system against 30 psi. Direction for v2c (notes only; no drawing or model until he gives the command):

2026-10-23 7:43 AM EDT: Design note: all metric, minimize fastener sizes

Oct 23, 2026 · 7:43 AM ET · journal ↗

the designer set a design rule for OSSO: everything is metric, and the number of different fastener sizes is kept to a minimum. For the tool drop v2c this means M5 instead of 10-32 for the cylinder port threads, with metric push-to-connect fittings and tube (for example 4 mm OD instead of 1/8 inch), and reducing the M2/M3 screws and pins to as few sizes as possible. The earlier 10-32 ball plunger and 1/8 inch tube choices get replaced with metric equivalents when v2c is modeled. Notes only until the designer gives the drawing/model command.

2026-10-23 7:44 AM EDT: Design note: fasteners limited to M5 and M3

Oct 23, 2026 · 7:44 AM ET · journal ↗

the designer wants everything in M5 and M3 only. For the tool drop v2c this means: M5 for the cylinder ports and large threads, M3 for all screws and tapped holes, and no M2 or 10-32. Pins and dowels should be sized to match (3 mm), and the metric ball plunger should use M5 or M3 thread. Notes only until the designer gives the drawing/model command.

2026-10-23 7:44 AM EDT: Design note: exceptions to the M5/M3 rule

Oct 23, 2026 · 7:44 AM ET · journal ↗

the designer allows exceptions to the M5 and M3 only rule. Specialty hardware that is only available in imperial sizes needs his approval before it goes into a design. Specialty hardware in other metric thread sizes (for example M4, M6 or fine-pitch) is fine without asking. Notes only until the designer gives the drawing/model command.

2026-10-23 8:02 AM EDT: Tool drop v2c concept drawing v1 (drawing only)

Oct 23, 2026 · 8:02 AM ET · journal ↗

Made drawings/osso_tool_drop_v2c_v1.py/.png/.pdf (no CAD or model changes; cad/ untouched; no sync). House style: numbered callouts, notes table with a Source column, overall dims only, title block. Shows the section folded and deployed (view from +X), a pneumatic schematic (regulator and gauge at 30 psi, 4/2 valve, cap and rod-side lines, exhaust), the notes table and a force/torque summary. Dimensions approximate; friction values are estimates.

2026-10-23 8:25 AM EDT: Tool drop v2c pressure sweep (calculation only, refs/tool_drop_pressure_sweep_v1.md/.png)

Oct 23, 2026 · 8:25 AM ET · journal ↗

2026-10-23 8:29 AM EDT - Tool drop: 60 psi set, plunger elimination

Oct 23, 2026 · 8:29 AM ET · journal ↗

the designer set 60 psi as the target (50 psi floor); compressor innovation later. Imperial springs approved in all cases. He wants the latch plunger eliminated. Options offered: (1) pneumatic hold with cap pressure, fail-safe fold by torsion spring; (2) over-center toggle against hard stop; (3) magnet detent; (4) printed flexure snap. Recommended 2 plus 1; 3 as fallback. Pending his choice; force/torque check on option 2 proposed. No drawing or model work.

2026-10-23 8:30 AM EDT - Tool drop: over-center toggle chosen

Oct 23, 2026 · 8:30 AM ET · journal ↗

the designer agreed on option 2 (over-center toggle against hard stop) as the lock, replacing the plunger. Option 1 (air hold) rejected as too risky. Starting force/torque check on the toggle (calculation only, no drawing or model).

2026-10-23 8:49 AM EDT - Tool drop: over-center toggle check result

Oct 23, 2026 · 8:49 AM ET · journal ↗

Calculation only (refs/tool_drop_toggle_check_v1.md/.png). Verdict: toggle NOT feasible on the v2c geometry at 60 psi. Moment arm negative through the whole sweep (no over-center at deployed position; tail pin would need to move about 64-68 deg). Tolerance stack on past-center angle +-4 deg worst case. Rod-side release margin never above 0.71; hold/release window empty. Fallback: magnet detent, window 47-76 Nmm (aim about 60). Flag: a 2 N tip push at an assumed 40 mm lever (80 Nmm) exceeds that window, so no passive latch can both hold it and release; needs a decision on whether it is a real requirement.

2026-10-23 9:01 AM EDT - Tool drop: digital-control magnet hold

Oct 23, 2026 · 9:01 AM ET · journal ↗

the designer wants a magnet hold with digital control (latching electromagnet: permanent magnet plus coil pulse that cancels the pull). Feasibility can include it, but first tests stay simple: plain permanent magnet detent at about 60 N*mm. Calculation/notes only; no drawing or model.

2026-10-23 9:22 AM EDT - Tool drop: magnet hold sizing (calculation and research, no drawing/model)

Oct 23, 2026 · 9:22 AM ET · journal ↗

refs/tool_drop_magnet_hold_v1.md/.png. Plan A (first tests): two supermagnete S-06-03-N discs (6x3 mm N45), face to face, 12 mm lever, gap about 0.92 mm for about 60 Nmm; hold margin 1.90 vs spring, release 1.94 at 60 psi (1.63 at 1.5x friction); do not run below about 45 psi; M3 screw gap tuning (0.5 mm/turn, about 19 Nmm). Plan B (later, digital): electropermanent holding magnet (Hyab 71-1212-24-JSK first, 71-1811-24-JSK if the tip push must be held) driven by GPIO + MOSFET + flyback; release pulse 0.2-0.3 s after rod pressure. Open: whether a 2 N tip push at 40 mm lever (80 N*mm) is a real load (no passive magnet can hold it and release), lever length, stop block room, 12 vs 24 V, M3 screw access, magnet shop. Pull model needs a gauge check (+-15

2026-10-23 9:27 AM EDT - Tool drop: magnet hold sizing result and Plan B decision

Oct 23, 2026 · 9:27 AM ET · journal ↗

Magnet hold sizing (calculation and research only; refs/tool_drop_magnet_hold_v1.md/.png). Plan A: two supermagnete S-06-03-N discs, 12 mm lever, gap about 0.92 mm for about 60 Nmm; hold 1.90, release 1.94 at 60 psi; not below about 45 psi. Plan B: electropermanent holding magnet, release pulse 0.2-0.3 s via GPIO + MOSFET + flyback. the designer chose Plan B with hold against the 2 N tip push (Hyab 71-1811-24-JSK, 24 V, about 270 Nmm), simple manual test electronics, and commanded the v2d drawing next (drawing only). Open: 40 mm lever, stop block room (3-8 mm deeper), supplier, mount.

2026-10-23 9:45 AM EDT - Tool drop v2d concept drawing delivered (drawing only, not modeled)

Oct 23, 2026 · 9:45 AM ET · journal ↗

drawings/osso_tool_drop_v2d_v1.py/.png/.pdf. Electropermanent latch (Hyab 71-1811-24-JSK) replaces the plunger; folded/deployed sections, latch detail, 60 psi pneumatic schematic, manual test electronics (24 V, pushbutton, flyback diode, optional PTC, later GPIO + MOSFET), force/torque panel (hold 270 N*mm, release capability 116.4, spring 31.6, tip push 80), notes table with Source column and open items. Overall about 115 mm long and 48 mm tall (was 36); stop block about 6 mm deeper. Flags: stop dowel moved to Z -23.5; EPM envelope may interfere with rod/clevis when deployed (CAD check); block needs about 21 mm X by 24 mm Z; armature must stand 1 mm proud; deploy margin needs re-check without the plunger; regulator/valve/fittings rated 100 psi or more; fitting 5225K647 is straight but drawn as elbow. Many part numbers unverified.

2026-10-23 10:42 AM EDT - Tool drop v2d CAD model (cad/tool_drop_mech_poc_v2d)

Oct 23, 2026 · 10:42 AM ET · journal ↗

2026-10-23 10:42 AM EDT - VERSION v14 snapped

Oct 23, 2026 · 10:42 AM ET · journal ↗

Milestone: the tool-drop needle-retract mechanism has a full CAD model. Frozen to versions/v14_2026-10-23 + OSSO_v14_2026-10-23.tar.gz (the project without versions/, video/, stray root tarballs and ._* files; refs/TOOLS.md copied to the version root). Since v13: tool drop PoC v1 to v2b (torsion spring, plunger), v2c drawing and 60 psi pressure sweep, over-center toggle check (not feasible), magnet hold sizing, v2d concept drawing (electropermanent latch), and the v2d CAD model with BOM and interference/kinematics fit check (cad/tool_drop_mech_poc_v2d); TOOLS.md updated (pyvista, trimesh, BRepExtrema, sweep technique, SendCutSend plate). The docs site now lists v14. Mac sync excludes versions/ and video/ as before.