Skip to content

fix: support TI D0008A land pattern through SOIC package option - #907

Closed
hrithik18k wants to merge 2 commits into
tscircuit:mainfrom
hrithik18k:fix/ti-d0008a-land-pattern
Closed

hrithik18k wants to merge 2 commits into
tscircuit:mainfrom
hrithik18k:fix/ti-d0008a-land-pattern

Conversation

@hrithik18k

@hrithik18k hrithik18k commented Oct 5, 2026 •

Copy link
Copy Markdown

Generic soic8 places pad centers at x = ±2.15 mm with 1.00 × 0.60 mm lands. TI's D0008A example board layout calls for x = ±2.70 mm and 1.55 × 0.60 mm lands. Selecting the generic footprint for a TLC555CD therefore does not produce the manufacturer's example copper pattern.

This adds package(D0008A) to the existing SOIC generator:

fp.string("soic8_package(D0008A)").circuitJson()
fp().soic(8).package("D0008A").circuitJson()

The option selects 1.55 × 0.60 mm pads, 1.27 mm pitch, 5.40 mm row-center spacing, and 0.05 mm corner radius. Package names are case-insensitive; unknown packages and pin counts other than eight are rejected. Explicit dimensions override package defaults regardless of option order. Common footprint options continue to work.

Dimensions come from the D0008A example board layout, drawing 4214825/C, in the TI TLC555 datasheet, revision K. SOIC's width parameter measures the outer copper span, so the default value for this package is 6.95 mm (5.40 + 1.55).

Existing generic SOIC defaults remain unchanged. The option uses the existing SOIC silkscreen/courtyard generator and does not add solder-mask or paste apertures. No new footprint function or registry export is introduced.

Before and after

Before: generic soic8 After: soic8_package(D0008A)
Before: generic SOIC-8 footprint After: SOIC-8 with TI D0008A package option
Pads: 1.00 × 0.60 mm Pads: 1.55 × 0.60 mm
Pad-row center spacing: 4.30 mm Pad-row center spacing: 5.40 mm
Pitch: 1.27 mm Pitch: 1.27 mm

The images are independently fitted previews; use the dimensions above for comparison.

Validation

  • Tests check all eight pad centers, dimensions, corner radii, top-layer placement, pin numbering, string/builder equivalence, case-insensitive selection, invalid packages/pin counts, and dimension overrides in either option order.
  • Two visually inspected SVG snapshots cover the default TI pattern and rotated pin-1 placement with the reference label hidden.
  • bun test tests/soic-ti-d0008a.test.ts tests/soic.test.ts: 7 passed, 84 assertions, including unchanged generic SOIC snapshots.
  • bun run build: passed, including declaration generation.
  • Biome formatting for changed TypeScript files and git diff --check: passed.
  • Full bun test: 586 passed, 3 failed. The same three failures were confirmed on the base revision: smf, parity/sod523, and diode-kicad-parity/sod523.
  • bunx tsc --noEmit still reports existing repository errors. Error locations and codes match the baseline; no new error locations were introduced.

@hrithik18k hrithik18k changed the title fix: add TI D0008A SOIC-8 copper land preset fix: support TI D0008A land pattern through SOIC package option Oct 5, 2026

@seveibar seveibar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont edit readme (readme spam introduced, this is a huge red flag, always review your PRs)

we don't accept specific manufacturer part numbers, only standards or de facto standards. You can use tscircuit convert to convert custom footprints or common footprints to their parameterized footprint match

@hrithik18k hrithik18k closed this Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants