Sign in with STEVE

steve/dip-package

Plastic dual-in-line package (PDIP), 300 mil rows: 14, 16, 18 and 20 pins.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 45 lines · Python · STEVE runtime · checked
Download
1"""Plastic dual-in-line package (PDIP), 300 mil rows, 14 to 20 pins. Pin 1 is at the origin, pins 1 to n/2 along +X, the other row at +Y by 7.62; the seating plane is the
2XY plane, the body above it, the leads down through the board. Dimensions from TI's N package drawing in the README."""
3from steve import Model
4
5pins = 16 # Pins
6detail = "full" # full: body, pin-1 notch and leads; simple: the body only
7
8# TI Mechanical Data MPDI002A, N (R-PDIP-T**), January 1995, revised October 1995 (drawing 4040049/C 08/95), in inches (mm): pitch 0.100 (2.54); A (body length)
9# 0.745 to 0.775 (18.92 to 19.69) for 14 and 16 pins, 0.850 to 0.920 (21.59 to 23.37) for 18, 0.940 to 0.975 (23.88 to 24.77) for 20; body width 0.240 to 0.260
10# (6.10 to 6.60); rows 0.290 to 0.310 (7.37 to 7.87) outside the leads, on 0.300 (7.62) centres; seating plane to top 0.200 (5.08) max; seating plane to body
11# 0.020 (0.51) min; leads below the seating plane 0.125 (3.18) min, 0.015 to 0.021 (0.38 to 0.53) wide, 0.010 (0.25) thick.
12LENGTH = {14: (18.92, 19.69), 16: (18.92, 19.69), 18: (21.59, 23.37), 20: (23.88, 24.77)}
13PITCH, ROWS, WIDTH, TOP, STANDOFF, TAIL, LEAD_W, LEAD_T = 2.54, 7.62, (6.10 + 6.60) / 2, 5.08, 0.51, 3.18, (0.38 + 0.53) / 2, 0.25
14SHOULDER = 1.5 # the lead's wide shoulder above the seating plane and where it leaves the body are proportions, for looks
15if pins not in LENGTH:
16 raise ValueError("This drawing covers 14, 16, 18 and 20 pins.")
17
18per_row = pins // 2
19length = sum(LENGTH[pins]) / 2
20cx, cy = (per_row - 1) * PITCH / 2, ROWS / 2
21model = Model()
22model.plane("body_plane", on="XY", offset=STANDOFF, name="Body")
23with model.sketch("body_sketch", on="body_plane", name="Body") as sk:
24 sk.rect("body_rect", (cx - length / 2, cy - WIDTH / 2), (cx + length / 2, cy + WIDTH / 2))
25model.extrude("body", "body_sketch", distance=TOP - STANDOFF, name="Body")
26if detail == "full":
27 model.plane("top_plane", on="XY", offset=TOP, name="Top")
28 with model.sketch("notch_sketch", on="top_plane", name="Pin-1 notch") as sk:
29 sk.circle("notch_circle", (cx - length / 2, cy), 0.75)
30 model.extrude("notch", "notch_sketch", distance=-0.5, op="cut", name="Pin-1 notch")
31 for row, y in ((0, 0.0), (1, ROWS)):
32 model.plane(f"tail_plane_{row}", on="XY", offset=-TAIL, name="Leads")
33 with model.sketch(f"tails_{row}", on=f"tail_plane_{row}", name="Leads") as sk:
34 for i in range(per_row):
35 sk.rect(f"tail_{row}_{i}", (i * PITCH - LEAD_W / 2, y - LEAD_T / 2), (i * PITCH + LEAD_W / 2, y + LEAD_T / 2))
36 model.extrude(f"tails_{row}_body", f"tails_{row}", distance=TAIL + SHOULDER + 0.5, name="Leads")
37 edge = cy - WIDTH / 2 if row == 0 else cy + WIDTH / 2
38 model.plane(f"arm_plane_{row}", on="XY", offset=SHOULDER, name="Leads")
39 with model.sketch(f"arms_{row}", on=f"arm_plane_{row}", name="Leads") as sk:
40 for i in range(per_row):
41 sk.rect(f"arm_{row}_{i}", (i * PITCH - SHOULDER / 2, min(y, edge) - LEAD_T / 2), (i * PITCH + SHOULDER / 2, max(y, edge) + LEAD_T / 2))
42 model.extrude(f"arms_{row}_body", f"arms_{row}", distance=0.5, name="Leads")
43model.material("pla", color="#26282b")
44result = model.result()
45

A plastic DIP for board layouts: body, pin-1 notch and leads, from TI's N package drawing (within JEDEC MS-001). See the README.

DIP package

A plastic dual-in-line package (PDIP) with 300 mil rows, 14 to 20 pins. Pin 1 is at the origin, pins 1 to n/2 run along +X, and the other row is at +Y by 7.62. The seating plane is the XY plane, with the body above it and the leads going down through the board.

Source

TI Mechanical Data MPDI002A, N (R-PDIP-T**) plastic dual-in-line package, January 1995, revised October 1995 (drawing 4040049/C 08/95). The drawing says the package falls within JEDEC MS-001, except that the 20-pin body is shorter. A copy is in a TI datasheet at https://mantech.co.za/datasheets/products/sn74ls03n_t.pdf, page 7.

14 and 16 pins 18 pins 20 pins
Body length A 18.92 to 19.69 21.59 to 23.37 23.88 to 24.77

For every pin count:

  • pitch 2.54
  • body width 6.10 to 6.60
  • rows on 7.62 centres, 7.37 to 7.87 outside the leads
  • seating plane to top 5.08 max, and to the body 0.51 min
  • leads 3.18 min below the seating plane, 0.38 to 0.53 wide and 0.25 thick

The model uses the middle of each range. Height is the 5.08 max, so read it as an envelope.

Proportions, for looks only: the leads' wide shoulder, where they leave the body, and the pin-1 notch.

8-pin and 600 mil (24 to 40 pin) DIPs and the DIP sockets aren't here yet; see COVERAGE.md.

  1. 1.0.0 Latest
More #ic-package
STEVEMIT

steve/son-package

No-lead small-outline IC packages by TI outline: WSON-8/10/12/16, VSON-8 and X1SON-8, 0.4 to 0.8 mm pitch, with exposed thermal pad.

1 7 sizes 0 2 hours ago v1.1.0
STEVEMIT

steve/sot-package

Small-outline transistor packages by TI outline: SOT-23, thin SOT-23-5/6/8, SC-70-3/6, SOT-553 and SOT-563.

0 9 sizes 0 2 hours ago v1.0.0
STEVEMIT

steve/tssop-package

TSSOP package, 4.4 mm body, 0.65 mm pitch: 14, 16, 20 and 24 pins.

0 5 sizes 0 2 hours ago v1.0.0
STEVEMIT

steve/so-package

Small-outline IC packages by TI outline: SOIC-14/16 and 20W, SSOP-16/20/28, TSSOP-8 and TSSOP-48/56 (6.1 mm body).

0 10 sizes 0 2 hours ago v1.0.0