OSSO

← Oct 23 Oct 25 →

Journal: Saturday, Oct 24, 2026

  1. 2026-10-24 9:41 AM EDT — Design note: TH parts by jig + underside solder rings
  2. 2026-10-24 9:42 AM EDT — Process flow decision: bottom reflow first
  3. 2026-10-24 9:44 AM EDT — Correction: TH bodies sit on top; top reflow must navigate them
  4. 2026-10-24 9:45 AM EDT — Design rule: lay out boards with reflow in mind
  5. 2026-10-24 9:50 AM EDT — Design note: 3D-printed needle tips
  6. 2026-10-24 9:52 AM EDT — Decision: bond 3D-printed needle tips
  7. 2026-10-24 9:55 AM EDT — Design note: calibration feature for zeroing tips
  8. 2026-10-24 4:37 PM EDT — Component storage and PnP delivery: cells and trays
  9. 2026-10-24 4:38 PM EDT — Correction: 0402 is the smallest part; two cell (carrier) sizes
  10. 2026-10-24 4:39 PM EDT — Decision: cell grid of 10 mm and 20 mm
  11. 2026-10-24 5:22 PM EDT — Decision: oversize parts and a manual park spot
  12. 2026-10-24 5:59 PM EDT — Decision: try the magazine first, as a wall of drawers
  13. 2026-10-24 6:01 PM EDT — Decision: drawer wall behind the bed
  14. 2026-10-24 6:02 PM EDT — Design note: rail detail built into the carrier box
  15. 2026-10-24 6:06 PM EDT — Decision: gravity detent for the drawers
  16. 2026-10-24 6:06 PM EDT — Topic: loading the drawers
  17. 2026-10-24 6:09 PM EDT — Decision: one-row cell carrier as a nested container
  18. 2026-10-24 6:18 PM EDT — Decision: QR code on each one-row carrier, stored as inventory
  19. 2026-10-24 6:22 PM EDT — Decision: names for PnP part storage
  20. 2026-10-24 6:23 PM EDT — Decision: manual strip loading for offline storage
  21. 2026-10-24 6:25 PM EDT — Decision: intelligent camera confirmation when strips load into the matrix
  22. 2026-10-24 6:26 PM EDT — Decision: matrix positions chosen for PnP efficiency
  23. 2026-10-24 6:45 PM EDT — Design logic review: conflicts found
  24. 2026-10-24 6:45 PM EDT — Decision: two hooks, one on the bed and one on the head, open the matrix drawers
  25. 2026-10-24 6:59 PM EDT — Decision: matrix stays at the back; lift latch with no actuator, opened by bump to lift
  26. 2026-10-24 7:06 PM EDT — Snap v15

2026-10-24 9:41 AM EDT — Design note: TH parts by jig + underside solder rings

Oct 24, 2026 · 9:41 AM ET · #

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:

2026-10-24 9:42 AM EDT — Process flow decision: bottom reflow first

Oct 24, 2026 · 9:42 AM ET · #

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:44 AM EDT — Correction: TH bodies sit on top; top reflow must navigate them

Oct 24, 2026 · 9:44 AM ET · #

the designer clarified: TH part bodies sit only on the top side. During the bottom pass the board is upside down in the jig, so the TH bodies are underneath, held by the jig, and their leads point up for the solder rings. Once the board flips for top-side placement and reflow, the TH bodies stand up from the top surface, so the reflow needle (E hot air) and the other needles have to work around them. This replaces the 9:42 AM note's open question about holding TH parts after the flip, and it stays true that top SMD parts won't be reheated. New items to plan: the head's Z clearance and path planning around tall TH bodies, a check that TH plastic bodies don't sit in the hot-air jet next to SMD pads, and keepout rules in the board layout (SMD-to-TH spacing). Notes only.

2026-10-24 9:45 AM EDT — Design rule: lay out boards with reflow in mind

Oct 24, 2026 · 9:45 AM ET · #

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

Oct 24, 2026 · 9:50 AM ET · #

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

Oct 24, 2026 · 9:52 AM ET · #

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

Oct 24, 2026 · 9:55 AM ET · #

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:37 PM EDT — Component storage and PnP delivery: cells and trays

Oct 24, 2026 · 4:37 PM ET · #

Decisions from the designer:

2026-10-24 4:38 PM EDT — Correction: 0402 is the smallest part; two cell (carrier) sizes

Oct 24, 2026 · 4:38 PM ET · #

the designer corrected the 4:37 PM entry: he didn't mean dropping the smallest part package. He meant dropping the smallest carrier (the S cell), because it's too small for a person to handle. 0402 remains the smallest SMT package. There are two cell sizes: M (12 mm, two grid units) and L (18 mm, three grid units). OSSO note: small parts (0402 to 1206, SOT-23) then go in an M-size cell with a small pocket cut for the part, so the pocket fits the part while the carrier stays easy to handle. The 14K resin printer gives the detail those small pockets need. This replaces "nothing smaller than 0603" from 4:37 PM.

2026-10-24 4:39 PM EDT — Decision: cell grid of 10 mm and 20 mm

Oct 24, 2026 · 4:39 PM ET · #

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

Oct 24, 2026 · 5:22 PM ET · #

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

Oct 24, 2026 · 5:59 PM ET · #

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):

2026-10-24 6:01 PM EDT — Decision: drawer wall behind the bed

Oct 24, 2026 · 6:01 PM ET · #

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

Oct 24, 2026 · 6:02 PM ET · #

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

Oct 24, 2026 · 6:06 PM ET · #

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:06 PM EDT — Topic: loading the drawers

Oct 24, 2026 · 6:06 PM ET · #

the designer wants to settle drawer loading next. His starting idea: a tray of loaded parts is the stock source the drawers get filled from. Discussion in progress.

2026-10-24 6:09 PM EDT — Decision: one-row cell carrier as a nested container

Oct 24, 2026 · 6:09 PM ET · #

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:

  1. Part sits in an insert pocket sized for it.
  2. The insert goes into a cell, 10x10 mm or 20x20 mm, on the 10 mm grid.
  3. The cell goes into a one-row carrier (one row of cells).
  4. 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

Oct 24, 2026 · 6:18 PM ET · #

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

Oct 24, 2026 · 6:22 PM ET · #

the designer set these names, from smallest to largest:

2026-10-24 6:23 PM EDT — Decision: manual strip loading for offline storage

Oct 24, 2026 · 6:23 PM ET · #

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

Oct 24, 2026 · 6:25 PM ET · #

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

Oct 24, 2026 · 6:26 PM ET · #

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 — Design logic review: conflicts found

Oct 24, 2026 · 6:45 PM ET · #

the designer asked whether the design logic conflicts anywhere. OSSO found:

2026-10-24 6:45 PM EDT — Decision: two hooks, one on the bed and one on the head, open the matrix drawers

Oct 24, 2026 · 6:45 PM ET · #

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

Oct 24, 2026 · 6:59 PM ET · #

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-24 7:06 PM EDT — Snap v15

Oct 24, 2026 · 7:06 PM ET · #

Frozen to versions/v15_2026-10-24 + versions/OSSO_v15_2026-10-24.tar.gz (the project without versions/, video/, stray root tarballs and ._* files; refs/TOOLS.md copied to the version root), same layout as v14. Since v14 (Oct 23):