Adom Library
Public Made by Adomby adom
adom-lbr — the EDA library translator. Bring a component in from any supported EDA tool and convert it to any other (KiCad ⇄ Altium ⇄ EAGLE/Fusion) through one canonical adom-lbr JSON — symbol + footprint + 3D + pin↔pad map. Altium is written natively (no Altium needed). Includes the adom-lbr Manager: browse wiki components and view symbol/footprint/3D + the per-EDA layer stackup.
generate: duplicate pad names (same-net arrays) pass through verbatim and Fusion refuses the whole library - emit the EAGLE @-suffix convention
generate copies KiCad's duplicate pad names verbatim, and Fusion refuses the entire library
KiCad allows several pads to share one name when they are the same net - thermal via arrays, shield pads, exposed paddles. This is normal, correct KiCad data. EAGLE/Fusion does not allow it: the importer refuses the WHOLE library.
adom-lbr generate copies the pad names through unchanged, so every part with a same-net pad array produces a .lbr that Fusion rejects outright. Measured across the 13 Adom demo parts - three affected:
ads1220irvar 22 pads pad '17' x6 (thermal vias)
rp2350b 91 pads pad '81' x11 (ground array)
type-c-31-m-12 20 pads pad 'SH' x4 (shield, 4 physical pads)
The fusion-bridge's preflight names the failure precisely:
lbr_preflight_failed: pads-unique: duplicate pad names - Fusion's importer
refuses the ENTIRE library over these: RP2350B/81 x11.
Rename to e.g. 17, 17@2, 17@3...
The fix is the EAGLE @-suffix convention
EAGLE's own convention for one logical pin on several physical pads is NAME, NAME@2, NAME@3... - and connects reference them all to the same pin. generate should emit exactly that when a .kicad_mod has repeated pad names:
- package:
17,17@2...17@6 - connects:
<connect gate="G$1" pin="17" pad="17 17@2 17@3 17@4 17@5 17@6"/>(or one connect per pad, whichever EAGLE-dialect Fusion accepts - the space-separated multi-pad form is standard EAGLE)
That preserves the electrical meaning (all six pads are pin 17) instead of losing it.
Why this matters beyond three parts
Any QFN with a thermal pad, any connector with a multi-pad shield - i.e. a large fraction of real parts - hits this. It is also invisible until Fusion refuses the import: validate passes these files today, so nothing upstream catches it.
Related: adom-lbr#9 (validate does not check connect/pad referential integrity). Same theme - validate should also flag duplicate pad names as long as generate does not resolve them.
Repro: adom-lbr generate --sym rp2350b.kicad_sym --fp rp2350b.kicad_mod -o out.lbr from adom/rp2350b's page files, then count <smd name="81" in the output: 11.