Skip to content

feat: add PDIP-8, SPDIP-28 aliases and UTDFN-4-EP(1x1) footprint support#649

Open
sagarmaurya64-ai wants to merge 4 commits into
tscircuit:mainfrom
sagarmaurya64-ai:main
Open

feat: add PDIP-8, SPDIP-28 aliases and UTDFN-4-EP(1x1) footprint support#649
sagarmaurya64-ai wants to merge 4 commits into
tscircuit:mainfrom
sagarmaurya64-ai:main

Conversation

@sagarmaurya64-ai
Copy link
Copy Markdown

@sagarmaurya64-ai sagarmaurya64-ai commented Jun 4, 2026

Resolves #371, #180, #183

Summary

This PR adds support for multiple missing footprint packages:


1. PDIP-8 alias (#371 - $10)

  • Added PDIP-<N> as a string alias that normalizes to standard dip<N>
  • Example: PDIP-8dip8

2. SPDIP-28 alias (#180 - $10)

  • Added SPDIP-<N> as a string alias for Shrink DIP (70 mil / 1.778mm pitch)
  • Example: SPDIP-28dip28_p1.778mm

3. UTDFN-4-EP(1x1) footprint (#183 - $10)

Adds support for the Ultra-Thin Dual Flat No-Lead with Exposed Pad (1×1 mm body) package.

Implementation:

  • Extended src/fn/dfn.ts — Added ep, epw, and eph parameters. When ep=true, a rectangular exposed thermal pad is placed at center (pin N+1).
  • Added UTDFN-4-EP(1x1) normalization in normalizeDefinition() mapping to:
    dfn4_w1.00mm_h1.00mm_p0.65mm_pl0.30mm_pw0.25mm_ep_epw0.50mm_eph0.50mm
  • Generic utdfn<N> aliases also now map to dfn<N>.

Dimensions (from SGM2036/UTDFN-1×1-4L datasheet):

Parameter Value
Body 1.0 mm × 1.0 mm
Pitch 0.65 mm
Pad width 0.25 mm
Pad length 0.30 mm
Exposed pad 0.50 mm × 0.50 mm

Tests Added

  • tests/dip.test.ts — PDIP-8 and SPDIP-28 alias parity tests
  • tests/dfn.test.ts — UTDFN-4-EP(1x1) pad count, EP position, and alias parity tests

All local format checks pass cleanly.

@sagarmaurya64-ai
Copy link
Copy Markdown
Author

Hi @seveibar! 👋 Just following up on this PR.

All CI checks (format code, build, format-check, test) are passing and green.
This PR adds support for PDIP-8 and SPDIP-28 string footprint aliases, resolving issue #371 and #180.

Please review and merge whenever you have a moment! Thank you! 🙏

…sion

- Extended dfn_def schema to accept ep (bool), epw, eph parameters
- dfn generator now places an exposed/thermal center pad (pin N+1) when ep=true
- Added UTDFN-4-EP(1x1) normalisation in normalizeDefinition() mapping to
  dfn4_w1.00mm_h1.00mm_p0.65mm_pl0.30mm_pw0.25mm_ep_epw0.50mm_eph0.50mm
- Added generic utdfn -> dfn fallback for other UTDFN sizes
- Added test cases in tests/dfn.test.ts verifying pad count, EP position, and alias parity

Closes tscircuit#183
@sagarmaurya64-ai sagarmaurya64-ai changed the title feat: add support for PDIP-8 and SPDIP-28 string footprint aliases feat: add PDIP-8, SPDIP-28 aliases and UTDFN-4-EP(1x1) footprint support Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement PDIP-8

1 participant