Adom DS2SF - Datasheet to Symbol and Footprint
Public Made by Adomby adom
Datasheet to symbol + footprint + provenance JSON, with a live dashboard: pins, groups, land pattern, and the datasheet page every fact came from.
Install?
Datasheet to symbol + footprint + provenance JSON, with a live dashboard: pins, groups, land pattern, and the datasheet page every fact came from.
adom-wiki pkg install adom/adom-ds2sf
Latest: v1.1.1, published
Contents
- What it does
- The dashboard (new in 1.1)
- 1. DMG2305UX-7: P-channel MOSFET
- 2. LM358D: Dual op-amp
- 3. TPS62840YBGR: Buck converter
- 4. INA226AIDGSR: Current / power monitor
- 5. MSP430G2553IPW20: 16-bit MCU
- 6. BMI270: 6-axis IMU
- 7. ESP32-S3-WROOM-1-N4: Wi-Fi + BLE module
- Part of the Adom EDA family
- Run it
- Contributing & forking: open source under the Adom org
- License
README
markdownadom-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.
The dashboard (new in 1.1)
adom-ds2sf show opens a live dashboard over your chip-fetcher library: every chip with its extraction status, and for the selected chip the pins with their groups, the footprint SVG beside the KiCad stdlib baseline, every dimension, and provenance links that open the datasheet PDF at the exact page each fact was read from. Extractions started from the page or the CLI stream their log into the Log tab live.

adom-ds2sf --ai-thread "ds2sf" show # start if needed, open the Hydrogen webview tab
adom-ds2sf --ai-thread "ds2sf" show --surface pup # or the AI's Chrome on the desktop (background, maximized)
adom-ds2sf --ai-thread "ds2sf" ui select STM32L431RCT6TR # focus a chip
adom-ds2sf --ai-thread "ds2sf" ui extract STM32L431RCT6TR # run the extractor, watch the Log tab
adom-ds2sf ls # running instances, version drift
Every state-changing call carries an ai-thread name, one extraction runs at a time, and the server reaps itself after 24 idle hours (never mid-extraction). The full endpoint table is in the skill.
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:

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):


→ 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:

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):


→ 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:

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):


→ 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:

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):


→ 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:

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):


→ 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:

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):


→ 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:

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):


→ 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.
- Build it.
cargo build --releasedrops a standalone binary. - Point your install at your checkout.
adompkg link john/adom-ds2sf ./adom-ds2sf. - Vibe-code a change. Open it in Claude Code: a new provenance field, a different grouping heuristic, another datasheet quirk to handle.
- 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
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.
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.
- Read existing trails:
License
MIT: © 2026 Adom Industries Inc. Open source; see LICENSE. Modify, fork, and redistribute freely.