# Adom Footprint Standard: 300um Solder-Ball (Jet-Paste) Layer

**Every Adom-owned footprint must carry a dedicated, hidden-by-default layer marking where the
300um solder-paste balls land when assembled on the Essemtec solder-paste JET dispenser.**

## The rule

- Add a dedicated **User layer** to every footprint - proposed **`User.9` named `Adom.SolderBalls`**
  (independent of `F.Paste`, so stencil paste and jet-deposit positions never conflict).
- On that layer, place the **300um (Ø0.30mm) dot positions** at **0.25mm pitch** — a slight,
  intentional overlap between adjacent balls (0.30mm balls at 0.25mm centers). The overlap is
  correct; do not spread the balls apart to "fix" it.
  `adom-footprint/src/paste.rs` currently implements `DOT_DIA=0.30`, `DOT_PITCH=0.45`,
  `MARGIN=0.06` — the **0.45mm pitch is wrong and must be updated to 0.25mm**.
- The layer is **HIDDEN BY DEFAULT** in every viewer (it is assembly/process data, not for normal
  review). FpView already exposes a "paste dots" toggle, off by default - keep that behavior.
- **Through-hole pads** (machine pins etc.) get a **ring of 300um dots around the annular pad** (they
  have no `F.Paste` aperture today, so `paste.rs` yields zero dots for them - this must be extended).

## Why persist it (vs compute on the fly)

Today `paste.rs` computes the dots **ephemerally** (SVG overlay only, SMD pads only). Making it a
**persisted layer** in the `.kicad_mod` means: the jet-dispense program is reproducible and reviewable,
it travels with the footprint into KiCad/Fusion/Altium, and the assembly team sees exactly where paste
lands - hidden until they turn it on.

## The paste itself (material spec)

The paste run through the jet dispenser is **leaded** — never assume a lead-free (SAC) alloy for
Adom paste work unless explicitly told otherwise.

| Property | Value |
|---|---|
| Alloy composition | **63Sn / 37Pb** (leaded, eutectic tin-lead, melts ~183 C) |
| Flux | **Indium 12.8HF** (the flux vehicle is the non-metal fraction — no separate flux step) |
| Powder mesh | **Type 6-SGS** (fine powder; what makes 300um jetted balls feasible) |
| Metal content | **80% by weight** |

## Rendering Paste Elements (3D viewers)

- Render each ball as a **hemisphere (half sphere), flat face on the pad** — not a full sphere.
- Ø0.30mm at 0.25mm pitch: adjacent hemispheres **overlap slightly by design**.
- Material/color: leaded solder — dull silver-gray, not bright lead-free silver.
- 0.30mm is the default and the working minimum; do not go smaller without explicit direction.

## Reconcile the dot diameter

The `adom-footprint` code uses **300um** (`DOT_DIA=0.30`); the `adom-footprint` SKILL text says
**250um**. **Standardize on 300um** (per the dispenser spec) and fix the skill text.

## Action for footprint owners (Drew, Arav, Ray)

1. Extend `adom-footprint/src/paste.rs` to (a) EMIT the dots onto the `Adom.SolderBalls` User layer in
   the `.kicad_mod` (not only the SVG overlay), and (b) handle **through-hole** pads (annular ring).
2. Update `DOT_PITCH` in `adom-footprint/src/paste.rs` from 0.45 to **0.25** (see "The rule").
3. Backfill the layer into existing Adom footprints (a batch pass over the libraries).
4. Keep it hidden by default in FpView / all viewers.

Reference implementation of the through-hole ring + 300um hemispheres in a 3D viewer:
the **[Adom machine-pin pages](https://wiki.adom.inc/adom/machinepinmediumstandard)** (this work).
