OSSO

← Oct 20 Oct 22 →

Journal: Wednesday, Oct 21, 2026

  1. 2026-10-21 8:15 AM ET — Decision: OSSO PnP architecture, G-code coarse moves with human fine control
  2. 2026-10-21 8:16 AM ET — Decision: PnP fine motion
  3. 2026-10-21 8:19 AM ET — Decision: PnP part tray
  4. 2026-10-21 8:22 AM ET — Decision: PnP tray loading
  5. 2026-10-21 8:24 AM ET — Decision: PnP operator controls
  6. 2026-10-21 8:27 AM ET — Decision: PnP camera alignment
  7. 2026-10-21 8:30 AM ET — PnP machine concept drawing v1
  8. 2026-10-21 8:33 AM ET — Decision: PnP chassis accuracy scope
  9. 2026-10-21 8:34 AM ET — Confirmed: PnP chassis requirements
  10. 2026-10-21 8:39 AM ET — Decision: PnP rotation strategy
  11. 2026-10-21 8:40 AM ET — Decision: tray cells keep part rotation
  12. 2026-10-21 8:43 AM ET — Decision: PnP nozzle rotation drive
  13. 2026-10-21 8:44 AM ET — Decision: PnP rotation gear
  14. 2026-10-21 8:47 AM ET — PnP head concept drawing v1
  15. 2026-10-21 8:51 AM ET — Design note: PCB engraving as a placement aid
  16. 2026-10-21 8:52 AM ET — Design note: engraved labels for human confirmation
  17. 2026-10-21 8:53 AM ET — Clarification: placement labels are test-run marks
  18. 2026-10-21 8:54 AM ET — Design note: nozzle changes are manual
  19. 2026-10-21 8:56 AM ET — Decision: PnP operator controls (game controller)
  20. 2026-10-21 8:56 AM ET — Decision: PnP e-stop is a foot pedal
  21. 2026-10-21 8:57 AM ET — Decision: PnP foot pedal is an enable switch (supersedes e-stop pedal)
  22. 2026-10-21 8:57 AM ET — Decision: 3-position enabling pedal plus a separate e-stop
  23. 2026-10-21 8:59 AM ET — Decision: PnP nozzle uses a Luer-lock needle
  24. 2026-10-21 9:00 AM ET — Decision: PnP head illumination
  25. 2026-10-21 9:01 AM ET — Decision: PnP dedicated LED (supersedes camera LED)
  26. 2026-10-21 9:05 AM ET — Plan: PnP progressive feasibility build, stage 1 (motion only)
  27. 2026-10-21 9:11 AM ET — Decision: PnP platform printer
  28. 2026-10-21 9:23 AM ET — DECISION (the designer): PnP stage 1 printer
  29. 2026-10-21 9:29 AM ET — VERSION v11 snapped
  30. 2026-10-21 9:35 AM ET — FUTURE TO-DO (logged, not started): AI placement layer
  31. 2026-10-21 9:37 AM ET — STATUS: OSSO boards shipped
  32. 2026-10-21 9:38 AM ET — DECISION (the designer): use existing film first
  33. 2026-10-21 9:43 AM ET — the designer to-do list started (TODO.md), ordered by learning sequence.
  34. 2026-10-21 10:05 AM ET — RESTORE
  35. 2026-10-21 10:16 AM ET — DECISION (the designer): paste dispensing on its own machine
  36. 2026-10-21 10:21 AM ET — DECISION (the designer): pre-tinned boards (two-stage solder)
  37. 2026-10-21 10:22 AM ET — DECISION (the designer): ball stencil for pre-tinning
  38. 2026-10-21 10:24 AM ET — PRINCIPLE (the designer): prepare and verify before placement
  39. 2026-10-21 10:34 AM ET — DECISION (the designer): standard ball size and ball stencil film
  40. 2026-10-21 10:36 AM ET — DECISION (the designer): stencil-free ball dispensing head (supersedes ball stencil)
  41. 2026-10-21 10:48 AM ET — DESIGN: hand-twist ball dispenser POC v1 (resin)
  42. 2026-10-21 11:04 AM ET — DESIGN: hand-spin ball dispenser POC v2 (resin + FR4 gear disc)
  43. 2026-10-21 11:09 AM ET — DESIGN: POC v2 revised in place with a grip skirt (the designer)
  44. 2026-10-21 11:17 AM ET — PCB: BR-G1 FR4 gear pocket disc fab files v1 (no pricing)
  45. 2026-10-21 11:47 AM EDT — Design note: separate machines today, one machine later
  46. 2026-10-21 11:52 AM ET — VERSION v12 snapped
  47. 2026-10-21 12:04 PM ET — PCB: BR-G1 laser-cut STEP + DXF for quoting
  48. 2026-10-21 12:15 PM EDT — BR-G1 decision: FR4 PCB over laser-cut 304 stainless
  49. 2026-10-21 12:25 PM EDT — BR-G1 ordered from PCBWay
  50. 2026-10-21 12:29 PM ET — DECISION (the designer): flux dispensing for tinning = syringe head on its own Neptune 4
  51. 2026-10-21 12:39 PM EDT — Decision: spray conformal finish after assembly
  52. 2026-10-21 12:48 PM ET — CONCEPT (the designer approved): OSSO Test Board (tester)
  53. 2026-10-21 12:59 PM EDT — Test board power: DC rail through corner posts via e-fuse
  54. 2026-10-21 1:00 PM EDT — Test board pins: standard interposer architecture
  55. 2026-10-21 1:00 PM EDT — Test board orientation: tester under the board, quick clamp
  56. 2026-10-21 1:05 PM ET — DECISION (the designer): universal OSSO Test Board, hybrid matrix
  57. 2026-10-21 1:08 PM ET — VERSION v13 snapped
  58. 2026-10-21 14:06 EDT - Ball dispenser POC v3: three BR-G1 discs (fixed top/bottom, turning middle)
  59. 2026-10-21 2:14 PM EDT — POC v3: stack the discs, set the gap with the hold-down screws
  60. 2026-10-21 2:16 PM EDT — Solder application roadmap: Kapton stencil first, ball tinning later
  61. 2026-10-21 2:41 PM EDT — Ball dispenser POC v4: chute alignment fix + external BR-G1 drive gear (the designer's request)
  62. 2026-10-21 5:03 PM EDT — Flux head serves two steps
  63. 2026-10-21 5:15 PM EDT — Post-reflow screen ahead of test
  64. 2026-10-21 5:18 PM EDT — Purpose of solder ball drop (reminder)
  65. 2026-10-21 5:20 PM EDT — Tinning enables pre-inspection and prep ahead
  66. 2026-10-21 9:52 PM EDT — Ball dispenser POC v5: two part types (BR-G2 FR4 carrier, BR-C1 stainless covers), printed D-spindle (the designer's request)
  67. 2026-10-21 10:05 PM EDT — BR-C1 cover v2 for SendCutSend (304 SS .030", as cut, Ø0.80 hole)
  68. 2026-10-21 10:19 PM EDT — BR-C1 v2 covers ordered

2026-10-21 8:15 AM ET — Decision: OSSO PnP architecture, G-code coarse moves with human fine control

Oct 21, 2026 · 8:15 AM ET · #

2026-10-21 8:16 AM ET — Decision: PnP fine motion

Oct 21, 2026 · 8:16 AM ET · #

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

Oct 21, 2026 · 8:19 AM ET · #

2026-10-21 8:22 AM ET — Decision: PnP tray loading

Oct 21, 2026 · 8:22 AM ET · #

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

Oct 21, 2026 · 8:24 AM ET · #

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

Oct 21, 2026 · 8:27 AM ET · #

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:30 AM ET — PnP machine concept drawing v1

Oct 21, 2026 · 8:30 AM ET · #

drawings/osso_pnp_machine_v1.py → .png/.pdf (concept only, no CAD). Shows the "precision manual" pick-and-place built on a bed-slinger printer (Ender/Prusa class) in front (XZ) and side (YZ) views: X gantry, Y moving bed, Z uprights; custom vacuum head with E-axis rotation stepper, hollow shaft / rotary vacuum seal and Juki-style nozzle; one angled microscope camera feeding a monitor with a crosshair/outline overlay at a fixed hover Z; software Z floor; pump, line, MOSFET/relay + vent valve on M106/M107; gamepad/jog pendant via OctoPrint/Klipper. Bed-plan insets on the common datum plate: Mode 1 (tape jig 8 mm with 12/16 inserts, sprocket/detent index, cover-tape peel, pickup point + tray) and Mode 2 (tray + 140 mm PCB jig, Ø3 pin + slot pin). Flow strip tape → tray → board. Notes table: control mapping (E = rotation, M106/M107 = vacuum, M0 = pause per part) and both operation sequences. Overall dims only: envelope ~440×420×470 mm (approximate).

2026-10-21 8:33 AM ET — Decision: PnP chassis accuracy scope

Oct 21, 2026 · 8:33 AM ET · #

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

Oct 21, 2026 · 8:34 AM ET · #

the designer confirmed all current chassis notes as requirements:

2026-10-21 8:39 AM ET — Decision: PnP rotation strategy

Oct 21, 2026 · 8:39 AM ET · #

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

Oct 21, 2026 · 8:40 AM ET · #

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

Oct 21, 2026 · 8:43 AM ET · #

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

Oct 21, 2026 · 8:44 AM ET · #

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:47 AM ET — PnP head concept drawing v1

Oct 21, 2026 · 8:47 AM ET · #

drawings/osso_pnp_head_v1.py → .png/.pdf (concept only, no CAD). Shows only the pick-and-place head in front (XZ), side (YZ) and top (XY) views plus Detail A (nozzle tip with a part at hover Z above pasted pads). Adapter plate to the X carriage (print head removed); fixed body; Juki-style nozzle on a short hollow holder in two bushings (runout target < 0.05 mm); ~15 mm class E-axis stepper with a pinion meshing a lever-arm gear sector (teeth for ±5° plus margin, ~10:1, R20/R2); optional centering spring; short silicone tube to the holder (no rotary seal); 3-way solenoid valve (M106/M107 via off-head MOSFET); pressure sensor between valve and nozzle (pause on drop); line to off-head pump + reservoir; one fixed angled microscope camera with ring LED aimed at the tip at hover Z (overlay does not rotate); strain relief and drag-chain bracket. Top view shows the sector, pinion and ±5° arc. Notes table: one row per callout (1-19), control mapping and design rules. Overall dims only: envelope ~75 W × 70 D × 95 H mm (approximate).

2026-10-21 8:51 AM ET — Design note: PCB engraving as a placement aid

Oct 21, 2026 · 8:51 AM ET · #

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

Oct 21, 2026 · 8:52 AM ET · #

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:53 AM ET — Clarification: placement labels are test-run marks

Oct 21, 2026 · 8:53 AM ET · #

The engraved placement labels can be a test-run feature: engraved on test or first-article boards to check the G-code, and left off production engraving.

2026-10-21 8:54 AM ET — Design note: nozzle changes are manual

Oct 21, 2026 · 8:54 AM ET · #

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)

Oct 21, 2026 · 8:56 AM ET · #

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:56 AM ET — Decision: PnP e-stop is a foot pedal

Oct 21, 2026 · 8:56 AM ET · #

The hardware e-stop is a foot pedal, so the operator can stop the machine without letting go of the controller.

2026-10-21 8:57 AM ET — Decision: PnP foot pedal is an enable switch (supersedes e-stop pedal)

Oct 21, 2026 · 8:57 AM ET · #

The foot pedal is a hold-to-run enable: the machine moves (G-code and jog) only while the pedal is held down. Releasing it stops motion immediately. A separate e-stop is still recommended. A 3-position enabling pedal (off / enable / panic-press-through) is worth considering.

2026-10-21 8:57 AM ET — Decision: 3-position enabling pedal plus a separate e-stop

Oct 21, 2026 · 8:57 AM ET · #

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

Oct 21, 2026 · 8:59 AM ET · #

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

Oct 21, 2026 · 9:00 AM ET · #

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)

Oct 21, 2026 · 9:01 AM ET · #

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:05 AM ET — Plan: PnP progressive feasibility build, stage 1 (motion only)

Oct 21, 2026 · 9:05 AM ET · #

Stage 1: a dummy soft probe in place of the head, with no camera, LED or vacuum. Generated G-code moves the probe from cell to cell in an empty printed tray to matching spots on a ghost PCB, which is just an engraved outline of the board. The goal is to prove the coordinate pipeline (board data and tray data to G-code), the datum registration, safe-Z travel and moves landing on the marks. Later stages add the camera, overlay, LED, vacuum, rotation and real parts.

2026-10-21 9:11 AM ET — Decision: PnP platform printer

Oct 21, 2026 · 9:11 AM ET · #

2026-10-21 9:23 AM ET — DECISION (the designer): PnP stage 1 printer

Oct 21, 2026 · 9:23 AM ET · #

2026-10-21 9:29 AM ET — VERSION v11 snapped

Oct 21, 2026 · 9:29 AM ET · #

v11 folder and tarball (111,135,924 bytes) came back intact with the restore. See the full entry in versions/v11_2026-10-21/JOURNAL.md.

2026-10-21 9:35 AM ET — FUTURE TO-DO (logged, not started): AI placement layer

Oct 21, 2026 · 9:35 AM ET · #

Later, an AI placement layer could make the same fine moves from the same camera view through the same controller/jog interface, still gated by the enable pedal.

2026-10-21 9:37 AM ET — STATUS: OSSO boards shipped

Oct 21, 2026 · 9:37 AM ET · #

5 OSSO boards shipped from PCBWay, for the alignment and full etching calibrations.

2026-10-21 9:38 AM ET — DECISION (the designer): use existing film first

Oct 21, 2026 · 9:38 AM ET · #

the designer will use his existing 0.075mm polyimide film first. The ZXAKAOSI practice pack becomes backup stock.

2026-10-21 9:43 AM ET — the designer to-do list started (TODO.md), ordered by learning sequence.

Oct 21, 2026 · 9:43 AM ET · #

2026-10-21 10:05 AM ET — RESTORE

Oct 21, 2026 · 10:05 AM ET · #

The box restarted around 9:40 AM and lost /workspace/osso. The folder was restored from the work Mac copy (9:19 AM sync, checksum verified), and the entries from 9:23 AM onward were re-added from the chat.

2026-10-21 10:16 AM ET — DECISION (the designer): paste dispensing on its own machine

Oct 21, 2026 · 10:16 AM ET · #

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)

Oct 21, 2026 · 10:21 AM ET · #

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

Oct 21, 2026 · 10:22 AM ET · #

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:24 AM ET — PRINCIPLE (the designer): prepare and verify before placement

Oct 21, 2026 · 10:24 AM ET · #

Two steps are set up and verified ahead of SMT placement: (1) the part tray, loaded from the tape jig and checked by index labels, and (2) tinning, done with the ball stencil and reflow, then checked by camera. At assembly only flux, placement and the final reflow remain. Flow: tin, then check, then flux, then place, then reflow.

2026-10-21 10:34 AM ET — DECISION (the designer): standard ball size and ball stencil film

Oct 21, 2026 · 10:34 AM ET · #

2026-10-21 10:36 AM ET — DECISION (the designer): stencil-free ball dispensing head (supersedes ball stencil)

Oct 21, 2026 · 10:36 AM ET · #

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 10:48 AM ET — DESIGN: hand-twist ball dispenser POC v1 (resin)

Oct 21, 2026 · 10:48 AM ET · #

Hand-twist "pepper grinder" proof of concept to test one-ball singulation of 0.25mm SAC305 by hand. Printed on the resin (MSLA) printer. The fixed base is 35mm diameter and the assembly is about 37mm tall. The base carries a 4mm D-flat post, the track land (R7-9, which is also the pocket floor), two flexing detent pillars and an off-center nozzle. The 31mm rotor twist ring has a 0.28mm web with 12 pockets 0.30mm in diameter on R8, and 12 V-notches give 12 clicks per turn (30° each). The hopper is fixed to the post by an M2 screw. Its 1.0mm floor runs 0.10mm above the web and has a 60° fill window opposite the drop, and the window edge is the wiper. The drop hole is 0.45mm, then a 0.8mm relief, then a 0.45mm x 10mm chute (ream with a 0.40mm drill). A lid sits on top. Running clearance is 0.10-0.15mm. The CAD fit check shows zero interference. A test coupon has holes and pockets from 0.25 to 0.45mm in 0.025mm steps plus 10mm chute bores (0.40/0.45/0.50). A metal shim pocket disc is planned for later. Files: cad/ball_dispenser_poc_v1/ and drawings/ball_dispenser_poc_v1.py/.png/.pdf.

2026-10-21 11:04 AM ET — DESIGN: hand-spin ball dispenser POC v2 (resin + FR4 gear disc)

Oct 21, 2026 · 11:04 AM ET · #

Revision of POC v1. The resin twist ring and 0.28 web are replaced by the bought bare FR4 pocket disc OSSO BR-G1 (drawing ball_ring_fr4_gear_v1, completed earlier today): 0.30 thick, m1.0 z22 gear rim (OD 24, pitch 22, root 19.5), D-bore 3.00 / flat 2.50, 12x 0.30 pockets on R8, 1.0 home hole on R6 at 0°, 3x 0.8 pin holes on R3 (unused). The disc is modeled as a reference part only. The resin base is 31mm in diameter and the assembly is about 29.3mm tall. The disc sits on the flat floor plate (pocket floor) and is keyed and centered by a printed hub with a D-boss (2.90 / flat 2.40) that turns with it in an 8.3 recess (0.15 radial). A fixed D-shaft would lock the disc, so the D-profile is on the turning hub. The hopper cover plate runs 0.12 above the disc and has a 60° fill window opposite the drop, and the window edge is the wiper. The single 0.45 drop hole at R8, 0° leads to a 0.45 x 10 chute. A 1.0 home sight hole at R6 is aligned with P1 over the drop. A 120° side window in the housing ring exposes the teeth for fingertip spin, with 0.30 radial clearance at the tips. There is an optional light cantilever detent at 270° (22 clicks, not matched to the 30° pocket pitch). A lid is included. The CAD fit check shows zero interference at rest, and the detent preload is about 0.013 mm³ at half a tooth. Files: cad/ball_dispenser_poc_v2/ and drawings/ball_dispenser_poc_v2.py/.png/.pdf.

2026-10-21 11:09 AM ET — DESIGN: POC v2 revised in place with a grip skirt (the designer)

Oct 21, 2026 · 11:09 AM ET · #

The base now extends downward into a hollow cylindrical grip so it is easy to hold. The grip is 31 OD (R13.0 to R15.5, 2.5 wall) and 22 tall below the 2.0 floor plate, with 36 light flutes and an open bottom. There are two 6 x 12 viewing and light slots at the bottom, at 0° (drop side) and 180°. The nozzle is now 20 long (2.9 to 2.0 dia) with a 0.80 x 10 relief, then the 0.45 x 10 chute. The tip sits 2.0 above the grip bottom, so set the grip on the target and watch the drop through the slot. The nozzle top was made smaller so the R6 home sight hole has a clear light path (0.05 clear). The 120° finger window and the 0.42 ring at disc level are unchanged. The overall height is now about 41.3 (base 24.4). The fit check again shows zero interference, and all gaps are unchanged (0.12 vertical, 0.30 radial at the teeth). Files were updated in cad/ball_dispenser_poc_v2/ and drawings/ball_dispenser_poc_v2.*.

2026-10-21 11:17 AM ET — PCB: BR-G1 FR4 gear pocket disc fab files v1 (no pricing)

Oct 21, 2026 · 11:17 AM ET · #

Fab files for OSSO BR-G1, per drawing ball_ring_fr4_gear_v1, in pcb/br_g1_v1/. The KiCad 9 source br_g1_v1.kicad_pcb is generated by make_br_g1.py and exported with kicad-cli. Outputs are the Edge.Cuts Gerber (RS-274X/X2), the Excellon NPTH drill file, empty F/B copper, F/B mask filled (no mask) and a job file, zipped as br_g1_v1_gerbers.zip with README_FAB.md. The outline is an exact involute (m1.0 z22 PA20, OD 24.00, root 19.50) closed with R0.5 for a 1.0 router bit; the tooth space at the root is 1.10, so the root is still reached, and deviation is 0.20 at the root corners only. The D-bore is 3.00 with the flat at 2.50 and R0.5 corners. Drills: 12x 0.30 on R8, 1.0 home hole on R6 at 0°, and 3x 0.80 on R3 (optional). KiCad DRC shows 0 violations. An independent re-parse of the Gerber and Excellon confirms the outline is closed (2 loops), 22 teeth, tooth thickness 1.571 at pitch, and 16 holes in the right positions. The silkscreen label is omitted (legend needs a mask). Caveats: thickness tolerance (PCBWay standard is ±0.1 under 1 mm), the 0.30 drill is near the minimum, and routing tolerance is ±0.1-0.2. Preview: pcb/br_g1_v1/br_g1_v1_preview.png.

2026-10-21 11:47 AM EDT — Design note: separate machines today, one machine later

Oct 21, 2026 · 11:47 AM ET · #

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 11:52 AM ET — VERSION v12 snapped

Oct 21, 2026 · 11:52 AM ET · #

Frozen to versions/v12_2026-10-21 + OSSO_v12_2026-10-21.tar.gz (the project without versions/ and video/). Since v11: today's paste and tinning decisions (paste on its own machine, pre-tinned boards in two stages, 0.25mm SAC305 as the standard ball, stencil-free ball dispensing head replacing the ball stencil), the ball dispenser POC v1 (resin), the FR4 gear pocket disc drawing ball_ring_fr4_gear_v1 (OSSO BR-G1), the ball dispenser POC v2 with the BR-G1 disc and grip skirt (cad/ball_dispenser_poc_v2, drawing ball_dispenser_poc_v2), BR-G1 fab files (pcb/br_g1_v1: KiCad source, Gerber, NPTH Excellon, upload zip, fab notes), the design note on separate machines today and one machine later, and the regenerated TODO.md (learning order, new ball tinning track). The docs site now lists v11 and v12 and has a To-do page.

2026-10-21 12:04 PM ET — PCB: BR-G1 laser-cut STEP + DXF for quoting

Oct 21, 2026 · 12:04 PM ET · #

Laser-cut version of the BR-G1 FR4 gear disc in pcb/br_g1_v1/laser/: br_g1_laser.step, br_g1_laser.dxf, QUOTE_NOTES.md and the make_br_g1_laser.py generator. It uses the same parameters as the router fab files, but with a sharp ideal profile (no R0.5 root fillets or D-bore corner radii), 0.30 thick. Validation: one valid solid, also valid after re-import, volume 108.757 mm³, tip R12.000 / root R9.750 (bbox 23.99 x 23.85 x 0.30 because the tooth tips are chords off the axes), D-bore 3.00 / 2.50, and 16 round holes in the right positions (12x 0.30 R8, 1.0 R6 at 0°, 3x 0.80 R3). The DXF is in mm with 2025 lines, 1 arc and 16 circles. Quote notes ask for 10 and 25 pieces, FR4 first (polyimide or stainless later), and ±0.02 on the 0.30 holes.

2026-10-21 12:15 PM EDT — BR-G1 decision: FR4 PCB over laser-cut 304 stainless

Oct 21, 2026 · 12:15 PM ET · #

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:25 PM EDT — BR-G1 ordered from PCBWay

Oct 21, 2026 · 12:25 PM ET · #

2026-10-21 12:29 PM ET — DECISION (the designer): flux dispensing for tinning = syringe head on its own Neptune 4

Oct 21, 2026 · 12:29 PM ET · #

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

Oct 21, 2026 · 12:39 PM ET · #

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 12:48 PM ET — CONCEPT (the designer approved): OSSO Test Board (tester)

Oct 21, 2026 · 12:48 PM ET · #

The tester is itself an OSSO board. It lands on the board under test (DUT) through the same printed pogo interposer and the same jig datum as a real stack, so the interposer pads double as test pads and no board needs extra test points. the designer's reasoning: the tester uses the same pads, pins and datum, and it also verifies the interposer connection itself. One standard test controller covers every board, and a per-board script on the computer does the rest.

2026-10-21 12:59 PM EDT — Test board power: DC rail through corner posts via e-fuse

Oct 21, 2026 · 12:59 PM ET · #

the designer confirmed that the DC rail always runs through the corner posts and brass standoffs, the same as on the base board, with no separate rail. On the OSSO Test Board, the tester's corner posts are split into an input side and an output side. Supply power comes in, goes through the tester's current-limited e-fuse (switched and metered), and then goes out through the corner posts and standoffs to the board under test. This keeps the standard power path while still giving a current-limited first power-up. It resolves the open item on DUT supply rails and current limits in osso_test_board_v1 as to the path; the rail voltages and current limit values are still to be decided.

2026-10-21 1:00 PM EDT — Test board pins: standard interposer architecture

Oct 21, 2026 · 1:00 PM ET · #

the designer decided the OSSO Test Board uses the standard interposer architecture and the same pogo pin (Xinyangze YZD0029-20135-01), not a different or replaceable pin plate. Note: on a test interposer, all or more of the 40 sites may be populated, including sites the board under test uses only as test pads. This resolves the open item on the pin receptacle or pin plate part in osso_test_board_v1. Pin wear (rated 10k cycles) is handled by replacing pins or the printed interposer as needed.

2026-10-21 1:00 PM EDT — Test board orientation: tester under the board, quick clamp

Oct 21, 2026 · 1:00 PM ET · #

the designer decided the OSSO Test Board sits under the board under test, the way a base board would, and a quick clamp holds the stack (tester, interposer, board under test) together for compression. This resolves the open item on whether the tester sits over or under the board in osso_test_board_v1. The clamp design is not done yet; it should register on the same datum (tooling hole and slot) and compress the pogo pins to the 12.0 working gap.

2026-10-21 1:05 PM ET — DECISION (the designer): universal OSSO Test Board, hybrid matrix

Oct 21, 2026 · 1:05 PM ET · #

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.

2026-10-21 1:08 PM ET — VERSION v13 snapped

Oct 21, 2026 · 1:08 PM ET · #

Milestone: the tester strategy is set, a universal OSSO Test Board. Frozen to versions/v13_2026-10-21 + OSSO_v13_2026-10-21.tar.gz (the project without versions/, video/, stray root tarballs and ._* files). Since v12: BR-G1 laser-cut STEP/DXF and quote notes; BR-G1 ordered from PCBWay (50 discs); the decision to spray a conformal finish after assembly; flux dispensing by a syringe head on its own Neptune 4, with concept drawing osso_flux_syringe_head_v1; the OSSO Test Board concept (osso_test_board_v1) and its decisions (DC rail through corner posts via e-fuse, standard interposer and pins, tester under the board under test with a quick clamp); the universal hybrid matrix with board ID first (osso_test_board_v2, refs/test_board_matrix_sizing.md); and TODO.md updates (flux head and test board tracks). The docs site now lists v13.

2026-10-21 14:06 EDT - Ball dispenser POC v3: three BR-G1 discs (fixed top/bottom, turning middle)

Oct 21, 2026 · #

2026-10-21 2:14 PM EDT — POC v3: stack the discs, set the gap with the hold-down screws

Oct 21, 2026 · 2:14 PM ET · #

the designer decided to stack the three BR-G1 discs directly in POC v3 and adjust the running gap by tightening the hopper's M2 hold-down screws until the middle disc turns freely. The kapton shim is a fallback only, used if the stack binds or rattles. A 0.25mm-thick disc isn't a problem, because a 0.25mm ball then sits flush and still can't pick up a second ball.

2026-10-21 2:16 PM EDT — Solder application roadmap: Kapton stencil first, ball tinning later

Oct 21, 2026 · 2:16 PM ET · #

the designer confirmed two solder application paths. Initial: a laser-cut Kapton paste stencil (stencil v2 track), ready to try once the laser is set up and aligned. Later: ball tinning, which is flux dots from the syringe head, then 0.25mm SAC305 balls from the BR-G1 dispenser, then reflow. It comes after the dispenser POC and flux head are proven. Both paths end in the same state, a board ready for flux and part placement, so the downstream steps (part tray, PnP, reflow, test) don't change between them.

2026-10-21 2:41 PM EDT — Ball dispenser POC v4: chute alignment fix + external BR-G1 drive gear (the designer's request)

Oct 21, 2026 · 2:41 PM ET · #

2026-10-21 5:03 PM EDT — Flux head serves two steps

Oct 21, 2026 · 5:03 PM ET · #

Decision (the designer): Keep selective flux. Whole-board flux was rejected because it means too much cleanup. The flux syringe head is needed twice: (1) a dot on each pad before solder ball tinning, and (2) a dot on each tinned pad before pick and place, to hold parts and wet the reflow. the designer plans a bench test of the manual ball dispenser with a flux dot to observe the physics: bounce, self-centering, and the dot size limit before bridging. References: EPTC 2012 tacky flux ball attach (doi 10.1109/eptc.2012.6507169), IRJMETS flip chip flux (doi 10.56726/irjmets33583).

2026-10-21 5:15 PM EDT — Post-reflow screen ahead of test

Oct 21, 2026 · 5:15 PM ET · #

2026-10-21 5:18 PM EDT — Purpose of solder ball drop (reminder)

Oct 21, 2026 · 5:18 PM ET · #

the designer: The goal of solder ball dropping is selective solder application with no stencil. Each one-off PCB skips making a stencil and spreading paste. Part of the per-board ball upcharge is the price of that stencil-free precision on one-off boards. It does not mean matching paste volume. Balls per pad are sized for a good joint on that pad (1 for small pads, more for large or stressed joints), to be confirmed by bench test.

2026-10-21 5:20 PM EDT — Tinning enables pre-inspection and prep ahead

Oct 21, 2026 · 5:20 PM ET · #

the designer: Ball-drop tinning removes the stencil step (wasteful, a hassle, and a time saver once automated). Tinned boards can be automatically inspected (camera check of solid, domed pads, no bridges) and prepped ahead of time: tin a batch, inspect, and store until assembly. Defects are caught before parts are placed.

2026-10-21 9:52 PM EDT — Ball dispenser POC v5: two part types (BR-G2 FR4 carrier, BR-C1 stainless covers), printed D-spindle (the designer's request)

Oct 21, 2026 · 9:52 PM ET · #

2026-10-21 10:05 PM EDT — BR-C1 cover v2 for SendCutSend (304 SS .030", as cut, Ø0.80 hole)

Oct 21, 2026 · 10:05 PM ET · #

2026-10-21 10:19 PM EDT — BR-C1 v2 covers ordered

Oct 21, 2026 · 10:19 PM ET · #