Decisions & design rules
Journal entries tagged as decisions, rules, design notes, or locked values, oldest first. Newer entries supersede older ones.
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 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: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: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).
2026-10-19 9:06 AM ET — Corner standoff confirmed
- the designer modeled a standard 12mm M3 male-female hex standoff between two boards on the corner ring pads (refs/designer_standoff_12mm_cad_2026-10-19.png). Looks good; adopted as the corner power-bus fastener (brass, 12mm body).
2026-10-19 10:25 AM ET — DECISION: 20A system max
- System (multi-stack chain) max is 20A: 12 AWG daisy-chain wire with matching ring terminals (12–10 AWG), 4 stacks × 5A.
- The first stack's terminals, ring pads and left-to-right pass-through path must be rated for the full 20A, not 5A (wide copper pour or off-board bus; TBD).
2026-10-19 11:33 AM ET — DESIGN NOTE: top/bottom board used as bottom board
- the designer: the bottom board is reflowed before stack assembly, so its large components are mounted on the inverted side and hang downward. The pogo landing then faces up into the interposer above, and the interposer spacing (12.0mm gap, 13.6mm pitch) stays the same as for every other board.
- Same board design serves as top board (large parts up) or bottom board (flipped, large parts down). Requires stack feet / base clearance at least the height of the hanging parts.
2026-10-19 12:36 PM ET — DECISION (the designer): unified companion board size
- The 5.0 mm mains transformer zone becomes a COMPANION BOARD.
- Every companion in the system uses ONE size and window: the base 27x74 R5 window at (10,33), with 32 lap pads (2.0x1.0 @ 2.54) and 4 M2 Ø2.2 NPTH anchors, as in base v3b / gen_v3b_gerbers.
- A companion can carry 5.0, 3.96, 3.5 or a custom pitch. A mains companion holds transformer + fuse/MOV/X-cap/bridge with its own isolation, so the top board no longer needs a mains moat.
2026-10-19 4:00 PM ET — DECISION (the designer): mains companion uses a 5.08 mm (0.200 in) grid
- The first mains/transformer companion uses a 5.08 grid, not 5.0, so US/inch-grid transformers fit. The CL2-5.0R-12 drawing shows 5.08 pitch.
- The 5.0 mm metric grid is still possible as an alternate companion variant.
- Board: double-width 74x39 (host top v1g x 33–107, y 94.5–133.5). It solders to both lap-pad sets, with 4 M2 anchors.
- TH grid: 65x Ø1.3 PTH / Ø2.5 land (2.58 mm web), 13 cols x 5 rows centred on (70,116.5): x 39.52–100.48, y 106.34–126.66. That fills the window footprint. Lands are at least 2.09 from the window edge (R5 corners included) and 5.27 from the board edge. A 6th row or 14th column would leave lands closer than 1 mm to the window.
- 6 mm moat: 47 holes are primary-OK, meaning at least 6 mm land-to-copper from every lap pad and anchor (host-connected = SELV). The other 18 sit in the band, at minimum 2.69 mm to a lap pad, and are for secondary use only.
- In the end rows (y 106.34 and 126.66), only x 59.84–75.08 are primary-OK. It isn't symmetric, because the lap pads carry the base's 1.22 mm phase offset.
- Mains L/N come in by wire or terminal on the companion, never through the lap pads.
- The representative transformer has 2x5 pins at x 59.84–80.16, rows 20.32 apart. Pin x 80.16 in each end row falls inside the band. A real part has to shift 5.08 left, or have no primary pin there. Confirm pin count and row spacing from the CL2 datasheet.
- Files: cad/top_middle_v1g/make_top_v1g_mains_508.py (v1g originals kept) produces OSSO_companion_mains_double_74x39_508_board.step and OSSO_top_v1g_with_mains_companion_508.step. Hole data: mains_companion_508_geom.json. Drawing: drawings/mains_companion_508_v1.py → osso_mains_companion_508_v1.png/.pdf.
2026-10-19 7:40 PM ET — DECISION (the designer): enclosure and stack height are per-build, not fixed
- The 150 mm cube and the 10-board stack are NOT system constraints. A stack can be 3 boards with tall top components, or taller than 10. Headroom above the top board (and feet below a bottom board) is set per build.
- Earlier height verdicts tied to "26 mm over a 124 mm stack" (top v1a, PSU fit v1) were illustrative only. Fit studies now check plan view, the 6 mm mains spacing and mechanical support.
2026-10-19 7:59 PM ET — DESIGN RULE: companions are standalone-testable
- Every companion must be testable on its own, without the base/top board: all parts of its function live on the companion, with test access for input and output (terminals/test points), and it must sit stably on its own (feet/standoffs).
2026-10-19 8:41 PM ET — Design rule: on-board PSU limit
Anything larger than 8VA uses a dedicated external power supply, not an OSSO companion.
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: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 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 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: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 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: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: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: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 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: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 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-21 8:15 AM ET — Decision: OSSO PnP architecture, G-code coarse moves with human fine control
- Platform: a "bed slinger" 3D printer motion system with the print head removed and replaced by a custom vacuum pickup head.
- Coarse moves (everything except the last few mm) are G-code, generated from the known placement coordinates on the PCB and the known coordinates of each part's position in the tray.
- Fine control happens on a movement actuator on the head, using jog commands: nudge X/Y/Z, rotation and vacuum on/off. The human runs these while watching a microscope camera on a monitor.
- This is deliberately different from OpenPnP/LumenPnP: no vision-automated placement; the machine does the travel and the human does the final alignment.
No models yet.
2026-10-21 8:16 AM ET — Decision: PnP fine motion
Fine XYZ moves use the printer's own axes in small jog steps. The custom head only needs to add rotation (theta) and the vacuum. No separate micro-manipulator stage for now.
2026-10-21 8:19 AM ET — Decision: PnP part tray
- A 3D-printed tray made for each specific PCB, with each cell sized to its component.
- The tray is loaded before the board gets paste, so every part is ready.
- The tray rides on the bed slinger beside the PCB and registers to the same datum, so the G-code can move automatically to each part's cell for pickup, then fine jog takes over.
2026-10-21 8:22 AM ET — Decision: PnP tray loading
Tray loading is a separate step done ahead of time on the same machine. The operator advances the part tape through a tape jig by hand to expose the next part. G-code moves the head to the tape pickup point, then to that part's tray cell. The human makes the final pick and drop, the same way as at placement.
2026-10-21 8:24 AM ET — Decision: PnP operator controls
The operator controls X, Y, Z, rotation and vacuum on/off. X/Y/Z use the printer's own axes. Rotation is driven by the extruder (E) axis and vacuum by the fan output (M106/M107), both triggered from G-code on the head.
2026-10-21 8:27 AM ET — Decision: PnP camera alignment
One angled microscope camera with a calibrated digital crosshair or part-outline overlay on the monitor. Alignment is judged at a fixed hover Z above the pad, then Z drops straight down. Calibrate once by placing a test part and locking the overlay to where it lands. No second camera, mirror or prism.
2026-10-21 8:33 AM ET — Decision: PnP chassis accuracy scope
The bed slinger does not need to be precise. The camera and operator absorb all slop, such as backlash, squareness and endstop error, when landing each part. The chassis only has to hold the part without dropping it, and travel without crashing into placed components or the tray walls: safe travel height, Z clearance and smooth motion. Priorities this sets: safe-Z travel moves, gentle acceleration, and secure vacuum hold during travel.
2026-10-21 8:34 AM ET — Confirmed: PnP chassis requirements
the designer confirmed all current chassis notes as requirements:
- safe-Z travel above the tallest part or tray wall
- vacuum hold check (pressure sensor that pauses on a drop)
- gentle Y acceleration
- dowel-located tray and board on a repeatable bed plate
- cable/hose management (drag chain or strain relief)
- e-stop
- even camera lighting
Precision homing and backlash fixes are not required; the camera and operator absorb the slop.
2026-10-21 8:39 AM ET — Decision: PnP rotation strategy
The camera is fixed and only the nozzle rotates. Rotation is limited to very small fine trims, within about ±5°. All 90°, 180° and 270° rotation happens at the tape jig: the operator feeds the tape into the jig at the right starting orientation, so each part goes into its tray cell already facing the way it will be placed. The overlay crosshair or outline never rotates, and the head stays light.
2026-10-21 8:40 AM ET — Decision: tray cells keep part rotation
Each tray cell is shaped and rotated to hold its part in the final placement orientation (set at the tape jig) and keep it there. Placement from the tray therefore needs only minor rotation correction (fine trim), the same as loading.
2026-10-21 8:43 AM ET — Decision: PnP nozzle rotation drive
Only the nozzle and a short flexible silicone tube rotate (±5°). There is no rotary seal and no hollow-shaft motor. The valve, sensor and camera stay fixed. The drive is a very small stepper (on the E axis) through a gear reduction, keeping moving parts to a minimum. The nozzle runs in a bearing or bushing so it spins true.
2026-10-21 8:44 AM ET — Decision: PnP rotation gear
The nozzle holder carries a lever-arm gear sector with only enough teeth to mesh with the stepper pinion over ±5° plus margin. No full gear.
2026-10-21 8:51 AM ET — Design note: PCB engraving as a placement aid
The laser engraving on the PCB can be designed to help the camera crosshair and outline overlay, through deliberate graphics such as part outlines or courtyard marks, corner ticks, pin-1 marks, local fiducials and center marks. These would make manual alignment faster and more accurate. To be developed later; no action now.
2026-10-21 8:52 AM ET — Design note: engraved labels for human confirmation
At each placement position, the laser engraves a tiny text label (e.g. the reference designator) inside the camera's view at the crosshair, so the operator can confirm the G-code brought the head to the right part before placing. The part tray gets the same treatment: each cell has a printed or engraved index/label that matches the G-code prompt. To be developed later; no action now.
2026-10-21 8:54 AM ET — Design note: nozzle changes are manual
For now the human operator changes nozzles by hand. There is no automatic tool changer. G-code pauses with a prompt (e.g. 'fit nozzle N502') when the next part needs a different nozzle.
2026-10-21 8:56 AM ET — Decision: PnP operator controls (game controller)
Wired handheld game controller, used while watching the video monitor. Mapping: left stick = X/Y step nudge (discrete steps, not analog speed); D-pad = single X/Y steps, D-pad up/down = step size 1/0.1/0.01mm; triggers = Z down/up (Z down needs a deliberate hold); bumpers = rotation trim -/+; A = vacuum on (pick); B = vent (release); Start = continue to next part; Back/Select = pause/skip. Separate hardware e-stop, not on the controller.
2026-10-21 8:57 AM ET — Decision: 3-position enabling pedal plus a separate e-stop
The foot pedal is a 3-position enabling switch: released = stop, middle = run (motion allowed), stomped through = stop (panic). A separate e-stop button stays on the machine.
2026-10-21 8:59 AM ET — Decision: PnP nozzle uses a Luer-lock needle
The nozzle is an off-the-shelf Luer-lock blunt dispensing needle. It mounts on a Luer fitting on the rotating holder, which carries the gear sector and lever arm (one printed part, ideally resin). The needle tip is not printed. Nozzle changes are a manual swap of Luer tips, sized by gauge to the part.
2026-10-21 9:00 AM ET — Decision: PnP head illumination
The head has an illumination LED for the camera view. It may come built into the camera (many USB microscopes have a ring LED). Add a separate diffused LED only if the camera's light is missing or causes glare.
2026-10-21 9:01 AM ET — Decision: PnP dedicated LED (supersedes camera LED)
Don't use the camera's built-in LED. A separate LED sits in a 3D-printed mount on the head, so its angle and position can be tuned by reprinting the mount until the lighting is right. After that, only the brightness is adjusted (e.g. PWM from a spare printer output or a simple dimmer).
2026-10-21 9:11 AM ET — Decision: PnP platform printer
the designer wants more controllable outputs for future actions. Leading pick: Elegoo Neptune 4 Pro (stock Klipper, several fan outputs that can be remapped, 225×225×265 bed, about [amount removed]–239 at us.elegoo.com). Stage 1 uses it unmodified. Not yet purchased.
2026-10-21 9:23 AM ET — DECISION (the designer): PnP stage 1 printer
Ordering two "Damaged as Parts Only" Elegoo Neptune 4 units (about [amount removed] each plus shipping, NV Liquidation, eBay item 266477091033) to combine into at least one working PnP platform. The seller warrants one fully working unit per two bought, or free replacement parts. The mainboard is shared across the Neptune 4/Pro/Plus/Max. The bed is about 235x235mm: the 140x140 OSSO board plus a combined tray/tape jig strip about 78mm wide with 5 lanes (drawings/osso_pnp_bed_n4_v1). Companion boards use the swap-mode layout.
- 9:28 AM ET: the designer confirmed the order is placed for 2 Neptune 4 parts units.
2026-10-21 9:38 AM ET — DECISION (the designer): use existing film first
the designer will use his existing 0.075mm polyimide film first. The ZXAKAOSI practice pack becomes backup stock.
2026-10-21 10:16 AM ET — DECISION (the designer): paste dispensing on its own machine
Paste is dispensed (not filament or stencil-squeegee on the PnP) from a custom applicator head on a dedicated bed-slinger, separate from the PnP machine. Each machine shares a common jig datum so boards move between them without re-registering, and each runs a pre-run calibration. Details to be defined later. Background: the designer considered a filament with embedded paste and set it aside (the flux and solder heat window conflicts, binder residue, and dot volume control).
2026-10-21 10:21 AM ET — DECISION (the designer): pre-tinned boards (two-stage solder)
Boards are tinned ahead of time. Stage 1: flux, place a solder sphere per pad, reflow with no parts, which leaves exact, repeatable domed solder on each pad and can be inspected by camera. Stage 2 (end user): tacky flux only, place parts, reflow. Things to watch: parts rocking on domed pads (tacky flux, or flatten or coin the pads), two reflows on ENIG (test this), and sphere sizing or count for large pads. Earlier option logged: spheres plus flux for BGA and array pads, paste for chip parts. The paste dispenser on its own machine stays the general path, and it can dispense flux too.
2026-10-21 10:22 AM ET — DECISION (the designer): ball stencil for pre-tinning
Pre-tinning uses a laser-cut ball stencil: a film mask with one hole per pad, laid on the fluxed board. Spheres are poured on, the extras are swept off, the mask is lifted, and the board is reflowed with no parts. It is made with the stencil v2 frame and the laser. For 0402, pads are about 0.5mm and spheres about 0.25-0.3mm. The PnP (30-32 gauge Luer needle, vacuum) is used only to replace a missing ball, since placing balls one at a time is too slow. Watch for static or sticking on release (a puff of air, a grounded tip).
2026-10-21 10:34 AM ET — DECISION (the designer): standard ball size and ball stencil film
- Standard sphere: 0.25mm SAC305, one size only, with volume set by ball count (about 0.008 mm³ per ball). Estimates to confirm by test: 0402 about 1-2 balls, 0603/0805 about 3-6, larger and thermal pads get a slot or grid sized for N balls.
- The ball stencil uses its own film, separate from the 0.075mm paste stencil film. Recommended thickness is about 0.2mm (0.7-1x the ball diameter) so balls are held while the extras are swept off.
- Apertures are about 1.2x the ball diameter (0.30mm), or a slot about N x 0.27mm long for N balls. To be calibrated with laser tests.
2026-10-21 10:36 AM ET — DECISION (the designer): stencil-free ball dispensing head (supersedes ball stencil)
Tinning uses a ball dispensing head on a bed-slinger instead of a ball stencil: no stencil, no per-board mask. Proposed concept (not yet confirmed): a hopper of 0.25mm SAC305 balls, then a singulator (an E-axis pocket disc), then a short gravity drop tube about 0.5mm above the pad. N balls per pad set the volume, and an optical gate and/or camera confirm each drop. Flux is applied first (dispenser). The earlier 0.2mm ball stencil film entry is superseded.
2026-10-21 11:47 AM EDT — Design note: separate machines today, one machine later
the designer's design note: in time, all operations (paste or flux dispensing, ball tinning, pick and place) can be collapsed into one machine. For simplicity and maintenance, they stay as separate machines today, each sharing the common jig datum.
2026-10-21 12:15 PM EDT — BR-G1 decision: FR4 PCB over laser-cut 304 stainless
the designer compared the BR-G1 gear disc as a PCBWay laser-cut 304 stainless part with the fab-made 0.30mm FR4 PCB. The costs are very similar, but PCBWay lists laser cutting at ±0.1mm, which is too loose for the 0.30mm pockets, while a PCB's drilled unplated holes hold ±0.05mm with tighter hole positions. Decision: make BR-G1 as an FR4 PCB using pcb/br_g1_v1. The laser STEP and DXF in pcb/br_g1_v1/laser/ are kept as an alternate, for a precision etching or fiber-laser shop later.
2026-10-21 12:29 PM ET — DECISION (the designer): flux dispensing for tinning = syringe head on its own Neptune 4
Flux for the tinning step is dispensed by a syringe applicator on its own Neptune 4 (bed-slinger). It uses the same common jig datum and pre-run calibration as the other machines. The flux is tacky gel flux pushed by a stepper-driven plunger (leadscrew or the E-stepper) through a 22-25ga blunt tip, with a suck-back retract after each dot to prevent stringing. Flux dots must be tacky enough to hold a 0.25mm ball in place. Backup: pin transfer (dip a pin in a thin flux film, then touch the pad). A brush or felt stripe was considered but not chosen. Not confirmed yet: whether the paste machine shares the same syringe head design. Concept drawing: drawings/osso_flux_syringe_head_v1.
2026-10-21 12:39 PM EDT — Decision: spray conformal finish after assembly
Laser-cutting isolation lines through the mask and copper leaves the trace edges as bare copper (about 35µm tall for 1 oz copper). the designer decided to spray a conformal finish after assembly for confidence. The suggested coating is acrylic (for example MG Chemicals 419D), which seals the exposed edges and can still be reworked through. The specific product isn't chosen yet.
2026-10-21 1:05 PM ET — DECISION (the designer): universal OSSO Test Board, hybrid matrix
Pin assignments belong to each board under test and change from board to board. To keep the number of tester designs and copies small, the tester is universal: all 40 interposer sites get identical flexible channels, and the per-board test script assigns each site's role.
- Chosen architecture (hybrid): an analog switch matrix connects any site to shared buses (GND, current source and sense, ADC, drive/GPIO) for shorts, continuity and voltage. A subset of sites can also be switched to fast MCU pins for functional signals (I2C/SPI/UART), chosen by the script.
- Board ID: each board under test carries an ID (EEPROM or an ID resistor on a known site). It is read first, and the matching pin map and tests are loaded.
- Earlier decisions today, already journaled: the DC rail runs through the corner posts via the tester e-fuse (12:59 PM); the standard interposer and pins, with all or more sites populated (1:00 PM); the tester sits under the board under test with a quick clamp (1:00 PM).
2026-10-22 9:38 AM EDT — Design note: farm model (high level)
the designer: The process may be slow per board, but if operations are combined into one machine, many machines can run in parallel on longer jobs, like a 3D printer farm. Implications: optimize each machine for low cost, reliability, and unattended runtime rather than speed; throughput scales by adding machines; standardized heads, tools, and jigs ease farm maintenance. This fits the consumer-printer-based machine design and the earlier note that operations can eventually collapse into one machine.
2026-10-22 9:47 AM EDT — Single-machine scope decisions (ideation)
Decisions (the designer): Test stays a separate station. A second side is done by a manual board flip. Conformal coating is manual. The laser can mark the board at any time and may assist with supplemental ablation steps (TBD). Parts tray concept: one carrier plate holding the blank and parts, registered on dowels at the tooling hole and slot, loaded in and an assembled board out. Next topic: through-hole pads.
2026-10-22 9:55 AM EDT — Cost comparison basis: high volume (decision)
the designer: Price comparisons use high-volume pricing. Low-quantity/low-cost sourcing choices are business decisions, not design ones. At volume, TH washer preforms cost about the same as paste metal (~[amount removed]/g; Alpha HF850 SAC305 washer, [amount removed]/60k reel, https://www.hisco.com/Product/278163-1998), so about 1x, versus 15–30x in small lots. A header joint needs ~1.6 mm³ (~[amount removed]). A washer sized for a 1.0mm hole appears to be quote-only.
2026-10-22 9:58 AM EDT — Two job types: bottom and top (decision)
the designer: The machine runs two job types. Bottom job: bare blank only, laser the bottom side, then alert the operator. The operator flips the board, loads the parts tray/kit, and starts the top job. Top job: top laser, flux, ball drop, tin inspection, reflow, flux, PnP, reflow, clean, all unattended. The parts tray is only needed for the top job.
2026-10-22 9:59 AM EDT — Bottom and top jobs can run on different machines (decision)
the designer: Bottom and top jobs don't have to run on the same machine. Each machine does its own job alignment check at job start (dowel registration plus a camera fiducial find, and probing where needed), so a board can move between farm machines between jobs.
2026-10-22 11:12 AM EDT: Cleaning needle is the base tool for the first tool-drop prototype (decision)
the designer: The first tool-drop prototype uses the IPA cleaning needle as its tool. It is the simplest tool (hose-fed, no reservoir, metering or heat). The early risk to test is the IPA and air hoses flexing at the pivot. The PoC is a single tool station cycled on a regulated compressed air feed, built so we can try it.
2026-10-22 5:17 PM EDT: Pneumatic ball dispenser ratchet decision
the designer chose the 24-tooth printed ratchet for osso_ball_dispenser_pneumatic_v1. Each pulse is 15 degrees (2.62 mm pawl travel, 3.0 mm cylinder stroke to a hard stop). The fill stays aligned with a pocket at rest, and one ball drops every two presses (fill pulse, then exit pulse).
2026-10-23 7:43 AM EDT: Design note: all metric, minimize fastener sizes
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
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
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 9:27 AM EDT - Tool drop: magnet hold sizing result and Plan B decision
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 1:48 PM EDT - Design note: 3D manifold on the head (notes only)
the designer: matrix all of the multiple air lines to the tools in a 3D manifold, to reduce tubing and connectors in the moving head. No drawing or model requested yet.
2026-10-23 1:48 PM EDT - Design note: resin printing for better seals (notes only)
the designer: use resin printing for the manifold and pneumatic parts for a better seal. To check: brittleness at thin walls and threads (use inserts or metal fittings), post-cure and wash, O-ring material compatibility. No drawing or model requested.
2026-10-23 8:29 PM EDT, Decision: all-metal Luer needles for consistency
- the designer: use all-metal (stainless needle, stainless hub) Luer-lock needles for consistency across the needle stations. Five stations today: A flux, B PnP vacuum + θ, C ball drop 23 ga, D IPA clean + air dry, E hot-air reflow (six if dry splits from clean).
- E keeps the standard Luer lock: stainless Luer socket on the arm, heat break between heater and socket (protects arm, EPM latch, printed parts), swappable all-metal tips in several gauges, startup camera gauge check and Z touch-off apply.
- Watch-outs: the metal taper must seal without elastomers (or a high-temp PTFE/graphite washer) on E; cool-down before a manual swap or a safe-to-touch signal; stainless thread galling (light high-temp anti-seize).
- Notes only; no drawing or model.
2026-10-23 8:33 PM EDT, Decision: larger bed slinger base
- Five tool-drop stations at 22 mm body width give about 110 mm head width side by side (114-118 mm with 1-2 mm gaps; rough, not modelled). Reaching a 140x140 mm OSSO PCB with every needle needs about 228 mm X travel, which a standard 220-235 mm bed slinger barely covers with no margin for cameras, probing and parking.
- the designer: use a larger (300 mm class) bed slinger base. Watch Y moving mass (heated bed, carrier, zoned heater). A staggered two-row head stays an option to cut the needle spread.
- Notes only; no drawing or model.
2026-10-23 8:34 PM EDT, Design note: solder ball drop above the needle array
- the designer imagines the solder ball dispenser (hopper + disc) fitting above the needle array, complex but feasible. Keeps head width at about 110 mm. Costs: head height and a higher center of mass on the moving head. The ball path must work with station C's folding arm (feed aligned with the pivot or a short flexible guide). Notes only.
2026-10-24 9:41 AM EDT — Design note: TH parts by jig + underside solder rings
the designer proposed an aligned jig holding the through-hole (TH) parts with the board on top, then placing solder rings (preforms) from the underside and spot reflowing them. the designer's reasoning:
- The ring has to be placed precisely, but once on, the TH lead holds it in place.
- Spot reflow has a better chance from the underside because the parts body isn't in the way.
- It leaves room in the process for SMT parts on the bottom side if they're really needed.
OSSO notes: this reuses the existing top-down head and E hot air, gives a known solder volume per joint, and the jig can be a 3D-printed part made for each board. Experiments to run: picking and placing the ring over the lead (a new PnP move or a ball-drop variant), lead trim length, heat soak on big pins and ground pads, relief pockets in the jig for top-side SMD, and a datum so fiducials line up. Red flags: none; preforms are stock parts (Indium, Kester), though small-volume pricing still needs checking. Notes only.
2026-10-24 9:42 AM EDT — Process flow decision: bottom reflow first
the designer decided the bottom-side reflow (TH solder rings from the jig, plus any bottom SMT) comes first in the process flow, before top-side SMT. OSSO notes: a benefit is that top-side SMD parts can't reflow a second time when the TH joints are heated, and the jig doesn't need relief pockets for top parts. Still to plan: how TH parts stay held when the board is flipped for top-side work, and whether their bodies need pockets in the top-side fixture. The process flow drawing (drawings/osso_process_flow_v1.py) isn't updated yet. That waits for a command.
2026-10-24 9:45 AM EDT — Design rule: lay out boards with reflow in mind
the designer set a rule: PCB layout planning has to account for OSSO's reflow process (design for reflow). OSSO notes on what that covers: SMD-to-TH keepouts so the top hot-air needle has a clear path and the TH plastic bodies stay out of the jet, needle-height clearance around tall TH parts, TH pads sized for solder ring preforms, thermal relief on TH pads tied to ground planes so one-sided spot reflow can heat them, and enough spacing between SMD parts for the local hot-air spot. Notes only.
2026-10-24 9:50 AM EDT — Design note: 3D-printed needle tips
the designer noted that if a needle needs a specific tip geometry, a 3D-printed tip can be added to it. The retract, deploy and calibration methods then have to compensate for the tip, and so do the motion kinematics and path planning. OSSO notes: every tip variant needs its own length/offset and mass, so each one needs a tool offset from calibration and an updated clearance envelope for path planning (for example around TH bodies). Watch-outs: printed plastic near E hot air, or near reflow temperatures, needs a heat-rated material or shouldn't be used there. The tip also adds mass that can change deploy timing and the latch/magnet margin. Notes only.
2026-10-24 9:52 AM EDT — Decision: bond 3D-printed needle tips
Thread-tapping a stainless needle tube was ruled out: the walls are too thin (about 0.15 mm at 23 ga, about 0.25 mm at 14 ga) for any thread, even a custom one. the designer chose bonding printed tips onto the needle. His reasons: it keeps the mass low, and the tip's alignment (angle and orientation) gets fixed once at bonding. OSSO notes: use a high-temperature epoxy wherever heat is nearby. A small alignment fixture at bonding time would set the tip's clocking repeatably, and calibration then measures the final tip offset. Bonded tips are permanent, so a tip change means swapping the whole needle on its Luer. Notes only.
2026-10-24 9:55 AM EDT — Design note: calibration feature for zeroing tips
the designer noted that a tip may need a calibration feature so that any tip, or any plain blunt needle, can be zeroed (its XYZ offset found for that station). OSSO notes, as ideas only: a reference feature on the tip itself (a flat, a notch, or a small ring visible to the camera), matched by a fixed datum on the machine such as a touch-off plate, an optical break-beam or a camera view of the tip. Zeroing would then run the same way for a bare needle or a bonded tip, and the measured offset would feed the motion kinematics and path planning. Notes only.
2026-10-24 4:39 PM EDT — Decision: cell grid of 10 mm and 20 mm
the designer changed the cell grid to 10 mm so the columns and rows are easy to read. The small cell is 10x10 mm (one grid unit) and the large cell is 20x20 mm (2x2 units, so it takes the place of four small cells). Replaces the 12 mm / 18 mm sizes on a 6 mm grid. OSSO notes: pockets inside each cell stay sized to the part. A 10 mm cell holds parts up to about 7–8 mm, such as SOIC-8 and QFN up to 5–6 mm, while TQFP-32 at 9 mm is borderline. A 20 mm cell holds parts up to about 16–17 mm, covering TQFP-44 and 64 (12 mm). Tray positions can be addressed by column/row times 10 mm from the datum corner. Notes only.
2026-10-24 5:22 PM EDT — Decision: oversize parts and a manual park spot
the designer set the rule that any part bigger than the 20 mm cell goes on a special carrier or gets placed manually. That means the machine needs a park spot where someone can set a part by hand for PnP pickup. OSSO notes: give the spot a fixed position the head can reach, a datum corner or a shallow tapered nest so the part sits roughly square, and a camera check so B can fix the rotation before picking it up. The process would pause until someone confirms the part is in place. The spot could also take parts that are odd shapes or that were reworked. Notes only.
2026-10-24 5:59 PM EDT — Decision: try the magazine first, as a wall of drawers
the designer chose to try the magazine (cell shuttle) delivery first, while keeping the other options (tray on the bed, tray off the bed, indexing cassette) open: "We're too early to not try." His concept: a wall of drawers next to the work area, where the PnP vacuum needle (B) opens and closes the drawers itself, with no dedicated drawer motors. Experiment, not a red flag.
OSSO ideas to explore (notes only):
- Drawer handle: a socket or tapered hole on each drawer front. The needle (or a printed tip on it) drops into it and drags the drawer open along X/Y, then pushes it closed. Or the needle hooks a small lip, so no vacuum is needed to pull.
- Detents: a light spring or magnet detent holds each drawer shut and holds it fully open at a known stop, so the cell positions are repeatable for pickup.
- Wall placement: drawers face the head at a reachable height. Their stacked levels mean either Z reach for the head, or each drawer opening onto a shared pickup shelf at one height.
- Drawer contents: one row of 10/20 mm cells per drawer, and the open drawer exposes the cells to the camera and the needle.
- Force check: the drag force on the drawer goes sideways through the needle and Luer. It has to stay well under what bends a needle or shifts the Luer, so a stiffer pull tip could be used just for drawers.
- Sensing: the camera confirms the drawer is open and the cell is present before picking.
2026-10-24 6:01 PM EDT — Decision: drawer wall behind the bed
the designer placed the drawer wall behind the bed. His reasoning: on a bed slinger the bed never rises, so the drawer and pickup heights can sit at a fixed reference relative to the work surface. OSSO notes: with the bed run toward the front (full Y), the head reaches back past it to the drawers, so Y travel or the frame needs room for the drawer depth plus an open drawer. The drawers would open forward (toward -Y) when the needle pulls them, which matches the head's natural pull direction. The bed's rear edge, at its rearmost travel, must clear an open drawer, or the drawers have to be closed before the bed moves back. Notes only.
2026-10-24 6:02 PM EDT — Design note: rail detail built into the carrier box
the designer noted that a rail detail built into the carrier box (drawer) makes sense. OSSO notes: printed side rails (a tongue, or a dovetail riding in a slot in the wall) guide each drawer in Y with no separate slide hardware. The rail can also carry an open-stop and a closed detent, so the open position is repeatable for pickup. Watch-outs: friction and slop, since the needle has to drag the drawer, and print tolerance on the rail fit. A PTFE dry lube or a small rolling contact could keep the drag force low. Notes only.
2026-10-24 6:06 PM EDT — Decision: gravity detent for the drawers
the designer chose a gravity detent over a magnet per drawer, since magnets in every drawer add up to a lot of magnets. The rails tilt slightly so each drawer falls shut on its own. To open a drawer, the needle has to lift the front over the closed stop and then pull. OSSO notes: a short ramp at the closed end makes that lift-and-pull motion the only way a drawer opens, so vibration from the bed can't open one by accident. The open position is held by a hard stop while the needle is still in the handle. Notes only.
2026-10-24 6:09 PM EDT — Decision: one-row cell carrier as a nested container
the designer defined the loading scheme. The stock tray is a set of one-row cell carriers, loaded at stock-loading time, so a single tray can hold more than one component type. The one-row carrier is another nested container type. Once a part is in its carrier, it stays there until it's placed, which lets every move after loading be automatic.
Container hierarchy as of now:
- Part sits in an insert pocket sized for it.
- The insert goes into a cell, 10x10 mm or 20x20 mm, on the 10 mm grid.
- The cell goes into a one-row carrier (one row of cells).
- Carriers are loaded into the stock tray (a set of carriers), then moved into drawers in the drawer wall behind the bed (gravity detent, opened by lift-and-pull with the needle, rail built into the carrier box).
OSSO notes: the carrier's footprint becomes the common interface, so drawer, stock tray and rail details are all sized to it. Each carrier could carry a readable ID (printed code or notch pattern) so the camera knows which parts it holds. Notes only.
2026-10-24 6:18 PM EDT — Decision: QR code on each one-row carrier, stored as inventory
the designer decided each one-row carrier gets a QR code, on both its edge and its top. A loaded carrier can be stored as inventory the way a drawer is. OSSO notes: the edge code can be read while carriers stand in storage or sit in a drawer, and the top code can be read by the head camera during pickup. The QR maps to a record (component type, cell positions, quantity left), so the carrier itself is the stock unit. A small edge code limits how much data fits, so it should hold an ID that points to the record, not the data itself. On a 14K resin print the QR could be embossed or a label could be applied. Notes only.
2026-10-24 6:22 PM EDT — Decision: names for PnP part storage
the designer set these names, from smallest to largest:
- Part: the component.
- Nest: the shaped pocket the part sits in (was "insert pocket").
- Pod: holds one part, 10x10 mm or 20x20 mm on the 10 mm grid (was "cell").
- Strip: one row of pods, with a QR code on its edge and top (was "one-row carrier").
- Tray: the holder of strips inside the machine (was "stock tray").
- Matrix: the drawer wall at the back of the machine, behind the bed. It's grid-based (column/row), uses gravity detents, and opens with lift-and-pull by the needle (was "drawer wall").
- Offline drawer: where loaded strips are kept as inventory off the machine.
In short: a part sits in a nest, in a pod, on a strip. Strips are stored in an offline drawer and run from a tray or the matrix in the machine. These names replace the earlier working terms in all future notes.
2026-10-24 6:23 PM EDT — Decision: manual strip loading for offline storage
the designer decided that loading parts into strips for offline drawer storage is manual for now. A person puts each part into its nest and pod on the strip. Automated loading stays a possible later step.
2026-10-24 6:25 PM EDT — Decision: intelligent camera confirmation when strips load into the matrix
the designer wants the camera to confirm parts intelligently as strips are loaded into the matrix. OSSO notes on what it could check: read the strip's QR (top) to pull its record, then look at each pod to confirm a part is present, that it's the expected package or marking, and that its orientation and polarity are right. Any mismatch flags that pod before placement starts. This catches mistakes from manual strip loading, and it keeps the inventory record up to date. Experiment, not a red flag. Notes only.
2026-10-24 6:26 PM EDT — Decision: matrix positions chosen for PnP efficiency
the designer decided that the machine picks where each strip goes in the matrix to make PnP efficient, not so a human can find things. The QR code and the inventory record track where every strip is, so people never need to know matrix positions. OSSO notes: the machine can put frequently used or soon-to-be-placed parts in the drawers closest to the head's path, group parts by placement order to shorten moves, and reorganize between jobs. Notes only.
2026-10-24 6:45 PM EDT — Decision: two hooks, one on the bed and one on the head, open the matrix drawers
the designer chose to open drawers with existing motion. There's one hook on the bed and one on the head. The combined bed (Y) and head (X/Z) moves pull a drawer open and bring it into the head's reach. The head hook is offset from the needle, so the needle no longer works as the drawer handle. OSSO notes: this removes the drawer-drag loads from the B needle, its Luer and the tool-drop latch (tension 2), and it uses no added motors. The head hook adds a little mass to the head and has to clear the five stations, the ball hopper and C's fold. The lift-and-pull over the gravity-detent stop could come from the head hook's Z, while the bed hook supplies the long Y pull. To check: hook engagement tolerance, the order of moves to open and close, and making sure the bed can't move with a drawer half open. Experiment, not a red flag. Notes only.
2026-10-24 6:59 PM EDT — Decision: matrix stays at the back; lift latch with no actuator, opened by bump to lift
the designer kept the matrix at the back, fixed next to the gantry. He chose the non-actuator latch: the gravity detent is the latch itself. The drawer drops into a notch when it closes and opens with a bump to lift. OSSO clarified that the head moves only in X and Z, so the head hook can lift (Z) and move along X but can't pull in Y. Working sequence: (1) the head hook bumps the drawer front up with Z, out of its notch; (2) the bed hook, moving in Y, pulls the drawer forward into the head's reach; (3) the bed pushes the drawer home to close it, and gravity drops it back into the notch. No added parts, motors or magnets. To check: how much lift clears the notch, whether bed motion or vibration can unseat a drawer, and the timing hand-off between the head lift and the bed pull. Notes only.
2026-10-25 8:15 AM EDT — Design rule: minimal tray movement
the designer: the tray moves into position without interfering with bed operations, and tray movement is kept to the minimum needed to reach parts. Implication: the slide indexes to the strip that's needed (a partial extension), not full travel every time, and parks clear of the bed whenever the bed is working.
2026-10-25 8:16 AM EDT — Motion planning by AI rule set
the designer: the coordination of tray, bed, and needle is a complex ballet, but AI will handle the rule set. The rules so far: jerk-limited moves for loose parts, the tray never interferes with the bed, minimal tray movement, fast needle moves, picks grouped by strip, and keepouts around TH bodies. The planner sequences the moves within those constraints.
2026-10-25 11:14 AM EDT — Design note: companion boards as snap-outs inside the 140x140 board
the designer: the current 140x140 middle and top boards are just the start. Next version: the same board, with companion boards on its interior as a snap-out frame. Same alignment marks and frame drills. No interposer. For now the template drills and cuts with snap-outs (tabs). Later, when a higher-powered 355 nm laser is available, the laser can drill and cut the companions out.
2026-10-25 11:50 AM EDT — Rule: all boards share the same frame fiducials
the designer approved: every OSSO board (middle, top, test, companion panels) uses the same fiducials on the outer frame: A (22,4), B (118,4), C (118,136), C' (22,136), with the tooling hole (70,4) and slot (70,136) unchanged. The jigs and camera fiducial positions need updating to match.
2026-10-25 11:58 AM EDT — Confirmed: corner drills not needed on card panels
the designer: as long as the jig can hold these boards, the corner (power) drills aren't essential. The card panels drop the M3 corners; the jig registers on the tooling hole (70,4), slot (70,136), and the frame fiducials.
2026-10-25 11:59 AM EDT — Rule: hold all boards the same way
the designer: hold all boards the same way to reduce jig types. Proposed common hold: dowels in the tooling hole (70,4) and slot (70,136), clamping on the 8 mm top/bottom frame rails clear of the fiducial keep-outs, with no dependence on the corner drills. Applies to the middle, top, test, companion, and card panels.
2026-10-25 1:28 PM EDT: Five skeleton decisions (the designer)
- Frame: custom 2020/2040 extrusion frame with a bed-slinger layout (the head moves in X and Z, the bed carries Y).
- Head: 5 stations in one row (~118 mm).
- Laser: overhead in front of the gantry, 150 mm lens.
- Enclosure: fully enclosed, interlocked front door.
- Electronics: bay under the bed, external compressor.
Team: specialist roles run in the background under OSSO. Next is the skeleton assembly (overall size, zero point, travel budget, placeholder blocks).
2026-10-25 1:38 PM EDT: Skeleton v1 built; laser decision
Skeleton v1 (integration/skeleton_v1.*): the frame is 540W x 720D x 800H. Travel is Y 345, X 290, Z 100, tray 232. Nothing collides with the tray parked. Interlocks: head Z high while the tray is extended, and no lasing unless the tray is parked. TODO items 23-27 were added.
the designer: the laser source connects directly to the galvo as one unit, like a typical engraving machine. There's no extra fiber or mirrors, and the chiller is external.
2026-10-25 7:05 PM EDT: the designer's 10/25 decisions applied; Laser & Optics mount v1 built
- 6:45 PM: Applied the designer's decisions. (a) Station E's heater is now closed-loop from a K thermocouple at the nozzle. Its lead runs with the hose to a MAX31856 board beside SSR 2; the outlet TC and thermal fuse stay as the hard cut-out. (b) Housings stay at about 0.5 kg; no change. (c) Tray pins are Ø1.4 steel with 0.1 play in the Ø1.5 sprocket hole (confirmed in tray.py, BOM and assembly). (d) The bay's mains filter moved to X 400-480, Y 340-395, so the heater gap goes from 12 to 212 mm.
- 6:55 PM: Regenerated skeleton_v3d, frame_motion, head and tray STEP files and renders. Checks: skeleton 384 cases, only the expected tray-row-8 beam cases (96). Head self and interface checks clean (the first run caught the TC against the E nose; added a Ø1.8 pass). Tray clean. frame_motion iface_check shows only the tray flag inside the back-out slot sensor, which is the sensing condition.
- 7:00 PM: Laser & Optics mount v1 (cad/laser_optics): 33 bodies, 38 BOM lines, 14 assembly steps. A 6 mm alu carriage plate on 2 MGN12H (70 apart) carries the source on FDM shelves and straps, and the galvo on an FDM spacer. Beam Z matches the galvo mid-height (543.6 at WD 230). Moving mass 10.6 kg (7 kg source assumed). Focus motor SF 2.1; self-locking. Interference: 0 unexpected hits. Open: weights, galvo mounting, motor size, top clearance at WD 270 (6.4).
- TODO 49-52 added.
- 7:20 PM: Laser & Optics answers from the designer. The galvo is factory flange-attached to the source and hangs from its flange, so I removed the printed spacer and shortened the carriage plate to X 380-660; the shorter plate also now reaches under the rear shelf. Source weight is PENDING (the designer will weigh it; 7 kg placeholder). Kept the 40 mm NEMA17, the fused-silica window, and the 6.4 mm top clearance. Loads: 2.2 Nm on the flange at rest (2.4 kg galvo+lens, 95 mm lever), shelves 68 N front / 24 N rear, both upward, straps unloaded; the rear shelf unloads only below a 2.7 kg source. Motor SF 2.1. Interference: 0 unexpected hits.