← Oct 15 Oct 17 →
Journal: Friday, Oct 16, 2026
- Oct 16, 2026 9:45 AM ET: Concept S (v2), taller slot, stretched companions, no frame anchors
- Oct 16, 2026 9:50 AM ET: Concept T (v2), narrow vertical slot, rotated TH zones
- Oct 16, 2026 9:50 AM ET: Concept T note
- Oct 16, 2026 9:52 AM ET: Concept U (v2), companions to the board edge, interposer skyline
- Oct 16, 2026 10:05 AM ET: Interposer height locked
- Oct 16, 2026 10:10 AM ET: Concept U (v2), stack side view, 10 boards
- Oct 16, 2026 10:11 AM ET: Enclosure envelope
- Oct 16, 2026 10:12 AM ET: Stack vs multilayer
- Oct 16, 2026 10:13 AM ET: Partitioning
- Oct 16, 2026 10:14 AM ET: Spec drives partitioning
- Oct 16, 2026 10:16 AM ET: Concept U (v2), exploded view
- Oct 16, 2026 10:20 AM ET: Concept U (v2), exploded view with section A-A (2 pages)
- Oct 16, 2026 10:22 AM ET: VERSION 2 FROZEN
- Oct 16, 2026 10:46 AM ET: v3 process review, step 1 (fixturing and registration)
- Oct 16, 2026 10:48 AM ET: v3 process review, step 2 (silk removal)
- Oct 16, 2026 10:49 AM ET: v3 process review, step 3 (mask opening)
- Oct 16, 2026 10:51 AM ET: v3 process review, step 4 (in-place stencil)
- Oct 16, 2026 10:51 AM ET: v3 process review, step 5 (paste and stencil removal)
- Oct 16, 2026 10:52 AM ET: v3 process, renumbered
- Oct 16, 2026 10:53 AM ET: v3 process, steps 6b-10 (top-side components only for now)
- Oct 16, 2026 11:00 AM ET: v3 process compiled; alignment recommendations
- Oct 16, 2026 10:59 AM ET: Why top-side components only
- Oct 16, 2026 11:01 AM ET: In-circuit test (ICT) as a stack layer
- Oct 16, 2026 11:02 AM ET: No bare copper rule
- Oct 16, 2026 11:04 AM ET: PINNED, open item
- Oct 16, 2026 11:05 AM ET: Cleaning after mask reveal
- Oct 16, 2026 11:08 AM ET: v3a alignment proposal drawing
- Oct 16, 2026 11:12 AM ET: v3 concept A (alignment changes adopted)
- Oct 16, 2026 11:14 AM ET: Companion board design note (future)
- Oct 16, 2026 11:15 AM ET: Tuning priorities
- Oct 16, 2026 11:17 AM ET: Blank copper weight
- Oct 16, 2026 11:20 AM ET: Blank spec decisions
- Oct 16, 2026 11:22 AM ET: v3 concept B (Ø3.0 pogo pads, blank spec)
- Oct 16, 2026 11:24 AM ET: First Gerber prep (PCBWay upload test)
- Oct 16, 2026 11:30 AM ET: First Gerber set, OSSO BLANK v3b (PCBWay upload test)
- Oct 16, 2026 11:30 AM ET: v3b Gerbers, pin-1 mark restored
- Oct 16, 2026 11:32 AM ET: Via size
- Oct 16, 2026 11:32 AM ET: VERSION 3 FROZEN
- Oct 16, 2026 11:36 AM ET: ENIG gold thickness
- Oct 16, 2026 11:38 AM ET: PCBWay quote
- Oct 16, 2026 11:46 AM ET: Jig pins
- Oct 16, 2026 12:02 PM ET: PCBWay APPROVED
- Oct 16, 2026 12:03 PM ET: Blanks ordered
- Oct 16, 2026 1:40 PM ET: Jig design start
- Oct 16, 2026 1:45 PM ET: Jig concept A (v4a), FDM first iteration
- 2026-10-16 1:48 PM ET — Jig registration plan
- Oct 16, 2026 1:58 PM ET: Jig v4b 3D CAD (concept A)
- 2026-10-16 2:45 PM ET — Version 4 frozen
- Oct 16, 2026 3:17 PM ET: Jig v4b Bambu Studio 3MF projects
- 2026-10-16 3:31 PM ET — Jig material path
- 2026-10-16 10:08 PM ET — Carrier v4b print feedback
- Oct 16, 2026 10:14 PM ET: Jig v4c carrier (face-up, no pockets)
- 2026-10-16 10:35 PM ET — 3MF fix (v4c)
Oct 16, 2026 9:45 AM ET: Concept S (v2), taller slot, stretched companions, no frame anchors
- Wiring slot is now 27x26mm at (103,57), up from 27x12. Same width and x, still vertically centered on y=70. The matching wire-route keep-out in the window is now (10,57,27,26), so the slot and window stay mirror-aligned under the left-to-right flip.
- Companion boards now run from 2mm off the wire route to the outer (top/bottom) end of the window. Lower companion: y 33–55. Upper: y 85–107. Both are x 6.6–45.5, about 39x22mm. Lap pads: 8 per soldered side, 16 per companion, 32 total (was 40), 2.0x1.0mm @ 2.54mm. The 4 M2 companion anchors are kept.
- All 20 perimeter M2 frame anchor drills removed. The corner M3 power standoffs are kept. Callouts renumbered 1–15 (old 14–16 become 13–15).
- TH zones moved out of the taller slot's path. They are now at y0=87 (upper) and y0=45.38 (lower), symmetric about center, with 2mm clearance to the slot.
- Script: drawings/base_v2s.py. Drawing: drawings/osso_base_v2s.png
Oct 16, 2026 9:50 AM ET: Concept T (v2), narrow vertical slot, rotated TH zones
- Wiring slot narrowed to 12x26mm (vertical) at (118,57), centered on y=70. Its right edge stays at x=130, 10mm from the board edge. ("Window" in the designer's request read as the wire slot; the 27x74 window is unchanged.)
- Wire-route keep-out narrowed to match: (10,57,12,26), on the left side of the window, mirror-aligned under the left-to-right flip.
- Companions and pads unchanged: ~39x22mm at y 33–55 and 85–107, 8 pads per side, 32 total. The keep-out height is unchanged, so the 2mm clearance holds.
- TH zones rotated 90° to 4 wide x 6 tall @ 2.54mm. Hole columns x 120.38–128, in line with the slot. Upper holes y 87–99.7, lower holes y 40.3–53. Each keep-out box clears the slot by about 2.6mm.
- Script: drawings/base_v2t.py. Drawing: drawings/osso_base_v2t.png
Oct 16, 2026 9:50 AM ET: Concept T note
the designer: leave the strip freed by the narrower wire route (x 22-37, y 57-83) open for SMT. No extra companion pads and no merged companion.
Oct 16, 2026 9:52 AM ET: Concept U (v2), companions to the board edge, interposer skyline
- The left edge of both companions moves out to the board edge, x=0. Right edges, heights and pads stay as they were. Companions are now 45.5x22mm: lower at (0,33)–(45.5,55), upper at (0,85)–(45.5,107). Still 32 lap pads, 8 per side.
- The companions overlap the interposer ring on purpose. the designer: the 3D print gets "skylined" (cut away) at x 0.5–6.5 over each companion, so the companion and any edge-mounted parts show through. This is new callout 16.
- The strip between the companions (x 22–37, y 57–83) stays open for SMT.
- Script: drawings/base_v2u.py. Drawing: drawings/osso_base_v2u.png
Oct 16, 2026 10:05 AM ET: Interposer height locked
Interposer gap locked at 11.5mm (stack pitch 13.1mm with 1.6mm boards). TH zones clear through the window of the flipped board above when no companion is mounted there. Pin requirement: double-ended, collared, >=1A. Pin choice still TBD; several stocked non-custom options exist at this height (Xinyangze YZD0029-20135-01, YZD0047-25131-01, generic 13mm collared pins). See refs/pogo_selection.md.
Oct 16, 2026 10:10 AM ET: Concept U (v2), stack side view, 10 boards
- New left-side view of the stack (looking at the x=0 edge; horizontal axis is board y 0–140, drawn increasing left to right).
- 10 boards, 1.6mm FR4, 11.5mm gap, 13.1mm pitch: 9x13.1+1.6 = 119.5mm, hardware excluded. Total height, pitch, board thickness and gap are dimensioned.
- B1 (bottom) is unflipped. Even boards (B2..B10) are flipped left-to-right. Assumption: companions are lap-soldered on TOP of the unflipped boards (B1, B3, B5, B7, B9) and sit in the gap above. Flipped boards show the slot/TH side, with no companions.
- Interposer ring hatched in every gap, with skyline cutouts at y 33–55 and 85–107 above the unflipped boards. Pogo columns are shown dashed (hidden). Brass standoffs at y=5 (−) and y=135 (+) run the full height, with a ring terminal, star washer and nut on top and a nut at the bottom.
- Script: drawings/base_v2u_side.py. Drawing: drawings/osso_stack_side_v2u.png
Oct 16, 2026 10:11 AM ET: Enclosure envelope
the designer: the safety over-enclosure target is a 150x150x150mm cube. That leaves about 5mm per side around the 140mm boards and about 30mm of headroom above the 10-board, 119.5mm stack for top-board components, standoff hardware, ring terminals and walls.
Oct 16, 2026 10:12 AM ET: Stack vs multilayer
the designer: a 10-board stack is roughly equivalent to a 20-layer PCB built from economical 2-layer boards. Some signal paths are longer, but total SMT area is much larger. Caveat (OSSO): board-to-board interconnect is limited to the 40 pogo sites per gap, versus vias anywhere on a true multilayer, so it suits modular, bus-style designs.
Oct 16, 2026 10:13 AM ET: Partitioning
the designer: deciding what goes on each board takes extra routing intelligence, but it may need fewer vias, since signals that must be close stay on one board. Idea: a future OSSO software tool that suggests how to split a design across the stack.
Oct 16, 2026 10:14 AM ET: Spec drives partitioning
the designer: the Spec (here, the schematic) drives the decision of what goes on which board. This ties directly to "Open Source Spec to Object": schematic in, board partitioning, laser-ready boards out.
Oct 16, 2026 10:16 AM ET: Concept U (v2), exploded view
- New oblique exploded view: B1 (unflipped, with companions on top), the interposer (ring, 4 pin columns, crossbars, center spine, skyline cutouts, corner clearances), and B2 (flipped left-to-right, no companions). Pogo pins are dashed between the boards. The brass corner standoffs are dashed through all layers, with ring terminals on the + top corners.
- All 16 plan-view callouts plus the side-view items are merged into one table of 23 callouts.
- Simplifications: the vertical explode and the slab thicknesses are not to scale (gap and pitch are given as dimensions). There is no hidden-line removal on the lower board under the interposer. The edge-via circles are simplified.
- Script: drawings/osso_exploded_v2u.py. Drawing: drawings/osso_exploded_v2u.png
Oct 16, 2026 10:20 AM ET: Concept U (v2), exploded view with section A-A (2 pages)
- Page 1 is the exploded view with callout bubbles only, plus the A-A cut through one pogo site in pin column 1. Next to it is a SECTION A-A at 6:1 (relative to the 18x10.5 in sheet). Page 2 has the full notes table (callouts 1–35) and the legend.
- The section shows: B1 and B2 (1.6mm) with their Ø2.0 ENIG pads, the 11.5mm working gap, and the printed column (~4.0mm) in section hatch. The column has a Ø2.1 bore and a collar pocket, and a two-piece print split line at the pocket mid-plane. Also shown: the Ø2.0 barrel with its collar, ~Ø1.2 plungers compressed onto the pads, and the internal spring.
- Pin: Xinyangze YZD0029-20135-01, marked TBD, representative (13.5 free / 11.5 working / 2.0 travel / Ø2.0). Assumed, not from the datasheet: bore Ø2.1, pocket Ø2.8x0.9, collar Ø2.5x0.6, barrel length 7.5, plungers Ø1.2 with ~1mm compression each, column walls ~0.95mm.
- Script: drawings/osso_exploded_v2v.py. Outputs: drawings/osso_exploded_v2v_p1.png, drawings/osso_exploded_v2v_p2.png, drawings/osso_exploded_v2v.pdf
Oct 16, 2026 10:22 AM ET: VERSION 2 FROZEN
the designer snapped the current state as Version 2. Snapshot: versions/v2_2026-10-16 (drawings, refs, journal). Key files: base_v2u (plan, concept U), osso_stack_side_v2u (side), osso_exploded_v2v (exploded view plus section A-A, 2 pages). Locked: 140mm board, 11.5mm interposer gap (13.1mm pitch), corner brass power bus at 10A per rail, 32 companion pads, 150mm cube enclosure. Pin TBD. Everything after this is v3.
Oct 16, 2026 10:46 AM ET: v3 process review, step 1 (fixturing and registration)
the designer: the blank mounts in a jig hard-mounted to the laser optical table. A microscope camera fixed rigidly to the galvo is zoomed on the blank registration mark, and the operator adjusts the jig screws while watching a large video display.
OSSO notes: (1) a fixed camera sees one point, but correcting rotation needs at least 2 widely spaced marks, so the jig must translate between marks or the camera offset must be known; (2) the 140mm blank in the 150mm field leaves about 5mm per side, so the alignment budget is tight; (3) double-sided engraving needs a datum visible from both sides, so consider drilled or plated reference holes (e.g. the corner M3s) rather than surface-only fiducials.
Oct 16, 2026 10:48 AM ET: v3 process review, step 2 (silk removal)
the designer: the engraver removes all silkscreen that should not remain (the inverse of the silk image). The ENIG pads are not silk-covered, so they are excluded, along with cutouts and drills.
OSSO notes: (1) on the blank, the silk must stop about 0.2mm short of all ENIG pads (pogo, corner rings, companion lap pads); (2) laser settings must remove silk without damaging the soldermask, which needs a laser test; (3) the removal image = board outline minus kept silk, pads, cutouts and drills, which can be auto-generated by the Spec-to-Object tool.
Oct 16, 2026 10:49 AM ET: v3 process review, step 3 (mask opening)
the designer: remove the soldermask everywhere copper must be exposed for SMT mounting.
OSSO notes: (1) mask opening comes before copper isolation, so the jig must hold registration between steps; (2) the new openings are bare copper (not ENIG) and need soldering soon, flux or OSP to avoid oxidation; (3) a mask-ablation laser test is needed, and openings should be about 0.05-0.1mm larger than the pads.
Oct 16, 2026 10:51 AM ET: v3 process review, step 4 (in-place stencil)
the designer: apply a flexible adhesive stencil film to the PCB and laser-cut the paste areas.
OSSO notes: (1) the stencil is self-registered, which is a big advantage; (2) use about 0.1-0.13mm polyimide/Kapton-type film (it sets the paste height) with clean peel and no residue; (3) a film-cut laser test is needed so cuts don't mark the exposed copper; (4) paste windows about 90% of pad area, and pogo, corner and companion ENIG pads stay covered (no paste).
Correction (10:52 AM): companion lap pads likely DO get paste (soldered joint); only pogo and corner ENIG pads stay covered.
Oct 16, 2026 10:51 AM ET: v3 process review, step 5 (paste and stencil removal)
the designer: squeegee the paste through the film, then peel the stencil off.
OSSO notes: peel slowly at a low angle while the paste is wet; the jig must hold the board flat under squeegee pressure, and a film border helps the peel; the pogo and corner ENIG pads stay clean under the film.
Oct 16, 2026 10:52 AM ET: v3 process, renumbered
the designer added copper isolation after mask opening. Sequence: 1 fixture and register; 2 silk removal (inverse); 3 mask opening for SMT; 4 copper isolation (engrave negative outlines to define traces, rest stays as ground fill); 5 adhesive stencil film and paste-window cut; 6 paste, then peel stencil.
OSSO notes for step 4: cut goes through mask plus copper (laser test needed, passes depend on copper weight); about 0.15-0.2mm isolation gaps; ground fill ties to the - corner bus; clean debris before stencil film.
Oct 16, 2026 10:53 AM ET: v3 process, steps 6b-10 (top-side components only for now)
6b place components (jig camera can guide); 7 reflow, using a soak profile for the large ground-fill heat sink and keeping the board flat; 8 clean (IPA or wash), dry fully, keep ENIG pogo and corner pads bright; 9 inspect under the microscope camera, then continuity/short test (watch for slivers from isolation); 10 optional conformal coat or OSP on any remaining bare copper. Only top-side SMT for now, so a single reflow; the bottom side carries traces and pads only.
Oct 16, 2026 11:00 AM ET: v3 process compiled; alignment recommendations
- PROCESS_v3.md (and .pdf) has 13 steps: top silk, mask and copper; flip and repeat on the bottom; clean; stencil film; paste; place; reflow; clean; inspect and test; optional coat. It also lists the required laser parameter tests.
- Top recommendations:
- R1: a tooling hole (70,3.5) and slot (70,136.5) on the flip axis x=70, with dowels in the jig. The board self-registers on both sides, and the screws only trim.
- R2: a calibrated camera offset plus a known jig move, to measure rotation from 2 marks.
- R3: move the marks to about 22mm inward, as an asymmetric set.
- R4: plated fiducial holes, visible from both sides.
- R5: ENIG ring and dot marks.
- R6: galvo grid calibration and per-step verification crosses.
- R7: OpenCV crosshair overlay and auto-detection.
- Board changes: R1, R3, R4, R5, and the pin-1 and mirrored-mark clearance.
Oct 16, 2026 10:59 AM ET: Why top-side components only
the designer: components go on the top side only because of tight packaging interference within the stack. It is better to add another layer to the stack than to work around bottom-side parts. Someday simple low-profile passives could go on the bottom, but that complication is avoided for now.
Oct 16, 2026 11:01 AM ET: In-circuit test (ICT) as a stack layer
the designer: ICT can be done with a dedicated test PCB that temporarily acts as another stack layer, using the standard interposer. Extra ENIG test pads (not interposer pads) may be added to boards for this custom ICT. OSSO note: test pads must stay reachable, clear of the printed ring, columns and spine (or the test interposer gets matching holes).
Oct 16, 2026 11:02 AM ET: No bare copper rule
the designer: avoid bare copper. Every laser-exposed copper area gets solder via paste and reflow, including unused (no-populate) pads, which still get paste. All other pads must be ENIG from the factory. Process change: the stencil paste windows include no-populate pads; step 13 (optional coat/OSP) is dropped.
Oct 16, 2026 11:04 AM ET: PINNED, open item
Isolation-cut copper edges (bare sidewall on both sides, bottom never reflowed). Options discussed: conformal coat masked with laser-opened stencil film, or accept the edges and run tarnish tests. the designer may prefer other TBD methods. Unresolved.
Oct 16, 2026 11:05 AM ET: Cleaning after mask reveal
the designer: a cleaning step after the copper reveal lets the laser "just barely" get through. OSSO: IPA removes loose soot but not charred mask film; plan a stop-short laser pass, then IPA, then a light mechanical scrub (fiberglass pen or Scotch-Brite) or a mild flux wipe. Add the cleaning method comparison to the mask-off-copper laser test.
Status (11:06 AM): cleaning method after mask reveal is TBD and will be decided by laser testing.
Oct 16, 2026 11:08 AM ET: v3a alignment proposal drawing
- Script: drawings/align_proposal_v3a.py. Drawing: drawings/align_proposal_v3a.png. base_v2u.py is unchanged.
- Left side shows the current marks, with the 150mm field outline. Right side shows the proposal:
- Ø3.0 NPTH hole at (70,3.5), round dowel.
- 2.0x3.0 slot at (70,136.5), diamond dowel.
- Fiducials A (22,22) and B (118,22) as plated Ø0.3 holes with ENIG rings. They are each other's mirror, so the same holes register both sides.
- Fiducial C (118,112) on top. Its bottom mirror C' is at (22,112).
- Edge-stop zones on y=0 and y=140 (x 15-125), no-stop along x=0, Ø13 clamp keep-outs at the corner rings, and a 10mm distortion band.
- Detail D shows the fiducial design.
- Collision check found no conflicts:
- Edge vias: the hole and slot sit on x=70, which is skipped in the via rows. The nearest vias are at 64.92 and 75.08.
- Companions: C' keep-out edge is 2.5mm above the upper companion (top at y=107).
- Pin-1 is at least 7mm away. TH zones and the pogo block are clear.
- Notes:
- The hole and slot sit under the interposer ring band (0.5-6.5), so the printed ring must not have bosses there.
- The hole edge is 2.0mm from the board edge.
- A/B and their mirrors coincide by design.
- The current (128,128) mark mirrors onto the pin-1 triangle; the proposal removes this.
Oct 16, 2026 11:12 AM ET: v3 concept A (alignment changes adopted)
the designer accepted all of align_proposal_v3a (R1-R8). The v2 files are untouched.
- drawings/base_v3a.py → osso_base_v3a.png
- Fiducials A (22,22) and B (118,22) are Ø0.3 plated holes with an ENIG ring (2.0 outer / 1.0 inner). C (118,112) is a surface mark.
- Ø3.0 non-plated tooling hole at (70,4.0) and a 2.0x3.0 slot at (70,136.0). I moved them inward from 3.5, which gives a 2.5mm edge web with 1.5mm to the edge-via pads, still under the ring.
- New callouts 17-21: tooling hole, tooling slot, jig edge stops, no-stop edge at x=0, clamp keep-outs. Callout 14 updated and title changed to v3 concept A.
- drawings/osso_exploded_v3a.py → _p1.png, _p2.png and .pdf
- New fiducials and tooling hole/slot on both boards, plus new callout 24. The section callouts are renumbered 25-36.
- drawings/base_v3a_side.py → osso_stack_side_v3a.png
- New callout 10 for the jig no-stop edge (x=0) and callout 11 for the hidden tooling hole and slot.
- PROCESS_v3.md and .pdf
- Steps 1 and 5 now register on the dowel hole and slot plus fiducials A and B, which are visible from both sides. C (or C' on the bottom) is the orientation check.
- R1-R8 are marked ADOPTED.
Oct 16, 2026 11:14 AM ET: Companion board design note (future)
the designer: some companion boards may extend beyond the overall 140mm outline to allow large or specialty components. OSSO note: this affects the 150mm enclosure (it needs openings or a larger shell) and the no-edge-stop side at x=0.
Oct 16, 2026 11:15 AM ET: Tuning priorities
Most tuning expected: (1) SMT copper exposure (mask off without char or copper damage); (2) copper isolation (clean cut, no slivers or FR4 damage); (3) stencil film cut, which lands on freshly exposed bare copper and must not mark it (the designer). Silk removal is expected to be easier.
Oct 16, 2026 11:17 AM ET: Blank copper weight
Decision: blank uses 1oz (35um) copper. Remaining blank-only decisions: mask and silk color/type for UV ablation; thickness and ENIG spec; pogo pin and column width; drill and plating specs; what fixed silk ships on the blank.
Oct 16, 2026 11:20 AM ET: Blank spec decisions
- Mask: BLACK. Silk: WHITE, full coverage (removed areas reveal black; best camera contrast).
- Board 1.6mm FR4, 1oz copper, standard ENIG thickness.
- Pogo pads: generous, so a later pin change won't deprecate old base boards; OSSO recommends Ø3.0 ENIG (was Ø2.0), which fits the 5.08mm pitch.
- Drilling and plating per standards for now.
- Nothing preprinted: no logo or branding (open source spirit).
Oct 16, 2026 11:22 AM ET: v3 concept B (Ø3.0 pogo pads, blank spec)
- drawings/base_v3b.py → osso_base_v3b.png, copied from v3a.
- Pogo pads go from Ø2.0 to Ø3.0 ENIG. They are generous on purpose, so a later pin change does not make older boards obsolete.
- Clearance check: no via moves were needed.
- The channel vias sit at dx 5.08 / dy 2.54 from the pads: 5.68mm center to center, 3.68mm edge to edge to the Ø1.0 via pads.
- Pad to pad in a column (5.08mm pitch): 2.08mm.
- Between columns (10.16mm): 7.16mm.
- The pads fit inside the 4.6mm printed columns (0.8mm each side).
- Added a BLANK SPEC block to the notes:
- 140x140mm, 1.6mm FR4, 2-layer, 1oz copper.
- Standard ENIG, black mask, full white silk fill with no preprinted text or branding.
- Drills and plating per fab standard. I assumed the M2 anchors are non-plated; this needs confirming.
- Callout 9 and the title updated.
- drawings/osso_exploded_v3b.py → _p1.png, _p2.png and .pdf: the pads are Ø3.0 in the exploded view and in section A-A, with notes updated. The section column is drawn 4.0mm wide over the 3.0mm pad, which is fine.
Oct 16, 2026 11:24 AM ET: First Gerber prep (PCBWay upload test)
Confirmed: the M2 companion anchors are NPTH. Before generating, sizes still to set: via drill/pad, TH zone drill/pad, fiducial hole size (0.4mm suggested), M3 plated 3.2mm. Non-standard fab notes: full silk flood over copper (no clipping except pulled back from ENIG), full copper pour both sides fully masked, ENIG only on exposed pads, isolated pads in pour intentional, NPTH callouts, routed NPTH slot, tight tolerance on tooling datum, no order number or markings, single boards with no panel tabs.
Oct 16, 2026 11:30 AM ET: First Gerber set, OSSO BLANK v3b (PCBWay upload test)
- Script: fab/gen_v3b_gerbers.py (hand-written RS-274X X2 + Excellon; no KiCad on box). Output: fab/v3b_blank/, zip fab/OSSO_blank_v3b_gerbers.zip. Rendered back with gerbv: fab/render/*.png, preview fab/v3b_blank/OSSO_blank_v3b_preview_top.png.
- Layers: GTL/GBL, GTS/GBS (negative, openings), GTO/GBO (full flood), GTP/GBP (empty), GKO (outline + cutouts), PTH and NPTH drills (.TXT).
- Copper: full pour both sides, 0.3 pull-back from edge, cutouts, NPTH. Islands: pogo Ø3.0 in Ø4.0 clear (40, both sides); corner Ø7 in Ø9 clear; lap pads 2.0x1.0 with 0.4 gap (32, top); fiducials ring OD2.0/ID1.0 with Ø0.7 land on the Ø0.4 plated A/B holes, C top dot Ø0.3 at (118,112), C' bottom at (22,112); copper cleared to Ø4.0 around each fiducial so the mask-free area shows only the ring.
- Vias (71: 27 channel + 44 edge) and TH zones (48) tie directly into the pour (simplest; laser isolates later).
- Mask openings: pads +0.05 radial; fiducials Ø4.0. Silk flood pulled back 0.2 from openings/holes/edge/cutouts, Ø5.0 at fiducials. Pin-1 triangle and all text omitted (flood only).
- Outline: R4 corners per v3b (not square). Window 27x74 (R5) included as a routed CUTOUT: v3b callout 3 says "27x74 mm cutout", and the stack concept (wire route, companions bridging it, TH zones seen through it) depends on it. Set WINDOW_CUTOUT=False in the script if it should be solid. Wiring slot 12x26 (R4) is a cutout.
- Vias made 0.3 drill / 0.6 pad per this request; the v3b notes text still says Ø0.6/Ø1.0 (mismatch to resolve).
Oct 16, 2026 11:30 AM ET: v3b Gerbers, pin-1 mark restored
the designer: "no markings" means no labels or branding only; all alignment marks stay. Pin-1 triangle added as a silk VOID (black mask shows): top (13,127)-(19,127)-(13,121); bottom mirrored under the L-R flip at (127,127)-(121,127)-(127,121), so it reads top-left when the flipped board is viewed from its own side. Clearance: C/C' keep-outs end at y=114.5, corner clamp rings at x 130.5, top TH zone ends at y 99.7, so no collisions. Verified present: A (22,22), B (118,22) Ø0.4 plated + rings both sides; C (118,112) top; C' (22,112) bottom; tooling hole Ø3.0 (70,4.0); slot 2.0x3.0 (70,136.0). FAB_NOTES item 9 updated, zip regenerated, top/bottom previews refreshed.
Oct 16, 2026 11:32 AM ET: Via size
the designer accepted the 0.3mm drill / 0.6mm pad vias as used in the Gerbers. The v3b Gerber set is conceptual, for PCBWay pricing and technical verification. Drawing notes (Ø0.6/Ø1.0) to be corrected in the next drawing revision.
Oct 16, 2026 11:32 AM ET: VERSION 3 FROZEN
Snapshot: versions/v3_2026-10-16 (drawings, refs, fab, process, journal). Key: base_v3b plan, exploded_v3b plus section, side_v3a, PROCESS_v3, Gerbers OSSO_blank_v3b (PCBWay concept test). Blank spec: 1.6mm FR4, 1oz, ENIG, black mask, white silk flood, Ø3.0 pogo pads, dowel hole and slot, fiducials A/B/C. Everything after this is v4.
Oct 16, 2026 11:36 AM ET: ENIG gold thickness
Test board: 1u" immersion gold (PCBWay default). Later revisions: consider upgrading to 2u" for wear on the repeatedly mated pogo and corner contact pads.
Oct 16, 2026 11:38 AM ET: PCBWay quote
Oct 16, 2026 11:46 AM ET: Jig pins
the designer: use two plain round dowel pins, a snug one in the Ø3.0 tooling hole and a Ø2.0 one in the 2.0x3.0 slot (free along y on x=70). The slot replaces a diamond pin. Use ground h6 dowels with chamfered tops; the round-hole pin is slightly taller.
Oct 16, 2026 12:02 PM ET: PCBWay APPROVED
Oct 16, 2026 12:03 PM ET: Blanks ordered
the designer ordered the 5 OSSO_blank_v3b boards from PCBWay using store credits (low risk). Purpose: real-material laser tests (silk, mask, isolation, film) instead of scrap.
Oct 16, 2026 1:40 PM ET: Jig design start
Laser table: M6 threaded holes on a 25x25mm grid, blind and only about 4-5mm deep. Implications: short screws, low torque, so use many fixing points; a stiff aluminum base plate (~200x200, 6-10mm) with 8+ M6; dowels on the flip line under the galvo center; a top plate with push-pull X/Y/rotation fine adjust; clear the area under the cutouts; hold the board flat (vacuum or edge clamps). Need: galvo center vs grid, focal height.
Oct 16, 2026 1:45 PM ET: Jig concept A (v4a), FDM first iteration
the designer: the first jig is an FDM print, made for iterating, not aluminum.
- Script: drawings/jig_v4a.py. Outputs: jig_v4a_p1.png (plan, section B-B, push-pull and dowel details), jig_v4a_p2.png (notes and FDM caveats), jig_v4a.pdf.
- Base: printed, 200x200x18, fits a bed of 210mm or larger. For a 180mm bed, split it into two 100x200 halves with a tongue-and-groove joint and 3 M4 bolts. 4mm skins top and bottom, with 3mm ribs on a 25mm grid. PLA+/PLA-CF, or PETG/ASA if it runs warm.
- Table screws: 12 M6 at the 25mm grid points on the ±75 ring. Ø13 counterbore with 6mm of plastic under the head, M6x12 with a DIN125 washer, about 4.4mm of engagement into the 4-5mm blind holes, low torque.
- Carrier: printed, 160x160x12, with the support face printed on the bed. It has Ø12 access holes over the M6 screws and 4 M4 lock screws in slots into heat-set inserts in the base.
- Dowels: ground h6 steel, press-fit with retaining compound into reamed 100%-infill bosses (printed Ø2.8/Ø1.8, then reamed). Ø3 at (70,4.0) sits 1.0mm above the board; Ø2 at (70,136.0) sits 0.5mm above.
- Fine adjust: push-pull with M3 screws in heat-set inserts. Station X is on the left; Y1 and Y2 are on the bottom side, 90mm apart, and their difference sets rotation. Range ±3mm; 1/8 turn = 0.06mm.
- Relief pockets, 2mm deep: window, slot, corner rings, fiducials, TH zones.
- 4 toe clamps on the y=0 and y=140 edges at x=30 and x=110 only.
- FDM caveats: flatness (consider a bonded aluminum or FR4 face), creep, dowel wear, UV laser hitting plastic (clip job images to the board, use metal or sacrificial-card-covered clamp tips and margins), heat (no reflow in the jig), and squeegee flex.
- Open: galvo center vs the table grid, and focal height. If the galvo center is off-grid, regenerate the base with the offset.
2026-10-16 1:48 PM ET — Jig registration plan
- Printer: Bambu P1S (256×256 bed), high-flow PETG, 0.6 nozzle. Jig base 200×200 prints in one piece. Next jig revision: switch notes from PLA to PETG and size walls/ribs for 0.6 nozzle.
- Software: LightBurn. Plan: galvo lens calibration, red-dot trace on fiducial A to set X/Y push-pull, fiducial B for rotation; Print and Cut as an alternative.
- Decision: jig base stays on-grid for now; offsets to the table grid get tuned once PCBs arrive and the designer reports how close it lands.
Oct 16, 2026 1:58 PM ET: Jig v4b 3D CAD (concept A)
- CadQuery 2.8 model, folder cad/jig_v4b/: jig_v4b.py (source), jig_v4b.step (assembly: base, carrier, ghost_board), jig_v4b_base.stl, jig_v4b_carrier.stl (support face on the bed), PRINT_NOTES.md, preview_*.png, verify.py.
- Target: Bambu P1S, HF PETG, 0.6 nozzle. Base is one piece, 200x200x18, modeled solid. Ribs come from the slicer: 5 walls, 40% gyroid, 100% modifiers at the dowel bosses, inserts and counterbore floors. Three push-pull posts (24x12, 12 mm tall) on the base top.
- Kept from v4a: 12 M6 (Ø6.6 thru, Ø13 cb, 6 mm floor) on the ±75 ring; carrier 160x160x12 with Ø12 access and 4 M4 4.5x10 slots over Ø5.6x10 insert holes; dowel bosses Ø2.8x10 at (70,4) and Ø1.8x9 at (70,136), to ream to Ø3/Ø2; 2 mm pockets (window, slot, TH zones, corner rings Ø11, fiducials Ø6); toe-clamp M3 inserts (Ø4.0x6.5) at x=30/110 on y=-3/143. M3 inserts are Ø4.0x6.5 and M4 inserts Ø5.6x10 (CNC Kitchen spec).
- Deviations: (1) the Ø12 access holes break out of the 160 carrier (the ring sits 5 mm from the edge), so they're modeled as open U-notches; (2) the X push-pull station moved from y=100 to y=70 to clear the M6 notch at y=95; (3) on Y1 the push/pull order is swapped (push x=30, pull x=20) so the pull insert misses the toe-clamp insert at (30,-3); (4) pockets have a 1 mm margin around the features, as in v4a; the mirror keepout lies inside the window pocket.
- Verified: STEP reimports as 3 valid solids; both STLs are watertight with consistent winding; probe points confirm the holes and pockets.
- Open: galvo center vs grid and focal height (offset still 0); toe-clamp hardware choice; dowel seat depths to set on assembly; flatness check after printing.
2026-10-16 2:45 PM ET — Version 4 frozen
- Snapshot: versions/v4_2026-10-16 + OSSO_v4_2026-10-16.tar.gz. Includes jig v4a drawings and jig v4b CAD (STEP/STL/print notes). Next snapshot: v5.
Oct 16, 2026 3:17 PM ET: Jig v4b Bambu Studio 3MF projects
- Added cad/jig_v4b/jig_v4b_base.3mf and jig_v4b_carrier.3mf, plus the generator make_3mf.py. Each has one plate with the part flat and centered. Saved through the Bambu Studio 02.08.02.61 CLI (AppImage on the box, headless).
- Presets: Bambu Lab P1S 0.6 nozzle / 0.30mm Standard @BBL X1C 0.6 nozzle (no P1S-named 0.6 process exists) / Bambu PETG HF @BBL X1C 0.8 nozzle (the system HF profile whose compatible list includes the P1S 0.6; 245 °C). Textured PEI.
- Settings: 0.30 layers, 0.62 lines, 5 walls, 40% gyroid, 6 top / 5 bottom, no supports. 100% infill modifiers: base 19 (M6 cb floors, M4 inserts, posts); carrier 9 (dowel bosses, clamp inserts, pull inserts).
- Validated: both files reload and slice in the CLI with no errors. Gcode settings match. Estimates: base 8 h 22 m / 487 g, carrier 3 h 47 m / 216 g.
- Open: the designer to confirm the presets load in his Studio version and the plate type.
2026-10-16 3:31 PM ET — Jig material path
- First jig prints in black PETG HF (HF 0.6 nozzle, Cool Plate SuperTack) for mechanical/fit tests. Note: black PETG marks easily under laser; clip jobs to board, cover margins.
- Plan: once dialed in, the designer may have an aluminum CNC jig made. OSSO to convert the parametric CAD to a machinable design (reamed dowel bores, tapped holes instead of heat-set inserts).
2026-10-16 10:08 PM ET — Carrier v4b print feedback
- First carrier print (face-down): dowel pin holes collapsed without supports.
- Decision: print carrier support-face UP next revision; the designer judges PCB flatness matters more than print-face flatness (OSSO agrees: PETG top surface well within galvo focal depth; watch warp/pillowing).
- Decision: remove all relief pockets (cutouts are factory-routed, ENIG pads fine on plastic); full flat support face.
- More refinements from the designer pending before regenerating.
Oct 16, 2026 10:14 PM ET: Jig v4c carrier (face-up, no pockets)
the designer's first carrier print (v4b, support face down): the dowel holes collapsed without supports, and the first layers were messy while the top layers were perfect.
- New folder cad/jig_v4c/. Files:
- jig_v4c.py (from v4b), jig_v4c.step (base + carrier + ghost board)
- jig_v4c_base.stl (unchanged geometry), jig_v4c_carrier.stl
- jig_v4c_base.3mf, jig_v4c_carrier.3mf, make_3mf.py
- verify.py, render.py, preview_carrier_faceup_iso.png, preview_carrier_edge_iso.png
- PRINT_NOTES.md
- Carrier changes:
- All relief pockets removed (window, slot, TH zones, corner rings, fiducials). The support face is fully flat; the cutouts are factory-routed and ENIG sits fine on plastic.
- Prints support face UP, with the base-mating face on the bed. The dowel holes (still Ø2.8 x 10 / Ø1.8 x 9 undersize, to ream) are open-topped blind holes.
- The pull-insert (Ø4.0) and push-pad (Ø7x1) horizontal edge holes are now truncated 45° teardrops, so they need no support.
- Everything else is vertical or through: M4 slots, M6 U-notches, clamp inserts.
- The 0.6 mm chamfers stay on the outer perimeters only.
- 3MF presets:
- Printer: P1S 0.6 nozzle with nozzle flow = High Flow (no separate P1S HF printer preset exists; it's the HF variant of the P1S 0.6, max volumetric 29 mm³/s).
- Process: 0.30mm Standard @BBL X1C 0.6 nozzle.
- Filament: Bambu PETG HF @BBL X1C 0.8 nozzle, black.
- Plate: Cool Plate SuperTack, 70 °C.
- Modifiers kept: base 19, carrier 9.
- Validated:
- STEP reimports as 3 valid solids; both STLs watertight.
- Probe points check the flat face, open dowel tops and teardrops.
- Both 3MFs reload and slice headless in BS 02.08.02.61. Estimates: carrier 3 h 23 m / 217 g, base 7 h 46 m / 488 g.
- Notes: let the part cool fully on the plate before removal; check flatness with a straightedge. Black PETG absorbs UV, so keep it out of the beam.
- Open: the designer to confirm High Flow shows in his Studio nozzle settings and the presets load.
2026-10-16 10:35 PM ET — 3MF fix (v4c)
- jig_v4c 3MFs failed in the designer's Bambu Studio 02.08.02.60 ("Invalid configuration file", no geometry). Cause: High Flow nozzle setting expanded per-variant arrays (Standard + High Flow) in project_settings.config.
- Fix: jig_v4c_carrier_safe.3mf / jig_v4c_base_safe.3mf use the v4b settings block (known good) with only plate=SuperTack and color=black changed; the designer sets Nozzle flow = High Flow in Studio. Confirmed opening on his Mac.
- Lesson: for 3MFs, do not bake High Flow variant arrays; let user toggle nozzle flow.