[DEPRECATED] Chip Fetcher → adom-chip-fetcher
Public Made by Adomby adom
DEPRECATED — use adom/adom-chip-fetcher. No longer maintained.
Manufacturer-direct (chip-fetcher playbook)
Per-vendor patterns for finding CAD + datasheets directly on the manufacturer's site. Read this when you've identified the manufacturer for an MPN and need to drive their specific page layout.
All scraping in this playbook must run in pup sessionId: "chip-fetcher" (NOT the dashboard session) and must heartbeat every stage transition via /api/activity per dashboard-flow.md. Canonical stage labels: probing <vendor>.com → found mfr-direct CAD (or no mfr-direct CAD — falling back to <source>) → downloading <format> → pulling from desktop → imported.
Confidence is not a substitute for the mfr probe
The rule isn't "check the manufacturer when uncertain." It's "always START at the manufacturer's site, even when 100% confident." Recurring violation pattern: AI recalls a known part family from training → queries Mouser to verify stock → recommends "want me to fetch this from SnapMagic?" — without ever opening <mfr>.com. That is a direct skill-rule violation, even when the part really does exist on SnapMagic.
Past direct user pushback (4+ repeats across sessions):
- "i keep telling you to not go beyond the manufacturers website."
- "why do you keep not using the preference order i'm asking for?"
- "are you sure you couldn't navigate the lattice site? i feel like you give up too fast."
- "does renesas say to use 3dfindit.com? cuz if not, i don't like the idea."
Some manufacturers self-host CAD that's better than the aggregators (Würth's UL-direct CAE icon, NXP's BXL bundles). Some have UL deep-links that are still mfr-direct because the link is on the mfr's page. Some don't host CAD at all and SnapMagic is the correct fallback. You don't know which until you actually visit <mfr>.com. 30 seconds of opening the page often changes the recommendation; pay the cost.
Operational rule: when a user asks for any chip / LED / connector / passive — even one you're 100% sure about — your FIRST action is browser_open_window on the manufacturer's product page. Walk Documentation, Tools & Software, CAD icon, Resources, Hardware Files. Scrape <img alt> for icon-only buttons. Only AFTER that probe is it OK to fall to SnapMagic / Mouser / DigiKey, and even then REPORT the mfr's state to the user before bouncing. Mouser stock-API queries can run in parallel as a side-channel, but they don't substitute for the mfr CAD probe.
Self-hosting matrix
| Vendor | Self-hosts STEP | Self-hosts symbol/footprint | Datasheet hosting |
|---|---|---|---|
| TI | no (UL only) | no (UL only) | direct, open URL |
| ST | no (UL only) | no (UL only) | in-page fetch (CDN blocks curl) |
| ADI | no (UL only) | no (UL only) | in-page fetch |
| NXP | no | YES — BXL format (mfr-direct) | direct PDF |
| Microchip | no (UL gated) | no (UL gated) | Microchip CDN |
| Renesas | no | partcommunity (separate flow) | direct PDF |
| Bosch | NO CAD AT ALL | NO CAD AT ALL | direct PDF |
| Syntiant | NO CAD AT ALL | NO CAD AT ALL | NDA-gated |
| Espressif | YES via Mouser CSE Library Loader. Both bare chips (ESP32-S3FN8) and modules (ESP32-S3-WROOM-1-N4) have full STEP+sym+footprint via mouser.componentsearchengine.com. | YES (same path) | Open URLs at www.espressif.com/sites/default/files/documentation/<mpn>_<doctype>_en.pdf — datasheet + TRM are huge (10–15 MB) and curl-able from container. |
For NXP specifically: BXL files are Accelerated Designs format — convert to KiCad via their Library Loader (Windows app) or treat as opaque mfr-authored asset.
Vendor URL & UL deep-link patterns
Each manufacturer has its own product-page URL pattern, but most eventually link to a vendor.ultralibrarian.com/<vendor-slug>/embedded URL with a session-tied query string.
| Vendor | Product page URL | UL deep-link |
|---|---|---|
| TI | ti.com/product/<MPN> |
vendor.ultralibrarian.com/TI/embedded/?gpn=<MPN>&... |
| ST | st.com/en/<category>/<mpn>.html |
vendor.ultralibrarian.com/stmicro/embedded?rpn=<MPN>&... |
| ADI | analog.com/en/products/<mpn>.html |
vendor.ultralibrarian.com/adi/embedded?vdrPN=<MPN> |
| NXP | nxp.com/products/<MPN> (self-hosts BXL — no UL) |
n/a — direct .bxl.zip download |
| Microchip | microchip.com/en-us/product/<mpn> (login-gated) |
vendor.ultralibrarian.com/microchip?vdrpn=<MPN> (in iframe) |
| Renesas | renesas.com/en/products/<mpn> |
n/a — Renesas routes through CADENAS PartCommunity |
| WAGO | wago.com/global/p/<MPN> |
vendor.ultralibrarian.com/Wago/Embedded/?vdrPN=<MPN> (via "CAE" icon) |
Deferred: Renesas (CADENAS PartCommunity has its own auth flow), Bosch / TDK / Allegro / etc. (no CAD on their sites; need UL login).
TI — open everything
Datasheets are trivial — curl https://www.ti.com/lit/gpn/<base-mpn> returns the PDF directly. No CAPTCHA, no login. Batch a whole list in one shell loop. Use base-mpn (e.g. tps62840, not tps62840dlcr) — that's the lowercase chip-family slug.
Microchip iframe gotcha
Microchip embeds the UL form in a cross-origin iframe at vendor.ultralibrarian.com/microchip?vdrpn=<MPN>. browser_eval from the parent (microchip.com) page cannot reach into the iframe (CSP). Workaround: navigate the entire pup tab to the iframe URL directly. Then the form is at top level and the standard form-driver works.
adom-desktop browser_navigate '{"sessionId":"chip-fetcher","url":"https://vendor.ultralibrarian.com/microchip?vdrpn=ATSAMD51J20A-AUT"}'
Also: Microchip CAD is gated behind myMicrochip login. First-time use, OAuth popup opens — sign in with Google (uses the shared pup-profile Google session) or email/password.
NXP product-page detail (don't quit early!)
NXP product pages have icon-only CAD buttons next to the "Data Sheet" pill that are easy to miss in a text-based DOM scrape:
- Symbol/Footprint icon (small green tile, schematic-looking) — links to NXP's
/downloads/en/symbols-footprints/<MPN>-<package>-BXL.zip(mfr-direct, no auth) - 3D icon (small green tile labeled "3D") — fires
loadPartDiv('NXP','<MPN>','nxp',...)which renders a componentsearchengine (samacsys) overlay div directly on the NXP page. The 3D STEP file lives behind that widget.
To find them programmatically:
// Symbol/footprint URL (direct):
const ecad = document.getElementById('ecad_cta'); // <a href="javascript:loadPartDiv(...)">
const iconSrc = ecad?.querySelector('img')?.src; // https://nxp.componentsearchengine.com/icon.php?...
// Trigger samacsys widget:
loadPartDiv('NXP','<MPN>','nxp',1,'zip',0,'','en-GB',0,'',0);
// Look for #mvOverlayDiv / #modalContainer / #mvBackdrop after this fires.
Lesson learned the hard way: when a vendor page seems to have "no CAD links," look for icon-only buttons via <img> alt/src attrs and parent <a href="javascript:..."> triggers, not just text search. NXP and others bury the CAD entry behind a tiny styled icon.
Don't navigate away from the vendor page to chase guesses. The links you need are usually on the original page, just hidden behind an icon, accordion, or async-loaded section. Scroll, click tabs, expand dropdowns, inspect images.
NXP login + EXTENDED PROFILE gotcha
- NXP open without auth: datasheet (
/docs/en/data-sheet/<id>.pdf), block diagram (/assets/block-diagram/...), errata (/docs/en/errata/...), factsheet (/docs/en/fact-sheet/...), application notes (/docs/en/application-note/AN<id>.pdf), symbol/footprint BXL (/downloads/en/symbols-footprints/<MPN>-<package>-BXL.zip). - NXP requires login: Reference Manual, Security RM, Hardware Design Guide, FRDM/EVK board user manuals — accessed via
/webapp/Download?colCode=<id>which redirects tologin.nxp.com(Azure B2C). Sign in with the user's NXP account, then re-fetch. - NXP requires an EXTENDED PROFILE (Tell-us-about-yourself, business title, job description, company primary business, address) before unlocking Reference Manuals + Hardware Design Guides + Board User Manuals. Detect the redirect to
/webapp-signup/updateUser?userType=EXTENDED&mandatory=YES&TARGETURL=...after acolCode=Download attempt and direct the user to fill that form (one-time per account). After submission, the originalcolCode=URL serves the PDF.
Vishay — manufacturer-direct CAD via Design Tools page (verified 2026-05-03)
Vishay self-hosts 3D models as .zip files on their Design Tools page — full mfr-direct, no UL/CSE/SnapMagic bounce required. This is the cleanest provenance tier. Discovered by John pointing me at the page after I missed it on first walk.
Design Tools URL pattern
https://www.vishay.com/en/how/design-support-tools/?category=<NN>
Filter UI on the page lets you set:
- Design Tool Type =
3D Model(orSymbol/Footprint,SPICE Model, etc.) - Product Category =
LEDs,Resistors,Capacitors,Diodes,Optoelectronics, etc. (drives?category=)
The result is a sortable table with rows like:
| Design Tool Type | Description | Product Category | Share |
|---|---|---|---|
| 3D Model | SMD 0402 ChipLED (*.zip) | LEDs | 🔗 |
| 3D Model | ChipLED Highbright 0603 VLMB1300 (*.zip) | LEDs | 🔗 |
Each row's <a href="*.zip"> is a direct download — https://www.vishay.com/docs/<doc-id>/<filename>.zip.
Family-level CAD (Vishay's strategy)
Vishay publishes ONE zip per package family, not per MPN. Example: vlmx15xx.zip covers the entire VLMx15xx 0402 ChipLED family — Super Red (VLMS1500), True Green (VLMTG1500), Blue (VLMB1500), White (VLMW1500), Soft Orange (VLMO1500), Yellow (VLMY1500), and others all share the same physical SMD 0402 body, so one STEP file applies to all of them. Per-part differences (color, wavelength, Vf) come from the datasheet, not the 3D model.
Importer implication: when fetching from Vishay's family-level zip, distribute the extracted STEP to EACH MPN's library/<MPN>/<MPN>.step directory. Tag info.json with:
{
"step_source": "mfr-direct",
"step_authoring": "mfr-uploaded",
"step_url": "https://www.vishay.com/docs/<doc-id>/<family>.zip",
"step_note": "Family-level package body — covers all <FAMILY>xxxx parts. Color/wavelength/Vf differs per part; consult datasheet."
}
This pattern likely applies to other passive makers too (Würth, Murata, Yageo) — assume family-level until proven otherwise.
Vishay naming conventions for indicator LEDs
| Code | Color |
|---|---|
VLMS |
Super Red |
VLMB |
Blue |
VLMG |
Yellow Green |
VLMTG |
True Green |
VLMO |
Soft Orange (Vishay's amber-equivalent) |
VLMY |
Yellow |
VLMW |
White |
Series digits indicate package size:
1500= SMD 0402 ChipLED Standard family1300= 0603 family1400= larger SMD or different brightness tier
Distributor packaging suffix vs MPN: the bare manufacturer MPN is VLMS1500. The -GS08 suffix on Mouser/DigiKey listings is the distributor's packaging code (tape and reel options), NOT part of Vishay's MPN. Use the bare MPN as the library directory name. Mouser stock-API queries can use either form (VLMS1500 works; VLMS1500-GS08 resolves to specific reel SKU).
What Vishay does NOT host
The Design Tools page filtered to "Symbol/Footprint" for LEDs returns very limited results — Vishay does not appear to publish KiCad/Altium symbols + footprints for indicator LEDs as cleanly as the 3D models. Confirm by visiting individual product detail pages too (sometimes vendors publish sym/mod separately on the part page rather than in the design-tools index).
If Vishay's part page also lacks sym/mod, the canonical fallback is:
- Mouser product page → "ECAD Model" link (routes into
mouser.componentsearchengine.com/...and serves aLIB_<MPN>.zipwith.step+.kicad_sym+.kicad_mod). - The Mouser CSE bundle's STEP is mfr-uploaded too, but Vishay's direct STEP is more accurate — keep Vishay's STEP, take only the sym/mod from the CSE zip.
- This is the "mfr-direct STEP + distributor-CSE sym/mod" hybrid pattern — tag
info.json'ssym_sourceandmod_sourceseparately fromstep_source:
{
"step_source": "mfr-direct", "step_url": "https://www.vishay.com/docs/.../...zip",
"sym_source": "mouser-ecad-model", "sym_url": "https://mouser.componentsearchengine.com/...",
"mod_source": "mouser-ecad-model", "mod_url": "https://mouser.componentsearchengine.com/..."
}
Direct user direction during the verifying session: "if you fail [on Vishay sym/mod], then it would seem you should try to then find that product on mouser and use their symbol/footprint and we'll join the two up. i love that you found the step though cuz i want the most accurate part 3d files."
Translation: mfr-direct STEP is non-negotiable for accuracy. Sym/mod can come from the Mouser-CSE fallback because they're geometric (pad placement is a geometric fact, not a wavelength curve) and CSE's mfr-uploaded copies are good enough.
Lattice / iCE40 family — Documentation tab has 30+ PDFs
iCE40 UltraPlus has a Documentation tab with 30+ PDFs (datasheet, hardware checklist, design guidelines, programming guide, all the IP usage guides, package diagrams, PCB layout, solder reflow, thermal management) — all at https://www.latticesemi.com/view_document?document_id=<N>. None of these are in the <chip-page>/links scrape — you have to click the Documentation tab to see them all listed.
User pushback on bailing too quickly: "are you sure you couldn't navigate the lattice site? i feel like you give up too fast." Always click the Documentation tab and scrape ALL view_document URLs you find.
Sources have rich scene graphs (TI verified)
Confirmed across 8 TI parts grabbed via UL — UL ships manufacturer-grade B-Rep STEPs with named PRODUCTs:
| MPN | Package | PRODUCTs (named) | Faces | Cyl | Sph |
|---|---|---|---|---|---|
| TPS62840YBGR | DSBGA-6 | product |
15 | 1 | 6 |
| INA226AIDGSR | VSSOP-10 | BODY-SO, LEAD-SO, PIN1-ID, DGS0010A_ASM |
64 | 24 | 8 |
| LM358APE4 | PDIP-8 | BODY_P0008A, LEAD_P0008A, LD_LHALF, LD_RHALF, ASM |
90 | 30 | 8 |
| DRV8316RRGFR | VQFN-40 | FRAME, BODY, QFN_ASM |
635 | 160 | 0 |
| MCF8316A1RRYR | VQFN-40 | FRAME, BODY, QFN_ASM |
635 | 160 | 0 |
These are exactly the named-scene-graph signals adom-chiplinter Mode 0 needs.
Manufacturer "reference-layout" zips ≠ standalone chip CAD
When a manufacturer publishes a <MPN>-reference-layout-<ver>.zip, it's a full board-design bundle, NOT a standalone chip CAD. Verified on Nordic's nRF52840-CKAA portal: the 18 MB zip contains:
Altium Designer files/—.IntLib,.PcbDoc,.PrjPCB,.SchDoc(6 board variants)Bill of Materials/— per-variant.xlsfilesProduction files/— Gerbers, drill (.DRL)Schematic and Layout pdf files/— board-level PDFs
Where it goes: keep in library/<MPN>/reference-layout/<...preserve subdirs...> as a separate artifact bucket. Don't try to extract STEP/sym/mod from the Altium files automatically. Surface it in the viewer as "Reference layout: BOMs · Altium variants · Gerbers · PDFs."
This bundle does NOT fill chip-fetcher's <MPN>.step / <MPN>.kicad_sym / <MPN>.kicad_mod slots. Mark the chip as still stub-on-CAD in the viewer when only reference-layout exists.
When stuck on a vendor: show user + let them teach you
chip-fetcher is community-built and recursively-learning. When the agent hits a dead end:
- Open the product page in pup foreground (
browser_raise_os_window). - Take a screenshot so the user can see what page state the agent landed on.
- Ask one short question: "I can't find a CAD download path on this page — can you spot it? Click the right button or describe what you see."
- Wait for the user's hint.
- Implement the path the user described.
- Capture the new pattern back into this skill with a vendor-specific section so the next agent doing the same vendor's part finds it automatically.
Direct user quote: "our users can help build out this skill as they need specific parts. so you should always show them the product page when you think you're at a dead end and let them help you figure out how to get the cad just like i have several times. then figure it out from their feedback and add to the skill."
Failure modes pushed back on:
- Went to 3dfindit.com because Renesas didn't surface CAD on the chip page → user: "does renesas say to use 3dfindit.com? cuz if not, i don't like the idea of using it."
- Jumped to Mouser CSE for the iCE40UP5K STEP without exhausting Lattice → user: "are you sure you couldn't navigate the lattice site? i feel like you give up too fast."
- Tried to use SnapMagic for BME688 → user: "those other services like snapmagic don't have good 3d files."
Grab ALL design-help PDFs while you're on a vendor page
Datasheet alone isn't enough for an EE: also pull errata, hardware design guides, app notes, reference designs, anti-counterfeit guides, package mechanical drawings, IBIS models. EEs need the complete doc set. Save each as library/<MPN>/<MPN>-<doc-type>.pdf (e.g. MCXN947VNLT-errata.pdf, MCXN947VNLT-hwguide.pdf, MCXN947VNLT-appnote-spi.pdf). Don't pop in to grab just the STEP and leave — every page visit is an opportunity to harvest the full design package.
Provenance tag in info.json
Always tag the source so downstream tools know the trust level:
{
"step_source": "mfr-direct" | "mfr-via-UL" | "mfr-via-CSE" | "mouser-ecad-model" | "mouser-cse-fallback" | "snapmagic" | "ul-main-search",
"step_authoring": "mfr-uploaded" | "third-party",
"verified_by": "FILE_NAME header / SamacSys preview / etc.",
"source_url": "<the URL the file came from>"
}
Trust order: mfr-direct > mfr-via-UL > mfr-via-CSE > mouser-ecad-model > mouser-cse-fallback > snapmagic > ul-main-search. Anything tagged "snapmagic" or "third-party" gets demoted by adom-chiplinter's test-corpus weighting.
# Manufacturer-direct (chip-fetcher playbook)
Per-vendor patterns for finding CAD + datasheets directly on the manufacturer's site. Read this when you've identified the manufacturer for an MPN and need to drive their specific page layout.
**All scraping in this playbook must run in pup `sessionId: "chip-fetcher"` (NOT the dashboard session) and must heartbeat every stage transition via `/api/activity` per [`dashboard-flow.md`](dashboard-flow.md).** Canonical stage labels: `probing <vendor>.com` → `found mfr-direct CAD` (or `no mfr-direct CAD — falling back to <source>`) → `downloading <format>` → `pulling from desktop` → `imported`.
## Confidence is not a substitute for the mfr probe
The rule isn't "check the manufacturer when uncertain." It's "always START at the manufacturer's site, even when 100% confident." Recurring violation pattern: AI recalls a known part family from training → queries Mouser to verify stock → recommends "want me to fetch this from SnapMagic?" — without ever opening `<mfr>.com`. **That is a direct skill-rule violation, even when the part really does exist on SnapMagic.**
Past direct user pushback (4+ repeats across sessions):
- *"i keep telling you to not go beyond the manufacturers website."*
- *"why do you keep not using the preference order i'm asking for?"*
- *"are you sure you couldn't navigate the lattice site? i feel like you give up too fast."*
- *"does renesas say to use 3dfindit.com? cuz if not, i don't like the idea."*
Some manufacturers self-host CAD that's better than the aggregators (Würth's UL-direct CAE icon, NXP's BXL bundles). Some have UL deep-links that are still mfr-direct because the link is on the mfr's page. Some don't host CAD at all and SnapMagic is the correct fallback. **You don't know which until you actually visit `<mfr>.com`.** 30 seconds of opening the page often changes the recommendation; pay the cost.
**Operational rule:** when a user asks for any chip / LED / connector / passive — even one you're 100% sure about — your FIRST action is `browser_open_window` on the manufacturer's product page. Walk Documentation, Tools & Software, CAD icon, Resources, Hardware Files. Scrape `<img alt>` for icon-only buttons. Only AFTER that probe is it OK to fall to SnapMagic / Mouser / DigiKey, and even then REPORT the mfr's state to the user before bouncing. Mouser stock-API queries can run in parallel as a side-channel, but they don't substitute for the mfr CAD probe.
## Self-hosting matrix
| Vendor | Self-hosts STEP | Self-hosts symbol/footprint | Datasheet hosting |
|-----------|-----------------|-------------------------------|-------------------|
| TI | no (UL only) | no (UL only) | direct, open URL |
| ST | no (UL only) | no (UL only) | in-page fetch (CDN blocks curl) |
| ADI | no (UL only) | no (UL only) | in-page fetch |
| **NXP** | no | **YES — BXL format** (mfr-direct) | direct PDF |
| Microchip | no (UL gated) | no (UL gated) | Microchip CDN |
| Renesas | no | partcommunity (separate flow) | direct PDF |
| Bosch | NO CAD AT ALL | NO CAD AT ALL | direct PDF |
| Syntiant | NO CAD AT ALL | NO CAD AT ALL | NDA-gated |
| **Espressif** | **YES via Mouser CSE Library Loader.** Both bare chips (ESP32-S3FN8) and modules (ESP32-S3-WROOM-1-N4) have full STEP+sym+footprint via mouser.componentsearchengine.com. | YES (same path) | **Open URLs at `www.espressif.com/sites/default/files/documentation/<mpn>_<doctype>_en.pdf`** — datasheet + TRM are huge (10–15 MB) and curl-able from container. |
For NXP specifically: BXL files are Accelerated Designs format — convert to KiCad via their Library Loader (Windows app) or treat as opaque mfr-authored asset.
## Vendor URL & UL deep-link patterns
Each manufacturer has its own product-page URL pattern, but most eventually link to a `vendor.ultralibrarian.com/<vendor-slug>/embedded` URL with a session-tied query string.
| Vendor | Product page URL | UL deep-link |
|---------------|-----------------------------------------------------------|-------------------------------------------------------------|
| **TI** | `ti.com/product/<MPN>` | `vendor.ultralibrarian.com/TI/embedded/?gpn=<MPN>&...` |
| **ST** | `st.com/en/<category>/<mpn>.html` | `vendor.ultralibrarian.com/stmicro/embedded?rpn=<MPN>&...` |
| **ADI** | `analog.com/en/products/<mpn>.html` | `vendor.ultralibrarian.com/adi/embedded?vdrPN=<MPN>` |
| **NXP** | `nxp.com/products/<MPN>` *(self-hosts BXL — no UL)* | n/a — direct `.bxl.zip` download |
| **Microchip** | `microchip.com/en-us/product/<mpn>` *(login-gated)* | `vendor.ultralibrarian.com/microchip?vdrpn=<MPN>` *(in iframe)* |
| **Renesas** | `renesas.com/en/products/<mpn>` | n/a — Renesas routes through CADENAS PartCommunity |
| **WAGO** | `wago.com/global/p/<MPN>` | `vendor.ultralibrarian.com/Wago/Embedded/?vdrPN=<MPN>` *(via "CAE" icon)* |
Deferred: **Renesas** (CADENAS PartCommunity has its own auth flow), **Bosch / TDK / Allegro / etc.** (no CAD on their sites; need UL login).
## TI — open everything
Datasheets are trivial — `curl https://www.ti.com/lit/gpn/<base-mpn>` returns the PDF directly. No CAPTCHA, no login. Batch a whole list in one shell loop. Use `base-mpn` (e.g. `tps62840`, not `tps62840dlcr`) — that's the lowercase chip-family slug.
## Microchip iframe gotcha
Microchip embeds the UL form in a **cross-origin iframe** at `vendor.ultralibrarian.com/microchip?vdrpn=<MPN>`. `browser_eval` from the parent (microchip.com) page **cannot reach into the iframe** (CSP). Workaround: navigate the entire pup tab to the iframe URL directly. Then the form is at top level and the standard form-driver works.
```bash
adom-desktop browser_navigate '{"sessionId":"chip-fetcher","url":"https://vendor.ultralibrarian.com/microchip?vdrpn=ATSAMD51J20A-AUT"}'
```
Also: Microchip CAD is gated behind myMicrochip login. First-time use, OAuth popup opens — sign in with Google (uses the shared pup-profile Google session) or email/password.
## NXP product-page detail (don't quit early!)
NXP product pages have **icon-only CAD buttons** next to the "Data Sheet" pill that are easy to miss in a text-based DOM scrape:
1. **Symbol/Footprint icon** (small green tile, schematic-looking) — links to NXP's `/downloads/en/symbols-footprints/<MPN>-<package>-BXL.zip` (mfr-direct, no auth)
2. **3D icon** (small green tile labeled "3D") — fires `loadPartDiv('NXP','<MPN>','nxp',...)` which renders a **componentsearchengine** (samacsys) overlay div directly on the NXP page. The 3D STEP file lives behind that widget.
To find them programmatically:
```js
// Symbol/footprint URL (direct):
const ecad = document.getElementById('ecad_cta'); // <a href="javascript:loadPartDiv(...)">
const iconSrc = ecad?.querySelector('img')?.src; // https://nxp.componentsearchengine.com/icon.php?...
// Trigger samacsys widget:
loadPartDiv('NXP','<MPN>','nxp',1,'zip',0,'','en-GB',0,'',0);
// Look for #mvOverlayDiv / #modalContainer / #mvBackdrop after this fires.
```
**Lesson learned the hard way:** when a vendor page seems to have "no CAD links," look for icon-only buttons via `<img>` `alt`/`src` attrs and parent `<a href="javascript:...">` triggers, not just text search. NXP and others bury the CAD entry behind a tiny styled icon.
**Don't navigate away from the vendor page** to chase guesses. The links you need are usually on the original page, just hidden behind an icon, accordion, or async-loaded section. Scroll, click tabs, expand dropdowns, inspect images.
### NXP login + EXTENDED PROFILE gotcha
- **NXP** open without auth: datasheet (`/docs/en/data-sheet/<id>.pdf`), block diagram (`/assets/block-diagram/...`), errata (`/docs/en/errata/...`), factsheet (`/docs/en/fact-sheet/...`), application notes (`/docs/en/application-note/AN<id>.pdf`), symbol/footprint BXL (`/downloads/en/symbols-footprints/<MPN>-<package>-BXL.zip`).
- **NXP** requires login: Reference Manual, Security RM, Hardware Design Guide, FRDM/EVK board user manuals — accessed via `/webapp/Download?colCode=<id>` which redirects to `login.nxp.com` (Azure B2C). Sign in with the user's NXP account, then re-fetch.
- **NXP requires an EXTENDED PROFILE** (Tell-us-about-yourself, business title, job description, company primary business, address) before unlocking Reference Manuals + Hardware Design Guides + Board User Manuals. Detect the redirect to `/webapp-signup/updateUser?userType=EXTENDED&mandatory=YES&TARGETURL=...` after a `colCode=` Download attempt and direct the user to fill that form (one-time per account). After submission, the original `colCode=` URL serves the PDF.
## Vishay — manufacturer-direct CAD via Design Tools page (verified 2026-05-03)
Vishay self-hosts 3D models as `.zip` files on their **Design Tools** page — full mfr-direct, no UL/CSE/SnapMagic bounce required. **This is the cleanest provenance tier.** Discovered by John pointing me at the page after I missed it on first walk.
### Design Tools URL pattern
```
https://www.vishay.com/en/how/design-support-tools/?category=<NN>
```
Filter UI on the page lets you set:
- **Design Tool Type** = `3D Model` (or `Symbol/Footprint`, `SPICE Model`, etc.)
- **Product Category** = `LEDs`, `Resistors`, `Capacitors`, `Diodes`, `Optoelectronics`, etc. (drives `?category=`)
The result is a sortable table with rows like:
| Design Tool Type | Description | Product Category | Share |
|------------------|-------------|------------------|-------|
| 3D Model | SMD 0402 ChipLED (*.zip) | LEDs | 🔗 |
| 3D Model | ChipLED Highbright 0603 VLMB1300 (*.zip) | LEDs | 🔗 |
Each row's `<a href="*.zip">` is a direct download — `https://www.vishay.com/docs/<doc-id>/<filename>.zip`.
### Family-level CAD (Vishay's strategy)
**Vishay publishes ONE zip per package family, not per MPN.** Example: `vlmx15xx.zip` covers the entire VLMx15xx 0402 ChipLED family — Super Red (VLMS1500), True Green (VLMTG1500), Blue (VLMB1500), White (VLMW1500), Soft Orange (VLMO1500), Yellow (VLMY1500), and others all share the same physical SMD 0402 body, so one STEP file applies to all of them. Per-part differences (color, wavelength, Vf) come from the datasheet, not the 3D model.
**Importer implication:** when fetching from Vishay's family-level zip, distribute the extracted STEP to EACH MPN's `library/<MPN>/<MPN>.step` directory. Tag `info.json` with:
```json
{
"step_source": "mfr-direct",
"step_authoring": "mfr-uploaded",
"step_url": "https://www.vishay.com/docs/<doc-id>/<family>.zip",
"step_note": "Family-level package body — covers all <FAMILY>xxxx parts. Color/wavelength/Vf differs per part; consult datasheet."
}
```
This pattern likely applies to other passive makers too (Würth, Murata, Yageo) — assume family-level until proven otherwise.
### Vishay naming conventions for indicator LEDs
| Code | Color |
|------|-------|
| `VLMS` | Super Red |
| `VLMB` | Blue |
| `VLMG` | Yellow Green |
| `VLMTG` | True Green |
| `VLMO` | Soft Orange (Vishay's amber-equivalent) |
| `VLMY` | Yellow |
| `VLMW` | White |
Series digits indicate package size:
- `1500` = SMD 0402 ChipLED Standard family
- `1300` = 0603 family
- `1400` = larger SMD or different brightness tier
**Distributor packaging suffix vs MPN:** the bare manufacturer MPN is `VLMS1500`. The `-GS08` suffix on Mouser/DigiKey listings is the **distributor's packaging code** (tape and reel options), NOT part of Vishay's MPN. Use the bare MPN as the library directory name. Mouser stock-API queries can use either form (`VLMS1500` works; `VLMS1500-GS08` resolves to specific reel SKU).
### What Vishay does NOT host
The Design Tools page filtered to "Symbol/Footprint" for LEDs returns very limited results — Vishay does not appear to publish KiCad/Altium symbols + footprints for indicator LEDs as cleanly as the 3D models. **Confirm by visiting individual product detail pages too** (sometimes vendors publish sym/mod separately on the part page rather than in the design-tools index).
If Vishay's part page also lacks sym/mod, the canonical fallback is:
1. **Mouser product page → "ECAD Model" link** (routes into `mouser.componentsearchengine.com/...` and serves a `LIB_<MPN>.zip` with `.step` + `.kicad_sym` + `.kicad_mod`).
2. The Mouser CSE bundle's STEP is mfr-uploaded too, but **Vishay's direct STEP is more accurate** — keep Vishay's STEP, take only the sym/mod from the CSE zip.
3. This is the "mfr-direct STEP + distributor-CSE sym/mod" hybrid pattern — tag `info.json`'s `sym_source` and `mod_source` separately from `step_source`:
```json
{
"step_source": "mfr-direct", "step_url": "https://www.vishay.com/docs/.../...zip",
"sym_source": "mouser-ecad-model", "sym_url": "https://mouser.componentsearchengine.com/...",
"mod_source": "mouser-ecad-model", "mod_url": "https://mouser.componentsearchengine.com/..."
}
```
Direct user direction during the verifying session: *"if you fail [on Vishay sym/mod], then it would seem you should try to then find that product on mouser and use their symbol/footprint and we'll join the two up. i love that you found the step though cuz i want the most accurate part 3d files."*
**Translation:** mfr-direct STEP is non-negotiable for accuracy. Sym/mod can come from the Mouser-CSE fallback because they're geometric (pad placement is a geometric fact, not a wavelength curve) and CSE's mfr-uploaded copies are good enough.
---
## Lattice / iCE40 family — Documentation tab has 30+ PDFs
iCE40 UltraPlus has a Documentation tab with 30+ PDFs (datasheet, hardware checklist, design guidelines, programming guide, all the IP usage guides, package diagrams, PCB layout, solder reflow, thermal management) — all at `https://www.latticesemi.com/view_document?document_id=<N>`. None of these are in the `<chip-page>/links` scrape — you have to click the Documentation tab to see them all listed.
User pushback on bailing too quickly: *"are you sure you couldn't navigate the lattice site? i feel like you give up too fast."* **Always click the Documentation tab and scrape ALL `view_document` URLs you find.**
## Sources have rich scene graphs (TI verified)
Confirmed across 8 TI parts grabbed via UL — UL ships **manufacturer-grade B-Rep STEPs with named PRODUCTs**:
| MPN | Package | PRODUCTs (named) | Faces | Cyl | Sph |
|---|---|---|---|---|---|
| TPS62840YBGR | DSBGA-6 | `product` | 15 | 1 | 6 |
| INA226AIDGSR | VSSOP-10 | `BODY-SO`, `LEAD-SO`, `PIN1-ID`, `DGS0010A_ASM` | 64 | 24 | 8 |
| LM358APE4 | PDIP-8 | `BODY_P0008A`, `LEAD_P0008A`, `LD_LHALF`, `LD_RHALF`, `ASM` | 90 | 30 | 8 |
| DRV8316RRGFR | VQFN-40 | `FRAME`, `BODY`, `QFN_ASM` | 635 | 160 | 0 |
| MCF8316A1RRYR | VQFN-40 | `FRAME`, `BODY`, `QFN_ASM` | 635 | 160 | 0 |
These are exactly the named-scene-graph signals adom-chiplinter Mode 0 needs.
## Manufacturer "reference-layout" zips ≠ standalone chip CAD
When a manufacturer publishes a `<MPN>-reference-layout-<ver>.zip`, it's a full board-design bundle, NOT a standalone chip CAD. Verified on Nordic's nRF52840-CKAA portal: the 18 MB zip contains:
- `Altium Designer files/` — `.IntLib`, `.PcbDoc`, `.PrjPCB`, `.SchDoc` (6 board variants)
- `Bill of Materials/` — per-variant `.xls` files
- `Production files/` — Gerbers, drill (`.DRL`)
- `Schematic and Layout pdf files/` — board-level PDFs
**Where it goes:** keep in `library/<MPN>/reference-layout/<...preserve subdirs...>` as a separate artifact bucket. Don't try to extract STEP/sym/mod from the Altium files automatically. Surface it in the viewer as "Reference layout: <N> BOMs · <N> Altium variants · <N> Gerbers · <N> PDFs."
**This bundle does NOT fill chip-fetcher's `<MPN>.step` / `<MPN>.kicad_sym` / `<MPN>.kicad_mod` slots.** Mark the chip as still stub-on-CAD in the viewer when only reference-layout exists.
## When stuck on a vendor: show user + let them teach you
chip-fetcher is community-built and recursively-learning. When the agent hits a dead end:
1. **Open the product page in pup foreground** (`browser_raise_os_window`).
2. **Take a screenshot** so the user can see what page state the agent landed on.
3. **Ask one short question:** *"I can't find a CAD download path on this page — can you spot it? Click the right button or describe what you see."*
4. **Wait for the user's hint.**
5. **Implement the path the user described.**
6. **Capture the new pattern back into this skill** with a vendor-specific section so the next agent doing the same vendor's part finds it automatically.
Direct user quote: *"our users can help build out this skill as they need specific parts. so you should always show them the product page when you think you're at a dead end and let them help you figure out how to get the cad just like i have several times. then figure it out from their feedback and add to the skill."*
Failure modes pushed back on:
- Went to 3dfindit.com because Renesas didn't surface CAD on the chip page → user: *"does renesas say to use 3dfindit.com? cuz if not, i don't like the idea of using it."*
- Jumped to Mouser CSE for the iCE40UP5K STEP without exhausting Lattice → user: *"are you sure you couldn't navigate the lattice site? i feel like you give up too fast."*
- Tried to use SnapMagic for BME688 → user: *"those other services like snapmagic don't have good 3d files."*
## Grab ALL design-help PDFs while you're on a vendor page
Datasheet alone isn't enough for an EE: also pull errata, hardware design guides, app notes, reference designs, anti-counterfeit guides, package mechanical drawings, IBIS models. EEs need the complete doc set. **Save each as `library/<MPN>/<MPN>-<doc-type>.pdf`** (e.g. `MCXN947VNLT-errata.pdf`, `MCXN947VNLT-hwguide.pdf`, `MCXN947VNLT-appnote-spi.pdf`). Don't pop in to grab just the STEP and leave — every page visit is an opportunity to harvest the full design package.
## Provenance tag in info.json
Always tag the source so downstream tools know the trust level:
```json
{
"step_source": "mfr-direct" | "mfr-via-UL" | "mfr-via-CSE" | "mouser-ecad-model" | "mouser-cse-fallback" | "snapmagic" | "ul-main-search",
"step_authoring": "mfr-uploaded" | "third-party",
"verified_by": "FILE_NAME header / SamacSys preview / etc.",
"source_url": "<the URL the file came from>"
}
```
Trust order: `mfr-direct` > `mfr-via-UL` > `mfr-via-CSE` > `mouser-ecad-model` > `mouser-cse-fallback` > `snapmagic` > `ul-main-search`. Anything tagged `"snapmagic"` or `"third-party"` gets demoted by adom-chiplinter's test-corpus weighting.