Sign in with STEVE

steve/qfn-package

Quad flat no-lead IC packages by TI outline: VQFN-20 (0.65 mm pitch) and VQFN-24/32/48/64 (0.5 mm pitch), with exposed thermal pad.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 60 lines · Python · STEVE runtime · checked
Download
1"""Quad flat no-lead IC package (VQFN) by TI package outline. Centred on the origin with the seating plane on the XY plane: terminals along all four sides,
2pin 1 at the +Y end of the -X side and counting counter-clockwise seen from above, and the exposed thermal pad in the middle. Dimensions from the TI outline
3named by `package`; see the README."""
4from steve import Model
5
6package = "RGE0024H" # TI package outline
7detail = "full" # full: body, pin-1 mark, terminals and thermal pad; simple: the body only
8
9# outline: (kind, pins, pitch, body size, height max, standoff, terminal length, terminal width, thermal pad size, terminal thickness), bodies and thermal
10# pads square, ranges as (min, max), single values as drawn (thickness is the outline's reference), all in mm.
11# TI package outlines in TI datasheets, https://www.ti.com/lit/ds/symlink/<part>.pdf: RGE0024H in BQ24166 (SLUSAP4B, 4219016/A 08/2017), RGZ0048A and
12# RHB0032E in CC2640R2F (SWRS204C, 4219044/D 02/2022 and 4223442/B 08/2019), RGC0064B in MSP430F5529 (SLAS590P, 4219010/A 10/2018), RGW0020A in TPS7A47
13# (SBVS204G, 4219039/A 06/2018). Thermal pads are drawn as nominal +/-0.1. RGC0064B's height is 0.8 to 1.0; the others give 1 maximum.
14OUTLINES = {
15 "RGW0020A": ("VQFN", 20, 0.65, (4.9, 5.1), 1.0, (0.0, 0.05), (0.45, 0.65), (0.26, 0.36), 3.15, 0.1),
16 "RGE0024H": ("VQFN", 24, 0.5, (3.9, 4.1), 1.0, (0.0, 0.05), (0.28, 0.48), (0.18, 0.30), 2.7, 0.2),
17 "RHB0032E": ("VQFN", 32, 0.5, (4.9, 5.1), 1.0, (0.0, 0.05), (0.3, 0.5), (0.2, 0.3), 3.45, 0.2),
18 "RGZ0048A": ("VQFN", 48, 0.5, (6.9, 7.1), 1.0, (0.0, 0.05), (0.3, 0.5), (0.18, 0.30), 5.15, 0.2),
19 "RGC0064B": ("VQFN", 64, 0.5, (8.85, 9.15), 1.0, (0.0, 0.05), (0.3, 0.5), (0.18, 0.30), 4.25, 0.2),
20}
21# The pin-1 mark is a proportion, for looks.
22
23
24def mid(pair):
25 return (pair[0] + pair[1]) / 2
26
27
28kind, pins, pitch, size, top, standoff, term_l, term_w, pad, thick = OUTLINES[package]
29size, standoff, term_l, term_w = mid(size), mid(standoff), mid(term_l), mid(term_w)
30per_side = pins // 4
31first = -(per_side - 1) * pitch / 2
32half = size / 2
33model = Model()
34model.plane("body_plane", on="XY", offset=standoff, name="Body")
35with model.sketch("body_sketch", on="body_plane", name="Body") as sk:
36 sk.rect("body_rect", (-half, -half), (half, half))
37model.extrude("body", "body_sketch", distance=top - standoff, name="Body")
38if detail == "full":
39 model.plane("top_plane", on="XY", offset=top, name="Top")
40 with model.sketch("mark_sketch", on="top_plane", name="Pin-1 mark") as sk:
41 sk.circle("mark_circle", (-half + 0.1 * size, half - 0.1 * size), 0.04 * size)
42 model.extrude("mark", "mark_sketch", distance=-0.05, op="cut", name="Pin-1 mark")
43 with model.sketch("terms_x", on="XY", name="Terminals") as sk:
44 for i in range(per_side):
45 y = first + i * pitch
46 sk.rect(f"term_west_{i}", (-half, y - term_w / 2), (-half + term_l, y + term_w / 2))
47 sk.rect(f"term_east_{i}", (half - term_l, y - term_w / 2), (half, y + term_w / 2))
48 model.extrude("terms_x_body", "terms_x", distance=thick, name="Terminals")
49 with model.sketch("terms_y", on="XY", name="Terminals") as sk:
50 for i in range(per_side):
51 x = first + i * pitch
52 sk.rect(f"term_south_{i}", (x - term_w / 2, -half), (x + term_w / 2, -half + term_l))
53 sk.rect(f"term_north_{i}", (x - term_w / 2, half - term_l), (x + term_w / 2, half))
54 model.extrude("terms_y_body", "terms_y", distance=thick, name="Terminals")
55 with model.sketch("pad_sketch", on="XY", name="Thermal pad") as sk:
56 sk.rect("pad_rect", (-pad / 2, -pad / 2), (pad / 2, pad / 2))
57 model.extrude("pad", "pad_sketch", distance=thick, name="Thermal pad")
58model.material("pla", color="#26282b")
59result = model.result()
60

Quad flat no-lead IC packages for board layouts: body, pin-1 mark, terminals on four sides and exposed thermal pad, each from a named TI package outline. See the README.

Quad flat no-lead package

Quad flat no-lead IC packages (VQFN), each modelled from a named TI package outline: the body, the terminals along all four sides and the exposed thermal pad underneath. The package is centred on the origin with the seating plane on the XY plane. Pin 1 is at the +Y end of the -X side, and the pins count counter-clockwise seen from above.

Source

TI package outlines, printed in the TI datasheets at https://www.ti.com/lit/ds/symlink/<part>.pdf:

Outline Package Body Pitch Thermal pad Datasheet Drawing
RGW0020A VQFN-20 5 x 5 mm 0.65 mm 3.15 mm TPS7A47, SBVS204G 4219039/A 06/2018
RGE0024H VQFN-24 4 x 4 mm 0.5 mm 2.7 mm BQ24166, SLUSAP4B 4219016/A 08/2017
RHB0032E VQFN-32 5 x 5 mm 0.5 mm 3.45 mm CC2640R2F, SWRS204C 4223442/B 08/2019
RGZ0048A VQFN-48 7 x 7 mm 0.5 mm 5.15 mm CC2640R2F, SWRS204C 4219044/D 02/2022
RGC0064B VQFN-64 9 x 9 mm 0.5 mm 4.25 mm MSP430F5529, SLAS590P 4219010/A 10/2018

Each outline gives body size, maximum height, standoff, terminal length and width, and the thermal pad's size. The model uses the middle of each range, and the height is the 1 mm maximum, so read it as an envelope. The terminal thickness is the outline's reference value.

The thermal pad is the TI outline's. A footprint whose name gives a pad more than 0.05 mm different from it isn't this part, even when the body and pitch match; within 0.05 mm counts as rounding. Every model matched here names the outline's pad exactly. Thin and extra-thin QFNs (TQFN, WQFN) and other pad sizes aren't matched.

Proportions, for looks only: the pin-1 mark on top. The thermal pad's chamfered pin-1 corner isn't modelled.

Other QFN sizes aren't here yet, and DFN/SON packages are the son-package part; 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