app
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.
← Commit history
README.mdadded+605@@ -0,0 +1,605 @@+# 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](https://www.diodes.com/assets/Datasheets/DMG2305UX.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:++```json+{+ "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](https://www.diodes.com/assets/Datasheets/DMG2305UX.pdf)++## 2. LM358D â Dual op-amp++*Texas Instruments · SOIC-8 · [original datasheet PDF](https://www.ti.com/lit/ds/symlink/lm358.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:++```json+{+ "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](https://www.ti.com/lit/ds/symlink/lm358.pdf)++## 3. TPS62840YBGR â Buck converter++*Texas Instruments · WCSP-6 (YBG, DSBGA) · [original datasheet PDF](https://www.ti.com/lit/ds/symlink/tps62840.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:++```json+{+ "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](https://www.ti.com/lit/ds/symlink/tps62840.pdf)++## 4. INA226AIDGSR â Current / power monitor++*Texas Instruments · VSSOP-10 · [original datasheet PDF](https://www.ti.com/lit/ds/symlink/ina226.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:++```json+{+ "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](https://www.ti.com/lit/ds/symlink/ina226.pdf)++## 5. MSP430G2553IPW20 â 16-bit MCU++*Texas Instruments · TSSOP-20 · [original datasheet PDF](https://www.ti.com/lit/ds/symlink/msp430g2553.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:++```json+{+ "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](https://www.ti.com/lit/ds/symlink/msp430g2553.pdf)++## 6. BMI270 â 6-axis IMU++*Bosch · LGA-14 · [original datasheet PDF](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.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:++```json+{+ "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](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf)++## 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](https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.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:++```json+{+ "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](https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf)++# 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++```bash+adom-ds2sf extract <chip-dir> # datasheet PDF â symbol + footprint + provenance JSON+adom-ds2sf inspect <chip-dir> # summarize an extraction+```+MIT, contributions welcome.
page.jsonadded+31@@ -0,0 +1,31 @@+{+ "slug": "adom-ds2sf",+ "version": "1.0.0",+ "type": "app",+ "description": "Datasheet to symbol + footprint + provenance JSON — pins and pads, extracted from the PDF.",+ "dependencies": {},+ "tags": [+ "eda",+ "datasheet",+ "extraction",+ "symbol",+ "footprint",+ "cli"+ ],+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "install": {+ "binary_name": "adom-ds2sf"+ },+ "needs_sudo": false,+ "hero": {+ "type": "image",+ "path": "adom-ds2sf.png"+ },+ "author": {+ "name": "John Lauer",+ "email": "[email protected]"+ }+}