OSSO

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

Source: refs/TOOLS.md