← Oct 19 Oct 21 →
Journal: Tuesday, Oct 20, 2026
- 2026-10-20 8:08 AM ET — Design rule: ground pours
- 2026-10-20 8:09 AM ET — Decision: interposer ground via extra pogo pins
- 2026-10-20 8:10 AM ET — Note: grounding rules in spec-to-object
- 2026-10-20 8:11 AM ET — Future idea: conductive multi-material interposer
- 2026-10-20 8:14 AM ET — Signal path length and buses
- 2026-10-20 8:18 AM ET — Decision: via-in-pad on companion lap pads
- 2026-10-20 8:33 AM ET — Request: DIY mini wave / dip solder pot for the OSSO 140x140 blanks
- 2026-10-20 8:42 AM ET — Solder pot v1 (concept A: full-size dip pot) + mask trays
- 2026-10-20 9:12 AM ET — Request: design pivot to a perpendicular card-edge PSU companion
- 2026-10-20 9:18 AM ET — card_edge_psu_companion_v1
- 2026-10-20 9:34 AM ET — Top board v1i (card-edge family, variants A/B)
- 2026-10-20 9:37 AM ET — Design note (the designer)
- 2026-10-20 9:43 AM ET — Top v1i Variant C (5 mm terminal strip) + v8 freeze
- 2026-10-20 10:00 AM ET — Design note (the designer)
- 2026-10-20 10:13 AM ET — Design note (the designer)
- 2026-10-20 10:16 AM ET — Test harness pin (the designer)
- 2026-10-20 10:48 AM ET — Documentation website (local static site)
- 2026-10-20 10:54 AM ET — New exploration: the Machine (documentation only)
- 2026-10-20 10:56 AM ET — Machine layout decision (the designer)
- 2026-10-20 10:57 AM ET — Machine rule (the designer)
- 2026-10-20 10:59 AM ET — Machine requirement: human factors first (the designer)
- 2026-10-20 11:00 AM ET — Machine principle: organ console (the designer)
- 2026-10-20 11:01 AM ET — Machine rule: no conveyance (the designer)
- 2026-10-20 11:01 AM ET — Machine rule: jigs per machine (the designer)
- 2026-10-20 11:03 AM ET — Machine operating model (the designer)
- 2026-10-20 11:05 AM ET — Machine decision: process order via signage (the designer)
- 2026-10-20 11:06 AM ET — Machine decision: station lighting cue (the designer)
- 2026-10-20 11:07 AM ET — Machine rule: sequence-tied interlocks (the designer)
- 2026-10-20 11:08 AM ET — Machine decision: e-stop and safety rollback (the designer)
- 2026-10-20 11:09 AM ET — Machine decision: inspection in the sequence (the designer)
- 2026-10-20 11:10 AM ET — Machine layout revision (the designer)
- 2026-10-20 11:11 AM ET — Machine decision: clad exterior (the designer)
- 2026-10-20 11:12 AM ET — Machine decision: entry opening (the designer)
- 2026-10-20 11:13 AM ET — Machine decision: height and header (the designer)
- 2026-10-20 11:17 AM ET — Machine cell concept drawing v1 (approved 11:13 AM)
- 2026-10-20 11:22 AM ET — Machine decision: blanks bought-in (the designer)
- 2026-10-20 11:23 AM ET — Machine decision: paste by XYZ dispensing (the designer)
- 2026-10-20 11:24 AM ET — Machine decision: shared paste/placement gantry (the designer)
- 2026-10-20 11:27 AM ET — Machine decision: paste pitch limit (the designer)
- 2026-10-20 11:27 AM ET — Version freeze v9
- 2026-10-20 12:29 PM ET — Short-term process: drum-frame Kapton stencil (the designer)
- 2026-10-20 12:31 PM ET — Decision: film stencil in drum frame locked (the designer)
- 2026-10-20 12:36 PM ET — Drum-frame stencil design input (the designer)
- 2026-10-20 12:39 PM ET — Decision: stencil frame punching (the designer)
- 2026-10-20 12:47 PM ET — Drum-frame film stencil v1 modelled (approved 12:41 PM)
- 2026-10-20 1:13 PM ET — Drum-frame film stencil v2 modelled (changes approved by the designer Oct 20)
- 2026-10-20 1:27 PM ET — Version freeze v10
- 2026-10-20 1:32 PM ET — Laser alignment test pattern v1
- 2026-10-20 1:39 PM ET — Laser alignment v0: centre-crosshair offset test
- 2026-10-20 1:41 PM ET — Version freeze v10 (re-snap)
- 2026-10-20 2:06 PM ET — Laser technical summary sheet
- 2026-10-20 2:24 PM ET — Decision: board goes in after the film cut
- 2026-10-20 9:27 PM ET — Direction: "precision manual" placement of small parts (exploration, no models yet)
2026-10-20 8:08 AM ET — Design rule: ground pours
No separate inner ground plane (stay 2-layer). Both outer pours are ground; unused vias are tied to ground to stitch top and bottom and avoid floating islands. Stitch densely near the pogo block and along signal traces.
2026-10-20 8:10 AM ET — Note: grounding rules in spec-to-object
Pinout and routing will include automated grounding rules (ground pin placement and count, return paths, stitching) as part of spec-to-object programming.
2026-10-20 8:11 AM ET — Future idea: conductive multi-material interposer
Someday a multi-material 3D print with conductive features could contact ENIG ground features on the boards. Parked as too complex for now.
2026-10-20 8:14 AM ET — Signal path length and buses
At stack scale (worst case ~0.3-0.5 m), no bus (UART, I2C, SPI, CAN, RS-485, SPE) is length-limited. Concerns are protocol-specific and go into layout/design rules for spec-to-object: I2C capacitance per crossing, fast SPI edges/timing, impedance for USB HS/SPE (keep on-board or cable), and optional per-board termination for multi-drop buses (CAN/RS-485).
2026-10-20 8:18 AM ET — Decision: via-in-pad on companion lap pads
Companion lap pads get plated via-in-pad (~Ø0.4–0.6) with an exposed top ring so solder wicking confirms each blind joint visually; add extra paste. Logged in PENDING_ADJUSTMENTS.md for the next batch.
2026-10-20 8:33 AM ET — Request: DIY mini wave / dip solder pot for the OSSO 140x140 blanks
- the designer wants a concept design: pot size and solder mass, heater, PID control, an optional wave, dross handling, a masking carrier/tray, lift and depth stop, and safety. Deliverables: drawings, STEP, BOM, journal.
2026-10-20 8:42 AM ET — Solder pot v1 (concept A: full-size dip pot) + mask trays
- Files:
- drawings: wave_pot_v1_geom.py (writes wave_pot_v1.json); wave_pot_v1.py → wave_pot_v1.png (plan + section + notes), wave_pot_v1_p2.png (trays + BOM), wave_pot_v1.pdf (both pages).
- cad/wave_pot_v1: make_wave_pot_v1.py, wave_pot_v1_assembly.step, wave_pot_v1_tray_top_v1h.step, wave_pot_v1_tray_base_v3b.step, BOM_wave_pot_v1.md.
- Decision rationale: a small static pot with the board traversing it does not work. L2 must sit 0.5 below the solder surface while the pot rim is above it, so a wider tray hits the rim. Traversing needs a raised wave (concept B, a v2 option).
- Concept A, the dip pot:
- Cavity 160x160x30, rim +5 above the working solder surface, solder depth 25 = 640 cm³ → SAC305 4.72 kg / Sn63 5.38 kg.
- The tray displaces 56 cm³, raising the level by 2.2 mm.
- 6 x 250 W cartridges in a steel block = 1.5 kW. Heat-up ≈ 15 min (1.26 MJ, pot 6.3 kg). Idle loss ≈ 250 W.
- Concept B, mini wave: pot 180x70x50, 441 cm³ → SAC305 3.25 kg.
- Mask trays: Durostone, 150 sq lower box, 210 sq flange, 140.4 pocket, 2.0 web.
- Top v1h: 20 apertures, 7283 mm² open. Every one of the 1028 grid + 22 strip lands is fully exposed. Masked features are at least 0.3 away (SMT 0.3, pogo 2.31, window 1.87).
- Base v3b: 2 apertures for the 48 holes.
- Fiducials A/B are left open, because masking them would create floating islands; they get a Kapton dot.
- STEP reimport: assembly 0.91 MB, 37 solids, valid. Trays are 1 solid each.
- Open decisions: D1 A vs B; D2 alloy; D3 pot material; D4 230/120 V; D5 peel tilt; D6 preheat; D7 fiducial dots; D8 nitrogen.
2026-10-20 9:12 AM ET — Request: design pivot to a perpendicular card-edge PSU companion
- The top-board companion changes to a vertical card that plugs into an EDAC 305-020-521-202 (2x10, 3.96 mm pitch, 5 A per contact).
- The card hosts a 10–15 W PCB-mount AC-DC module.
2026-10-20 9:18 AM ET — card_edge_psu_companion_v1
- Module: MEAN WELL IRM-15-5. Datasheet PDFs for IRM-15 and IRM-10 are in refs/psu_modules/, with SUMMARY.md.
- Card: 64 x 58 x 1.57 FR4 with a 43.2 finger tab.
- 18 gold fingers (9+9) at 3.96 pitch.
- Key slot at position 10/L, 1.40 x 8.01, for the in-contact key 307-240-328.
- Contact assignment: +V on 1,2,A,B; GND on 3,4,5,C,D,E; +V sense on 6/F; R_ID to GND on 7/H; 8,9,J,K not connected.
- Mains:
- Mains terminal, fuse and MOV at the top left; optional output terminal and test points at the top right.
- Mains pads clear the fingers by 9.5 and low-voltage pads by 8.84 (rule ≥ 6).
- Top-board placement (concept only):
- Connector centred at (70, 116.5). It sits entirely inside the current v1h window, so it needs the window, wings, lap pads and anchors removed (v1i).
- Not applied; PENDING_ADJUSTMENTS untouched.
- STEPs in cad/card_edge_v1 (all reimport valid):
- Companion with connector: 0.88 MB, 52 solids.
- Connector alone: 0.36 MB.
- Assembly on top v1h: 28.0 MB, 2297 solids; bbox z -1.54 to 64.08.
- Unverified: fuse and MOV values, finger width and length, contact lettering, key part number.
2026-10-20 9:34 AM ET — Top board v1i (card-edge family, variants A/B)
the designer approved this at 9:26 AM ET.
- PENDING applied:
- 8:30 lower-centre block becomes SMT-4: a NO-TH pour at x 51.0–89.0, y 12.0–44.14, merged with SMT-2B. 144 grid holes removed; 884 remain (v1h had 1028). Clearances: 0.75 to the strip lands, 0.42 to the kept grid lands, 1.5 to the pogo pads.
- 8:18 via-in-pad: superseded/N/A, because the top companion lap pads are gone. It may still apply to the base v3b companion laps.
- Future to-dos (wave pot, reflow, pick-and-place): not touched.
- Removed: the v1h window (main opening, centre tab, wings), 32 lap pads, 4 M2 anchors and the companion outlines.
- SMT-5 card-edge field: that area is now a NO-TH pour (x 25.5–114.5, y 94.5–140). It is SMT, not grid, because:
- The grid already stopped at y 92.86 under the old companion.
- The neighbours (SMT-2T, SMT-3 L/R and the fid no-grid zones) are all SMT.
- The 3.96-pitch connector rows and mounting holes cannot share the 2.54 lattice.
- Fiducials: not moved.
- Pin-1 silk void: moved +6.5 to y 127.5–133.5, because the CE-B ears overlapped it.
- CE-A: EDAC 305-020-521-202 (2x10) centred at (70,106).
- CE-B: EDAC 305-044-521-202 (2x22, verified on EDAC's site, drawing in refs/card_edge_396) centred at (70,120.5).
- Footprints: both have pin 1 at +x; PTH Ø1.3/Ø2.4 and mounting NPTH Ø3.3. CE-B ears reach into the fid no-grid zones; the mounting hole is 4.92 from the fid keep-out and the body 1.64.
- Shared pin map:
- Positions 1–10 are identical on both connectors: +V 1/A 2/B; GND 3/C 4/D 5/E; SENSE 6/F; ID 7/G; PG/RSV 8/H; RSV 9/J; KEY 10/K.
- 2x22 only: GND 11, 16, 21, 22; IO0–7 on the number row and IO8–15 on the letter row at 12–15 and 17–20.
- Lettering reconciled to EDAC (G is included; I and O are skipped). The PSU card geometry is unchanged.
- Variant A: card_edge_psu_v1 (IRM-15-5), rotated 180° so the module sits over SMT-5. The mains zone is 19.9 above board copper (rule ≥6).
- Variant B: blank card 100x58x1.57 with a 90.75 tab, 42 fingers and a key slot at position 10.
- Files:
- drawings: top_v1i_geom.py → top_v1i_geom.json; top_v1i.py → osso_top_v1i.png/.pdf.
- cad/top_v1i: make_top_v1i.py, VERIFY.txt, OSSO_top_v1i_board.step, OSSO_top_v1i_variantA_2x10_psu.step, OSSO_top_v1i_variantB_2x22_blank.step, OSSO_blank_card_2x22_v1.step. All re-import as valid.
- Open items:
- Body height: 11.68 on the part drawing vs 11.94 in the guide.
- Price/stock not verified.
- Finger dimensions are design values.
- The board is no longer symmetric about the connectors for bottom use.
2026-10-20 9:37 AM ET — Design note (the designer)
Top v1i card-edge footprints: the 2×10 and 2×22 are both optional per build. Either, both, or neither may be populated depending on component mounting; suppressing either carries no penalty.
2026-10-20 9:43 AM ET — Top v1i Variant C (5 mm terminal strip) + v8 freeze
- Variant C: the top v1i board with the 22-hole 5.0 mm strip at y=10 populated. The strip is two groups of 11 (x 15–65 and 75–125, with no hole at x=70). Each side gets 4× Phoenix Contact MKDS 1,5/ 2 (1715022) and 1× MKDS 1,5/ 3 (1715035), aligned with the side latch. That makes 10 blocks and 22 positions in total.
- Part data: 5.0 mm pitch, 9.8 mm long, 13.8 mm installed height, 0.9×0.9×3.5 pins, Ø1.3 hole (this matches the strip), M3 screws, 17.5 A / 400 V.
- Wire entry faces the bottom edge.
- CE-A 2×10 and CE-B 2×22 are NO-POP: the footprints stay, with no connector or card.
- Files:
- cad/top_v1i: make_variantC.py and OSSO_top_v1i_variantC_5mm_terminal.step. The STEP re-imports as valid (see VERIFY.txt).
- drawings/osso_top_v1i: has a Var C callout.
- Model note: this is a simplified envelope model. The pin row is assumed to be at the centre of the body depth.
- Freeze v8: versions/v8_2026-10-20 and OSSO_v8_2026-10-20.tar.gz.
- Contents: top v1i with the queued adjustments applied, the two-size card edge with the shared pin map, and Variants A, B and C.
- Both card-edge footprints are optional per build and can be suppressed without penalty.
- The 9:41 AM queued item (extend the three middle via columns to the strip) is NOT applied. It is carried as-is in PENDING_ADJUSTMENTS.md.
2026-10-20 10:00 AM ET — Design note (the designer)
Card-edge connectors/cards may use a 3D-printed skeleton for standardized mounting to the enclosure (pairs with queued corner drills on card-edge boards).
2026-10-20 10:13 AM ET — Design note (the designer)
Placement/routing code test harnesses: use known, tested PCBs with full designs as references; the harness attempts to replicate each as an OSSO stack.
2026-10-20 10:16 AM ET — Test harness pin (the designer)
Fan-favorite reference test: Commodore 64 motherboard replica (the designer's first computer). Starter harness candidates: Ben Eater 6502, RC2014 (Z80). Also considered: Apple II, ZX Spectrum (Harlequin). Repo links unverified.
2026-10-20 10:48 AM ET — Documentation website (local static site)
the designer approved this at 10:45 AM ET.
- Generated a static site at site/ (open site/index.html from disk; relative links only, no CDNs). Home = latest v8; timeline with a page per frozen version v1–v8 (journal entries, decisions, new drawings with thumbnails, STEP links; historical banner on v1–v7); journal by date with anchors; decisions & rules; pending adjustments; references.
- Generator: site_build/build_site.py (idempotent); link checker: site_build/check_links.py; hosting notes in site_build/README.md. Big files are linked in place, only thumbnails copied. Not deployed.
- v5 freeze time on its page is inferred from the archive timestamp (10:08 AM ET Oct 19); the journal has no v5 freeze entry.
2026-10-20 10:54 AM ET — New exploration: the Machine (documentation only)
Manufacturing from blank to object per spec (spec definition/checking deferred). The "machine" = a cell with the humanoid operator (the designer as prototype) plus stations within easy reach and supporting operations. Draft stations: 1 Kitting, 2 Laser ablation, 3 Clean/inspect, 4 Paste+SMT placement, 5 Reflow, 6 TH/selective (dip pot), 7 Companion/card prep, 8 Stacking, 9 Test, 10 Enclosure/finish. Support: fume/vent, ESD, tooling storage, 3D printer, parts storage, rework, spec/traveler display. Layout idea: U/L cell, dirty/hot vs clean sides. Open: seated/standing, footprint, laser in-cell or separate.
2026-10-20 10:56 AM ET — Machine layout decision (the designer)
Cell is a C shape for a standing operator: no lateral movement, every operation within reach (turn at the waist only). Planning numbers (to verify): ~500–600 mm comfortable reach, inner C radius ~0.6 m, counter at elbow height ~950–1050 mm, tall tools on outer ring/upper shelf, kitting/parts below counter.
2026-10-20 10:57 AM ET — Machine rule (the designer)
Every machine (laser, reflow, dip pot, pick-and-place, printer, test) is built into the C cell, within the standing operator's reach. No separate rooms or remote tools. Implies compact, cell-integrated tools with built-in fume extraction and enclosures for the hot/laser stations.
2026-10-20 10:59 AM ET — Machine requirement: human factors first (the designer)
First operator is a human, so the cell is human-friendly: safety (source fume extraction, laser enclosure + interlock, hot-surface guarding, e-stop, fire safety), ergonomics (standing primary with optional bench chair / sit-stand, adjustable heights, anti-fatigue mat), magnification (magnifier/stereo microscope at fine stations), lighting (even, glare-free task lighting). Human-only provisions may be removed later for a humanoid; for now human-friendly.
2026-10-20 11:00 AM ET — Machine principle: organ console (the designer)
Maximize items/storage within reach, like an organ player: tiered vertical layers around one position. Upper tiers: angled bins/tool racks following the C; main tier: work surface + machine bays at elbow height; lower: shallow pull-out drawers (kitting/fixtures); foot pedals for hands-free actions (vacuum pickup, reflow start, extractor). Placement by frequency of use (most used front-centre at elbow height).
2026-10-20 11:01 AM ET — Machine rule: no conveyance (the designer)
No part conveyance in the cell. The operator moves the part between operations to reduce clutter in the mechanism. Implies: each station has a clear landing/staging spot and a common, repeatable board nest/fixture interface so the board registers the same way at every station.
2026-10-20 11:01 AM ET — Machine rule: jigs per machine (the designer)
Every machine has a dedicated jig for repeatable operations. Jigs share one board datum (tooling holes + fiducials on the 140 mm blank) so the board registers identically at each station; jigs keyed/poka-yoke, 3D-printable in the cell. Ties to the no-conveyance common nest rule.
2026-10-20 11:03 AM ET — Machine operating model (the designer)
Humans make errors, so every operation has poka-yoke (keyed jigs, board presence/orientation sensing, interlocks that only allow start with correct jig + board seated) and a digital display at each machine with operator instructions driven by the spec/traveler. The cell is self-operating: machines run their operations automatically; the human only performs transport steps between stations.
2026-10-20 11:05 AM ET — Machine decision: process order via signage (the designer)
Station physical placement implies NO sequence (no top-to-bottom/left-to-right order). Process order is shown by the digital display at each machine indicating what is next. Displays are e-watch sized (~1.5–2 in). Placement is then free to optimize reach, frequency and ventilation; sequence can vary per spec. Suggestion (open): next station highlights itself (flashing display or light ring) for at-a-glance guidance.
2026-10-20 11:06 AM ET — Machine decision: station lighting cue (the designer)
Accepted: the next station highlights itself (light ring/display), like a theater program cueing the next scene. Moves from open suggestion to decision.
2026-10-20 11:07 AM ET — Machine rule: sequence-tied interlocks (the designer)
Any machine requiring an interlock is tied to the process sequence: it stays locked and unlocks only when its step is the current required step. Out-of-sequence access is blocked (poka-yoke at the cell level).
Open follow-ups: e-stop always active independent of sequence; keyed maintenance/override mode for cleaning, jams and service.
2026-10-20 11:08 AM ET — Machine decision: e-stop and safety rollback (the designer)
E-stop is always engaged/active, independent of the sequence. Faults and e-stop trigger safety rollbacks to a defined safe state, and restart requires a defined reset sequence before resuming. (Keyed maintenance mode is still an open item.)
2026-10-20 11:09 AM ET — Machine decision: inspection in the sequence (the designer)
An inspection step follows operations in the sequence: the operator brings the part to the inspection station (jigged), where it gets magnification and image capture, AI interpretation, and an operator decision (pass / rework / scrap). Images and decisions are logged to the traveler (builds a dataset for future checks). Now: visual inspection with AI interpretation; more sophisticated checks later.
2026-10-20 11:10 AM ET — Machine layout revision (the designer)
Revises the earlier "no lateral movement" rule: operator lateral movement of up to ±1 m is OK, to keep the cell from getting cramped. Usable span ~2 m plus arm reach each side; C shape and standing position remain.
2026-10-20 11:11 AM ET — Machine decision: clad exterior (the designer)
The outside of the C is fully clad in the concept, so external operations cannot interfere; all access is from the inside, operator position. (Service access, exhaust and utility penetrations to be planned through the cladding.)
2026-10-20 11:12 AM ET — Machine decision: entry opening (the designer)
The C may close around until only a door-width opening remains for operator entry; no physical door is required.
2026-10-20 11:13 AM ET — Machine decision: height and header (the designer)
Cell height is about door height (~2.0–2.1 m). A closing brace/header spans above the entry opening for structural strength, closing the ring.
2026-10-20 11:17 AM ET — Machine cell concept drawing v1 (approved 11:13 AM)
drawings/osso_machine_cell_v1.png/.pdf (script osso_machine_cell_v1.py): concept only, no CAD. Plan view + unrolled inner elevation + notes. Concept values: inner floor stadium 2200 straight + R600 ends (operator ±1 m), counter depth 600, cladding 50 → footprint 4700 x 2500 x 2100 H; 900 entry with header 1950–2100; developed counter ~7.27 m. Stations: hot zone right end (laser enclosed/interlocked, reflow, dip pot, shared hood + exhaust EX); clean front-right; paste/SMT, inspection (back centre), companion prep on the back; stacking, test, enclosure/finish, 3D printer on the left end; kitting front-left at entry. 6 e-stops, 3 pedals, display + light ring + jig on each station, organ tiers (bins 1500–2000, surface 1000, drawers 650–950). Penetrations (EX/U/D/S) generic.
2026-10-20 11:22 AM ET — Machine decision: blanks bought-in (the designer)
Blanks, companions and cards are bought-in pre-plated fab stock (PTH/vias, ENIG, hard-gold bevelled fingers, routed outlines/key slots/tooling holes). The cell does personalisation (laser) and assembly. Note: the mains PSU card test needs an isolated, guarded fixture (possibly hipot) with its own interlock and shielding at test station 9.
2026-10-20 11:23 AM ET — Machine decision: paste by XYZ dispensing (the designer)
Solder paste is applied by an automated XYZ dispenser (jet/auger) driven directly from the spec paste layer. No stencils are produced. Open: fine-pitch support level; possible shared gantry with pick-and-place.
2026-10-20 11:24 AM ET — Machine decision: shared paste/placement gantry (the designer)
Paste dispensing and pick-and-place share one gantry (tool heads: dispenser + vacuum nozzle). Custom equipment optimized for the 140 mm OSSO board size (and companion/card boards), not adapted generic machines.
2026-10-20 11:27 AM ET — Machine decision: paste pitch limit (the designer)
Locked: 0402 is the smallest supported package for now. A jet dispensing head is required on the shared gantry. Still no stencils. Anything smaller than 0402 goes on an externally fabricated companion board.
2026-10-20 11:27 AM ET — Version freeze v9
Frozen to versions/v9_2026-10-20 + OSSO_v9_2026-10-20.tar.gz. Since v8: card-edge design notes, test harness (C64 fan favorite), docs website, Machine cell exploration and concept drawing v1, paste strategy (XYZ jet dispense on shared custom gantry, 0402 min, no stencils), blanks bought-in.
2026-10-20 12:29 PM ET — Short-term process: drum-frame Kapton stencil (the designer)
Near-term with current equipment: manual stencil paste + manual placement with a handheld vacuum. Stencil: non-adhesive polyimide (~0.075–0.125 mm) tensioned in a 3D-printed drum/hoop frame (inner and outer rings, proud inner lip, rounded wrap edge), registered on the board jig tooling pins; laser-cut (355 nm UV, 10 W) in the jig in board coordinates with a Z offset, then reused as a stencil on the same pins. Test: power/speed sweep on polyimide. The long-term cell plan (jet dispense, no stencils) is unchanged.
2026-10-20 12:31 PM ET — Decision: film stencil in drum frame locked (the designer)
Locked: 0.075 mm film (the designer already has it) tensioned in a 3D-printed drum frame, laser-cut in the board jig, used as the near-term paste stencil. To confirm: whether the film is polyimide (Kapton) or polyamide (nylon). Next design: stencil laser jig + drum frame.
Confirmed (12:32 PM ET): film is polyimide (PI), non-adhesive, 0.075 × 500 × 2000 mm roll. Order screenshot saved as refs/stencil/PI_film_0075_order.png.
2026-10-20 12:36 PM ET — Drum-frame stencil design input (the designer)
Film mounting mirrors the designer's resin vat re-filming: lay film over the frame underside with a removable center support to prevent sag; place the clamp ring (recessed screw points) on top; punch the 4 corners and loosely fit the corner screws; then progressively punch, screw and tighten around the perimeter. The ring holes act as the punch guide (no pre-punched sheets). Frame features implied: a removable center support/platen, recessed counterbored screw points in the ring, inserts in the lower frame, a tensioning lip, and pin registration to the jig.
2026-10-20 12:39 PM ET — Decision: stencil frame punching (the designer)
Locked: screw holes are punched as you go by hand (vat method), outside the laser field. Only the stencil apertures are lasered, on the 150 mm galvo lens; the frame registers to the jig so the 140 mm board area sits in the 150 mm field.
Final mounting step (12:40 PM ET): trim excess film outside the clamp ring to keep it out of the way. Frame feature: an outer edge to trim against.
2026-10-20 12:47 PM ET — Drum-frame film stencil v1 modelled (approved 12:41 PM)
cad/stencil_v1/: lower frame 188×188×16 (224 with registration ears), clamp ring 188×188×5, center support platen 155.2×155.2×16, print jig 228×228×12; STEPs (+ assembly with board, film, pins), STL/3MF per part, build script stencil_v1.py, make_3mf.py, verify.py (all STEPs re-import valid, 0 probe fails), BOM.md, PRINT_NOTES.md. 40× M3×8 ISO 4762 into Ruthex RX-M3x5.7 (Ø4.2 × 7.0 holes), pitch 17.7 on a 177 square, outside the 150 field; window 156; rounded 4 mm lip is the lowest surface (ring 1.0 above). Registration: frame on 2× Ø6 dowels at (70,−34) round / (70,174) slot on the board datum axis; board on Ø3 (70,4) + Ø2 (70,136) as v4e. Laser the film on the print jig with the pocket empty: film top = 12.075 above table (−19.525 vs v4e board top). Drawing drawings/stencil_frame_v1.png/.pdf. Est. print 11h25 / 685 g total.
2026-10-20 1:13 PM ET — Drum-frame film stencil v2 modelled (changes approved by the designer Oct 20)
cad/stencil_v2/ (v1 untouched): lower frame 196×196×17.5 (232 with ears), clamp ring 196×196×6, center platen 155.2×155.2×17.5, jig base 234×234×38, lift carrier 158×158×14, lift slider 224×116×17. Tensioning ridge on the frame clamp face (4 wide, 2.5 proud, R1.8 crest, 172 square) + matching 3.0 step in the ring (vat-style tension). 20× M3×12 ISO 10642 countersunk (4 corners + 4 per side, pitch 36.8 on a 184 square; Ø3.4 punch guide, 90° Ø6.9 countersink sunk 0.2) into Ruthex RX-M3x5.7 (Ø4.2 × 7.5). Vertical lift: carrier on 4× Ø6×30 guide posts, wedge-cam slider (pull knob 34 = up, 8 stroke, 18° ramps to dwell flats = hard stop), 4× M3×10 ISO 4026 set-screw feet for fine adjust; board on Ø3 (70,4) / Ø2 (70,136) pins on the carrier, pin tops 0.2 below board top; carrier rim flush = full backing. Frame stays on the same 2× Ø6×26 dowels for laser and print. Laser focus: film top 38.075 above table (+6.475 vs v4e board top), carrier lowered (board 8 below film). Jig underside pocketed. STEPs (+ assembly raised/lowered) re-imported valid, verify.py 61 checks 0 fails. Drawing drawings/stencil_frame_v2.png/.pdf. Est. print ~21h25 / ~1.32 kg (CLI). Supersedes an earlier aborted v2 attempt (no partial files were present).
2026-10-20 1:27 PM ET — Version freeze v10
Frozen to versions/v10_2026-10-20 + OSSO_v10_2026-10-20.tar.gz. Since v9: drum-frame film stencil v1 and v2 (cad/stencil_v1, cad/stencil_v2, drawings/stencil_frame_v1., drawings/stencil_frame_v2.). v2 adds a tensioning ridge, 20× M3×12 countersunk screws into Ruthex M3 inserts, a wedge-slider lift that raises the board 8 mm to the film plane, and a 196 mm frame.
Practice film ordered by the designer (Oct 20): ZXAKAOSI non-adhesive polyimide, 0.075 mm, 200×300 mm, 10-pack, to test the frame and film hold and to practice laser cuts before using the special-order roll.
2026-10-20 1:32 PM ET — Laser alignment test pattern v1
cad/laser_align_v1/ (laser_align_v1.py → .svg/.dxf/_geom.json, README.md); drawing drawings/laser_align_v1.png/.pdf. For practice PI 0.075 film in stencil frame v2 on the jig, 150 lens; board coordinates, field centred on (70,70), extent −4…144. Layers ENGRAVE (job 1: 5 crosshair fiducials at the board corners + centre, X/Y tick rulers 10/5 mm with no baseline, vernier main scales, Ø3/Ø2 pin marks, +X/+Y arrows, triangle flag, "OSSO V1 / TOP"), ENGRAVE_B (job 2 after re-seating the frame: vernier slides 0.9 pitch, 0.1 mm/line → re-seat repeatability), CUT (job 3: 2 blocks × 3 rows (0402 0.5×0.6, 0603 0.8×0.9, SOIC 0.6×1.55) × 5 pass-count columns, 30 holes, 19.5 mm², ≥4.4 edge gap), GUIDE (off). Untested starting settings: engrave 15–25 %/1500–2500 mm/s/1 pass; cut 40–60 %/300–600 mm/s, 1–5 passes. README covers cutting, photographing and what to send back.
2026-10-20 1:39 PM ET — Laser alignment v0: centre-crosshair offset test
cad/laser_align_v0_center/ (laser_align_v0_center.py → .svg/.dxf/_geom.json/_preview.png, README.md). This step comes before v1: it finds only the laser-to-jig offset, so that a field/table-pitch offset does not put power on the PETG frame. ENGRAVE only (no cuts, lowest visible power, focus 38.075): one crosshair at (70,70) (10 mm arms, 0.5 gap, Ø4 ring) plus 5 mm +X/+Y arrows. All within r = 12.2 mm, so a 60 mm offset still stays on the film inside the 156 window. Same page/field convention as v1 (150 page, centre = lens centre). Process: frame/red-dot preview first; afterwards measure the cross centre against the board centre (board raised under the film, or calipers from the Ø3 (70,4) / Ø2 (70,136) pins), or take a square photo with a ruler. the designer sends the photo or dX/dY back, and the correction is computed.
2026-10-20 1:41 PM ET — Version freeze v10 (re-snap)
Re-frozen to versions/v10_2026-10-20 + OSSO_v10_2026-10-20.tar.gz (replaces the 1:27 PM v10 snapshot). Adds the laser alignment test pattern v1 (cad/laser_align_v1, drawings/laser_align_v1.*) and the centre-crosshair offset test v0 (cad/laser_align_v0_center), on top of drum-frame film stencil v1/v2.
2026-10-20 2:06 PM ET — Laser technical summary sheet
refs/laser/LASER_TECH_SHEET.md + laser_tech_sheet.pdf (2 pages): a technical summary of the 10W 355nm UV galvo (CRS-355-10 source, RC1001 Sino-Galvo, JCZ EzCad/LightBurn, water-cooled, 20–150 kHz, <15 ns @ 40 kHz, 0–7000 mm/s, 150×150 and 300×300 fields). It includes tech data only; no commercial details. Neither document gives focal length, working distance, Z travel or M². Spot "0.4–0.7 mm" is flagged as doubtful, and 110 V/50 Hz vs the US plug is flagged as a conflict. The vendor originals are in refs/laser/source_private/, which build_site.py now excludes from the References page. The tech sheet is listed on the References page.
Also fixed in build_site.py: version_files() now skips site/ copies inside snapshots. The v10 snapshot contains site/, and its thumbnail names were nesting until the build failed with 'File name too long'. Nested thumbnails were removed. Build: 23 pages, check_links: 1502 links, 0 problems.
2026-10-20 2:24 PM ET — Decision: board goes in after the film cut
The stencil film is laser-cut with NO PCB in the jig. This avoids marking the board with the out-of-focus beam that passes through the cut openings, and avoids film debris landing on the pads. After the cut, with the frame still on its dowels, place the PCB on the lift carrier (lowered), clear any debris, then lift it to the film plane and print. Applies to stencil v2 and later. The stencil v2 drawing notes will be updated at the next regen.
2026-10-20 9:27 PM ET — Direction: "precision manual" placement of small parts (exploration, no models yet)
the designer's chosen next challenge is placing small parts simply and cheaply for hobbyists, without a robot at first, while still supporting small parts when those are the only ones available. His initial thoughts:
- It's remote controlled (a manipulator), so it doesn't depend on steady hands.
- Inspiration: An Open Source Motorized XYZ Micro-Manipulator - Affordable sub µm Motion Control. Could it be adapted for this?
- Part rotation has to be handled.
- A part tray set up ahead of time is accepted, and it may need its own tool or innovation.
- It should be simpler and more manual than OpenPnP and LumenPnP.
To be discussed Oct 21. Do not build models yet.