Propose a change
Name Last commit message Last updated
bin Publish 1.0.0 27d ago
docs Publish 1.0.1 26d ago
src Upload full source (MIT) — open source under adom org 26d ago
.gitignore Upload full source (MIT) — open source under adom org 26d ago
adom-ds2sf-billboard.png name-first hero, fresh from-scratch screenshot at window size 24d ago
adom-ds2sf-hero-v3.png apply editor sheet: name-first hero 24d ago
adom-ds2sf-hero-v4.png bigger name (+20%), smaller logo (-10%) 24d ago
adom-ds2sf.png Publish 1.0.1 26d ago
build.sh Upload full source (MIT) — open source under adom org 26d ago
Cargo.lock Upload full source (MIT) — open source under adom org 26d ago
Cargo.toml Upload full source (MIT) — open source under adom org 26d ago
install.sh Publish 1.0.1 26d ago
LICENSE Upload full source (MIT) — open source under adom org 26d ago
package.json normalize open-source: MIT LICENSE + license field + README license 25d ago
page.json point hero -> v4 24d ago
README.md normalize open-source: MIT LICENSE + license field + README license 25d ago
SKILL.md Publish 1.0.1 26d ago
uninstall.sh Publish 1.0.1 26d ago

adom-ds2sf

Datasheet → symbol + footprint + provenance. Read a chip's PDF, extract its pins and pads, and emit structured JSON the rest of the Adom EDA tools build on.

adom-ds2sf ("datasheet to symbol & footprint") reads a manufacturer datasheet PDF and extracts the part's electrical interface — pin names, numbers, types, and logical groups (POWER, GROUND, GPIO split by port, DEBUG…) — plus the land pattern when the datasheet provides one, into <MPN>-symbol.extracted.json and <MPN>-footprint.extracted.json with per-field provenance: every pin and every dimension records the datasheet page it came from. It's the source that lets adom-symbol auto-generate a clean, balanced, grouped symbol straight from the datasheet — independent of any vendor's CAD draw.

What it does

  • extract — datasheet PDF → symbol + footprint + provenance JSON.
  • inspect — summarize an existing extraction in a chip directory.
  • svg — regenerate the authoritative footprint SVG from cached JSON (no re-extraction).

Note: a datasheet without a land-pattern table yields a symbol but no footprint pads — adom-ds2sf reports exactly what it could and couldn't extract, with provenance on every datapoint.

Seven worked examples

Each example below was produced by adom-ds2sf extract on the manufacturer's own datasheet. For every part you can see the generated symbol + footprint, the full extracted pin list, the provenance JSON (with the datasheet page each datapoint came from), and the actual datasheet pages adom-ds2sf read — plus a link to the original PDF. Seven different part types, seven different packages.

1. DMG2305UX-7 — P-channel MOSFET

Diodes Incorporated · SOT-23 · original datasheet PDF

P-channel enhancement-mode MOSFET in SOT-23. -20V Vds, -4.2A continuous Id at Ta=25°C (Vgs=-4.5V), Rds(on) typ 40 mΩ at Vgs=-4.5V / 52 mΩ at Vgs=-2.5V. Low-Vgs(th) load-switch / power-management device.

Symbol + footprint, generated by adom-ds2sf:

DMG2305UX-7 symbol and footprint generated by adom-ds2sf

Extracted pin list (3 pins):

# Name Type Group
1 G input CONTROL
2 S passive POWER
3 D passive POWER

Provenance — every field traces back to a datasheet page:

{
  "mpn": "DMG2305UX-7",
  "datasheet": {
    "url": "https://www.diodes.com/assets/Datasheets/DMG2305UX.pdf",
    "page_count": 6,
    "sha256": "7421a75157a2e700…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 1,
      "pin_name": "G",
      "pin_number": "1",
      "table_caption": "Top View / Internal Schematic (page 1)"
    },
    {
      "confidence": "high",
      "page": 1,
      "pin_name": "S",
      "pin_number": "2",
      "table_caption": "Top View / Internal Schematic (page 1)"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "Package Outline Dimensions — SOT23 (Standard)",
      "page": 5,
      "value": 2.9
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "Package Outline Dimensions — SOT23 (Standard)",
      "page": 5,
      "value": 1.3
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.1) and the package drawing (p.5):

DMG2305UX-7 datasheet pin-configuration page

DMG2305UX-7 datasheet package-dimensions page

→ Open the original DMG2305UX-7 datasheet

2. LM358D — Dual op-amp

Texas Instruments · SOIC-8 · original datasheet PDF

Industry-standard dual general-purpose operational amplifier. Operates from a single 3V to 32V supply (or split ±1.5V to ±16V), with an input common-mode range that includes ground and a typical 1.2 MHz gain-bandwidth product. SOIC-8 (D)…

Symbol + footprint, generated by adom-ds2sf:

LM358D symbol and footprint generated by adom-ds2sf

Extracted pin list (8 pins):

# Name Type Group
1 OUT1 output OTHER
2 IN1- input OTHER
3 IN1+ input OTHER
4 V- power_in POWER
5 IN2+ input OTHER
6 IN2- input OTHER
7 OUT2 output OTHER
8 V+ power_in POWER

Provenance — every field traces back to a datasheet page:

{
  "mpn": "LM358D",
  "datasheet": {
    "url": "https://www.ti.com/lit/ds/symlink/lm358.pdf",
    "page_count": 68,
    "sha256": "9c879c3a3e9291c5…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 3,
      "pin_name": "OUT1",
      "pin_number": "1",
      "table_caption": "Table 4-1. Pin Functions"
    },
    {
      "confidence": "high",
      "page": 3,
      "pin_name": "IN1-",
      "pin_number": "2",
      "table_caption": "Table 4-1. Pin Functions"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "D0008A Package Outline — SOIC - 1.75 mm max height",
      "page": 59,
      "value": 4.91
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "D0008A Package Outline — SOIC - 1.75 mm max height",
      "page": 59,
      "value": 3.9
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.3) and the package drawing (p.60):

LM358D datasheet pin-configuration page

LM358D datasheet package-dimensions page

→ Open the original LM358D datasheet

3. TPS62840YBGR — Buck converter

Texas Instruments · WCSP-6 (YBG, DSBGA) · original datasheet PDF

1.8-V to 6.5-V input, 750-mA step-down (buck) converter with ultra-low 60-nA operating quiescent current and 100% duty-cycle mode (120-nA Iq). DCS-Control architecture with 1.8-MHz nominal switching, 16 selectable output voltages via VSET…

Symbol + footprint, generated by adom-ds2sf:

TPS62840YBGR symbol and footprint generated by adom-ds2sf

Extracted pin list (6 pins):

# Name Type Group
A1 GND power_in GROUND
A2 VOS input POWER
B1 VIN power_in POWER
B2 SW power_out POWER
C1 EN input CONTROL
C2 VSET input CONTROL

Provenance — every field traces back to a datasheet page:

{
  "mpn": "TPS62840YBGR",
  "datasheet": {
    "url": "https://www.ti.com/lit/ds/symlink/tps62840.pdf",
    "page_count": 45,
    "sha256": "b715ae80beb8f08b…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 5,
      "pin_name": "GND",
      "pin_number": "A1",
      "table_caption": "Pin Functions"
    },
    {
      "confidence": "high",
      "page": 5,
      "pin_name": "VOS",
      "pin_number": "A2",
      "table_caption": "Pin Functions"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "YBG0006 Package Outline — DSBGA - 0.5 mm max height (D: 1.498/1.438 mm, E: 0.998/0.938 mm)",
      "page": 39,
      "value": 0.968
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "YBG0006 Package Outline — DSBGA - 0.5 mm max height (D: 1.498/1.438 mm, E: 0.998/0.938 mm)",
      "page": 39,
      "value": 1.468
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.5) and the package drawing (p.40):

TPS62840YBGR datasheet pin-configuration page

TPS62840YBGR datasheet package-dimensions page

→ Open the original TPS62840YBGR datasheet

4. INA226AIDGSR — Current / power monitor

Texas Instruments · VSSOP-10 · original datasheet PDF

36V, 16-bit ultra-precise I²C/SMBus current, voltage, and power monitor with alert. Senses bus voltages from 0V to 36V (high- or low-side), with ±81.92 mV shunt range, 0.1% gain error, 10 µV offset, and configurable averaging. Operates…

Symbol + footprint, generated by adom-ds2sf:

INA226AIDGSR symbol and footprint generated by adom-ds2sf

Extracted pin list (10 pins):

# Name Type Group
1 A1 input CONTROL
2 A0 input CONTROL
3 Alert output ALERT
4 SDA bidirectional I2C
5 SCL input I2C
6 VS power_in POWER
7 GND power_in GROUND
8 VBUS input ADC
9 IN- input ADC
10 IN+ input ADC

Provenance — every field traces back to a datasheet page:

{
  "mpn": "INA226AIDGSR",
  "datasheet": {
    "url": "https://www.ti.com/lit/ds/symlink/ina226.pdf",
    "page_count": 40,
    "sha256": "8652754621863692…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 3,
      "pin_name": "A1",
      "pin_number": "1",
      "table_caption": "Table 4-1. Pin Functions"
    },
    {
      "confidence": "high",
      "page": 3,
      "pin_name": "A0",
      "pin_number": "2",
      "table_caption": "Table 4-1. Pin Functions"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "DGS0010A Package Outline — VSSOP - 1.1 mm max height (JEDEC MO-187 BA)",
      "page": 37,
      "value": 3.0
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "DGS0010A Package Outline — VSSOP - 1.1 mm max height (JEDEC MO-187 BA)",
      "page": 37,
      "value": 3.0
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.3) and the package drawing (p.38):

INA226AIDGSR datasheet pin-configuration page

INA226AIDGSR datasheet package-dimensions page

→ Open the original INA226AIDGSR datasheet

5. MSP430G2553IPW20 — 16-bit MCU

Texas Instruments · TSSOP-20 · original datasheet PDF

Ultra-low-power 16-bit RISC microcontroller with 16 KB flash, 512 B SRAM, 10-bit ADC, and integrated UART/SPI/I²C interfaces. Operates at 1.8–3.6 V with active mode consumption of 230 µA/MHz and RTC mode of 0.1 µA.

Symbol + footprint, generated by adom-ds2sf:

MSP430G2553IPW20 symbol and footprint generated by adom-ds2sf

Extracted pin list (20 pins):

# Name Type Group
1 DVCC power_in POWER
2 P1.0/TA0CLK/ACLK/A0/CA0 bidirectional GPIO
3 P1.1/TA0.0/UCA0RXD/UCA0SOMI/A1/CA1 bidirectional GPIO
4 P1.2/TA0.1/UCA0TXD/UCA0SIMO/A2/CA2 bidirectional GPIO
5 P1.3/ADC10CLK/A3/VREF-/VREF+/CA3/CAOUT bidirectional GPIO
6 P1.4/SMCLK/UCB0STE/UCA0CLK/A4/VREF+/CA4/TCK bidirectional GPIO
7 P1.5/TA0.0/UCB0CLK/UCAOSSTE/A5/CA5/TMS bidirectional GPIO
8 P2.0/TA1.0 bidirectional GPIO
9 P2.1/TA1.1 bidirectional GPIO
10 P2.2/TA1.1 bidirectional GPIO
11 P2.3/TA1.0 bidirectional GPIO
12 P2.4/TA1.2 bidirectional GPIO
13 P2.5/TA1.2 bidirectional GPIO
14 NC unconnected NC
15 P1.6/TA0.1/A6/CA6/UCB0SOMI/UCB0SCL/TDI/TCLK bidirectional GPIO
16 P1.7/A7/CA7/CAOUT/UCB0SIMO/UCB0SDA/TDO/TDI bidirectional GPIO
17 TEST/SBWTCK input DEBUG
18 XOUT/P2.7 bidirectional TIMING
19 XIN/P2.6/TA0.1 bidirectional TIMING
20 DVSS power_in GROUND

Provenance — every field traces back to a datasheet page:

{
  "mpn": "MSP430G2553IPW20",
  "datasheet": {
    "url": "https://www.ti.com/lit/ds/symlink/msp430g2553.pdf",
    "page_count": 85,
    "sha256": "c94b53fef9ba6065…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 3,
      "pin_name": "DVCC",
      "pin_number": "1",
      "table_caption": "Device Pinout, MSP430G2x13 and MSP430G2x53, 20-Pin Devices, TSSOP and PDIP"
    },
    {
      "confidence": "high",
      "notes": "Muxed pin with multiple peripheral functions; configure via software.",
      "page": 6,
      "pin_name": "P1.0/TA0CLK/ACLK/A0/CA0",
      "pin_number": "2",
      "table_caption": "Table 2. Terminal Functions"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "PW0020A Package Outline",
      "page": 76,
      "value": 6.6
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "PW0020A Package Outline",
      "page": 76,
      "value": 4.5
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.6) and the package drawing (p.77):

MSP430G2553IPW20 datasheet pin-configuration page

MSP430G2553IPW20 datasheet package-dimensions page

→ Open the original MSP430G2553IPW20 datasheet

6. BMI270 — 6-axis IMU

Bosch · LGA-14 · original datasheet PDF

Ultra-low-power 16-bit 6-axis IMU (accelerometer + gyroscope) with integrated motion-triggered interrupts, gesture recognition, and advanced power management. Dual-protocol interface supporting I²C and SPI with optional auxiliary sensor…

Symbol + footprint, generated by adom-ds2sf:

BMI270 symbol and footprint generated by adom-ds2sf

Extracted pin list (14 pins):

# Name Type Group
1 SDO output I2C
2 ASDx bidirectional OTHER
3 ASCx input OTHER
4 INT1 output ALERT
5 VDDIO power_in POWER
6 GNDIO passive GROUND
7 GND passive GROUND
8 VDD power_in POWER
9 INT2 output ALERT
10 OCSB input OTHER
11 OSDO output OTHER
12 CSB input SPI
13 SCx input I2C
14 SDx bidirectional I2C

Provenance — every field traces back to a datasheet page:

{
  "mpn": "BMI270",
  "datasheet": {
    "url": "https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf",
    "page_count": 150,
    "sha256": "51818aed4619bccc…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "notes": "SPI MISO (4-wire), I2C address bit-0 select; open-drain output",
      "page": 135,
      "pin_name": "SDO",
      "pin_number": "1",
      "table_caption": "Table 22: Pin-out and pin connections"
    },
    {
      "confidence": "high",
      "notes": "Secondary interface; muxed for Aux I2C SDA, OIS SDI, or DNC",
      "page": 135,
      "pin_name": "ASDx",
      "pin_number": "2",
      "table_caption": "Table 22: Pin-out and pin connections"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "Section 8.1, Package outline dimensions",
      "page": 143,
      "value": 3.0
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "Section 8.1, Package outline dimensions",
      "page": 143,
      "value": 2.5
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.135) and the package drawing (p.145):

BMI270 datasheet pin-configuration page

BMI270 datasheet package-dimensions page

→ Open the original BMI270 datasheet

7. ESP32-S3-WROOM-1-N4 — Wi-Fi + BLE module

Espressif Systems · SMD-41 (18 x 25.5 x 3.1 mm castellated module, PCB antenna) · original datasheet PDF

ESP32-S3-WROOM-1-N4 is a Wi-Fi (802.11 b/g/n) and Bluetooth LE 5 module built around the ESP32-S3 SoC (dual-core Xtensa LX7 @ 240 MHz, vector instructions for ML). The -N4 variant integrates 4 MB SPI flash and no PSRAM. Module exposes up…

Symbol + footprint, generated by adom-ds2sf:

ESP32-S3-WROOM-1-N4 symbol and footprint generated by adom-ds2sf

Extracted pin list (41 pins):

# Name Type Group
1 GND power_in GROUND
2 3V3 power_in POWER
3 EN input CONTROL
4 IO4 bidirectional GPIO
5 IO5 bidirectional GPIO
6 IO6 bidirectional GPIO
7 IO7 bidirectional GPIO
8 IO15 bidirectional GPIO
9 IO16 bidirectional GPIO
10 IO17 bidirectional GPIO
11 IO18 bidirectional GPIO
12 IO8 bidirectional GPIO
13 IO19 bidirectional USB
14 IO20 bidirectional USB
15 IO3 bidirectional GPIO
16 IO46 bidirectional GPIO
17 IO9 bidirectional GPIO
18 IO10 bidirectional GPIO
19 IO11 bidirectional GPIO
20 IO12 bidirectional GPIO
21 IO13 bidirectional GPIO
22 IO14 bidirectional GPIO
23 IO21 bidirectional GPIO
24 IO47 bidirectional GPIO
25 IO48 bidirectional GPIO
26 IO45 bidirectional GPIO
27 IO0 bidirectional GPIO
28 IO35 bidirectional GPIO
29 IO36 bidirectional GPIO
30 IO37 bidirectional GPIO
31 IO38 bidirectional GPIO
32 IO39 bidirectional DEBUG
33 IO40 bidirectional DEBUG
34 IO41 bidirectional DEBUG
35 IO42 bidirectional DEBUG
36 RXD0 bidirectional UART
37 TXD0 bidirectional UART
38 IO2 bidirectional GPIO
39 IO1 bidirectional GPIO
40 GND power_in GROUND
41 EPAD power_in GROUND

Provenance — every field traces back to a datasheet page:

{
  "mpn": "ESP32-S3-WROOM-1-N4",
  "datasheet": {
    "url": "https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf",
    "page_count": 87,
    "sha256": "2d5a7cb7fd559d8d…"
  },
  "symbol.pin_provenance": [
    {
      "confidence": "high",
      "page": 11,
      "pin_name": "GND",
      "pin_number": "1",
      "table_caption": "Table 3-1. Pin Definitions"
    },
    {
      "confidence": "high",
      "page": 11,
      "pin_name": "3V3",
      "pin_number": "2",
      "table_caption": "Table 3-1. Pin Definitions"
    }
  ],
  "footprint.dimension_provenance": [
    {
      "field": "bodyDimensions.x",
      "figure_label": "Figure 10-1. ESP32-S3-WROOM-1 Physical Dimensions",
      "page": 42,
      "value": 18.0
    },
    {
      "field": "bodyDimensions.y",
      "figure_label": "Figure 10-1. ESP32-S3-WROOM-1 Physical Dimensions",
      "page": 42,
      "value": 25.5
    }
  ]
}

The datasheet pages adom-ds2sf read — the pin table (p.11) and the package drawing (p.45):

ESP32-S3-WROOM-1-N4 datasheet pin-configuration page

ESP32-S3-WROOM-1-N4 datasheet package-dimensions page

→ Open the original ESP32-S3-WROOM-1-N4 datasheet

Open source — check it out, vibe-code it, send it back

adom-ds2sf is MIT and fully open. The complete Rust source is in this page's Files tab.

  1. Build it. cargo build --release drops a standalone binary.
  2. Point your install at your checkout. adompkg link john/adom-ds2sf ./adom-ds2sf.
  3. Vibe-code a change. Open it in Claude Code — a new provenance field, a different grouping heuristic, another datasheet quirk to handle.
  4. Send it back. Open a pull request on this page, or start a discussion thread.

Part of the Adom EDA family

adom-ds2sf is the extractor; its results are viewed and used through adom-symbol / adom-footprint (it has no viewer of its own). It feeds adom-chip-fetcher's source carat as the "adom-ds2sf · datasheet" source.

Run it

adom-ds2sf extract <chip-dir>     # datasheet PDF → symbol + footprint + provenance JSON
adom-ds2sf inspect <chip-dir>     # summarize an extraction

MIT, contributions welcome.

Contributing & forking — open source under the Adom org

adom-ds2sf is open source under the adom org on the Adom Wiki. The full source lives in this page's repo — open the Files tab, or adompkg install adom/adom-ds2sf and edit the package. Third-party developers are welcome to modify it and contribute back.

Modify it

  • Get the source from the Files tab (or adompkg install adom/adom-ds2sf), make your changes, and rebuild.

Contribute back to Adom — two paths

  1. Pull request (preferred). The wiki runs a PR-per-page flow: propose your change on this page and the maintainer reviews + merges it — no fork needed.

  2. Fork + breadcrumb. Prefer your own fork or add-on? Publish it as your own wiki page, then drop a breadcrumb on this page pointing at your fork so it's discoverable:

    • Read existing trails: GET https://wiki.adom.inc/api/v1/pages/adom-ds2sf/breadcrumbs
    • Attach a breadcrumb from your fork's page targeting this anchor (a short label + your slug).

    The breadcrumb leaves a linked path back here, so Adom's AI can auto-discover your fork and surface it to users — the trail is followable both ways. Your fork stays yours; the original stays discoverable.

License

MIT — © 2026 Adom Industries Inc. Open source; see LICENSE. Modify, fork, and redistribute freely.