2026-10-21 9:35 AM ET — FUTURE TO-DO (logged, not started): AI placement layer
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.
New in this snapshot: 9 drawings, 12 STEP files, 3 documents/media.
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.
5 OSSO boards shipped from PCBWay, for the alignment and full etching calibrations.
the designer will use his existing 0.075mm polyimide film first. The ZXAKAOSI practice pack becomes backup stock.
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.
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).
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.
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).
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.
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.
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.
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.
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.*.
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.
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.
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.