# Ordering & Fabrication Reference

## Distributor Order Formats

Each distributor has a paste/upload format for adding parts to a cart. The `bom_manager.py order` subcommand generates these automatically.

### DigiKey — Bulk Add to Cart

Paste into the bulk-add box at [digikey.com/ordering/shoppingcart](https://www.digikey.com/ordering/shoppingcart):

```
3, 490-10698-1-ND, C1/C2/C5
1, ESP32-S3-WROOM-1-N16R8-ND, U1
5, 311-10.0KCRCT-ND, R1/R2/R3/R4/R5
```

Format: `quantity, DigiKey_PN, customer_reference` — comma or tab delimited, one line per part.

**FastAdd URL** — programmatic cart building:
```
https://www.digikey.com/classic/ordering/fastadd.aspx?part1=490-10698-1-ND&qty1=3&cref1=C1/C2/C5&part2=...&newcart=true
```
GET supports ~1700 chars; POST supports 400+ parts.

**BOM Manager** — [digikey.com/en/resources/bom-manager](https://www.digikey.com/en/resources/bom-manager). Upload CSV/XLS/XLSX, map columns interactively. Accepts both DigiKey PNs and MPNs.

### Mouser — Part List Import

Paste at [mouser.com/tools/part-list-import.aspx](https://www.mouser.com/tools/part-list-import.aspx) (requires login):

```
595-TPS63020DSJR|10
81-GRM155R71C104KA8D|3
```

Format: `Mouser_PN|quantity` — pipe delimited.

**FORTE BOM Tool** — [mouser.com/bomtool](https://www.mouser.com/bomtool/). Upload CSV/XLS/XLSX, auto-matching MPNs.

### LCSC / JLCPCB Assembly

Upload at [lcsc.com/bom](https://www.lcsc.com/bom) (max 800 lines):

```csv
Comment,Designator,Footprint,LCSC Part #
100nF,"C1,C2,C5",0402,C14663
ESP32-S3-WROOM-1,U1,ESP32-S3-WROOM-1,C2913202
```

Same format for JLCPCB assembly orders — see the `jlcpcb` skill.

### Newark / Farnell / element14

Paste at [newark.com/quick-order](https://www.newark.com/quick-order):

```
94AK6875,3
82AC7952,10
```

Format: `Newark_OrderCode, quantity` — comma or tab delimited.

**BOM Upload** — [newark.com/bom-upload-landing](https://www.newark.com/bom-upload-landing). Accepts both Newark PNs and MPNs.

### Arrow (Volume / Price Comparison)

**BOM Tool** — [arrow.com/en/bom-management-tool](https://www.arrow.com/en/bom-management-tool). Upload CSV/XLS/XLSX (max 3,000 lines). Accepts MPNs, Arrow PNs. Can purchase or request quotes directly.

### Quick Reference

| Distributor | Format | Delimiter |
|---|---|---|
| DigiKey | `qty, DK_PN, ref` | comma/tab |
| Mouser | `Mouser_PN\|qty` | pipe |
| LCSC | `Comment,Designator,Footprint,LCSC Part #` | comma |
| Newark | `OrderCode, qty` | comma/tab |
| Arrow | file upload only | — |

---

## Gerber & Stencil Export

### Required Gerber Layers

Export from KiCad: Fabrication > Plot (format: Gerber, coordinate format: 4.6 mm).

| KiCad Layer | Description |
|---|---|
| F.Cu / B.Cu | Front/back copper |
| F.Paste / B.Paste | Solder paste (stencil) |
| F.SilkS / B.SilkS | Silkscreen |
| F.Mask / B.Mask | Solder mask |
| Edge.Cuts | Board outline |

Also generate Excellon drill files (Fabrication > Generate Drill Files). Zip all together for upload.

### CPL (Component Placement List)

Export from KiCad: Fabrication > Generate Placement Files (CSV format).

| Column | Description |
|---|---|
| `Designator` | Reference designator |
| `Mid X` / `Mid Y` | Component center (mm) |
| `Rotation` | Angle (degrees) |
| `Layer` | `Top` or `Bottom` |

Both JLCPCB and PCBWay use the same CPL format.

### Stencil Ordering

Order a **framed stencil** alongside bare prototype PCBs (~$7 from JLCPCB). Generated from F.Paste gerber layer. Rigid frame for use with a stencil jig.

---

## Cost Summary Template

```
BOM Summary — Project: <name>
===================================
Unique parts:     23
Total components:  87
DNP:               3

Prototype (1 board, DigiKey):
  Parts:       $45.23
  PCB (JLC):   ~$7 (5 boards min, 2-layer)
  Stencil:     ~$7 (framed, from JLC)
  Shipping:    ~$5-12
  Total:       ~$64-71

Production (100 boards, JLCPCB assembled):
  Parts/board:     $8.50
  PCB fab/board:    $0.80
  Assembly/board:   $2.50
  Extended fees:    $0.09/board (3 extended x $3 / 100)
  Per board:        ~$11.89
  Total (100):      ~$1,189
```

Always query current pricing via the `digikey`, `mouser`, and `lcsc` skills — prices change frequently.
