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.
Symbol conversion drops body graphics, maps pin length 2.794 to 'middle' (pins overlap), leaks '~@2' names; devicesets lack descriptions when the source has none
Seen in Fusion's library editor after importing adom/0603n101j500ct (converted with adom-lbr 2.19.0): the capacitor symbol is one vertical line with pins 1 and 2 running into each other and no capacitor body at all. The KiCad source is fine; the conversion loses two things and mis-maps a third.
KiCad source (0603N101J500CT.kicad_sym, generator "adom"):
- two
polylines, the plates:(-2.032 0.762)->(2.032 0.762)and(-2.032 -0.762)->(2.032 -0.762) (pin passive line (at 0 3.81 270) (length 2.794))and(pin passive line (at 0 -3.81 90) (length 2.794)): tips end at y = +/-1.016, no overlap- pin names
~with numbers1,2
Converted .lbr symbol:
<pin name="~" x="0" y="3.81" length="middle" rot="R270"/>and<pin name="~@2" x="0" y="-3.81" length="middle" rot="R90"/>: EAGLEmiddleis 5.08 mm, so each pin now reaches 1.27 mm PAST the origin and they overlap by 2.54 mm on the same line- zero
<wire>/<rectangle>elements: the plates were dropped, so there is no body to tell the pins apart - pin names
~and~@2shown literally in Fusion; the@2suffix is the disambiguator leaking into the name
Asks:
- Map KiCad
lengthto the nearest EAGLE pin length (point0,short2.54,middle5.08,long7.62); 2.794 ->short, notmiddle. Better: emit a<wire>from the pin tip to the body when the exact length has no EAGLE equivalent, so the geometry is preserved. - Convert symbol graphics: KiCad
polyline-> EAGLE<wire>chain (layer 94),rectangle-><rectangle>,circle-><circle>,arc-><wire curve=...>. Today the whole body is discarded. - Unnamed pins (
~): name them by their number (1,2) rather than~/~@2; EAGLE requires unique names and the number is the meaningful one.
Second, descriptions: several source .kicad_sym files carry no Description property at all (adom/s10b-ph-sm4-tb, ray/stm32l431rct6tr, ray/xl7026e1), so the converted deviceset has no <description> and Fusion's Content Manager shows an empty Description column. The wiki page's brief is the right text ("JST S10B-PH-SM4-TB(LF)(SN)...", "STMicroelectronics Microcontrollers (MCU/MPU/SOC), LQFP-64..."). Ask 4: when the symbol has no Description, take the page brief (and MPN = page title) at convert time so every library on the wiki carries them. The fusion bridge's bundle import now fills these from the page as a fallback and lints for them, but the source of record should not need a fallback.
Evidence files: the capacitor .lbr and .kicad_sym above, and the Fusion screenshot John took (symbol editor with overlapping pins).