Sign in with STEVE

Compare versions

3 files changed, +19 −7

part.py +3 −1
@@ -9,12 +9,14 @@
99# outline: (kind, pins, pitch, body length along the pin rows, body width across them, height, standoff, terminal length, terminal width, thermal pad
1010# across the rows, thermal pad along them, terminal thickness), ranges as (min, max), single values as drawn (thickness is the outline's reference), mm.
1111# TI package outlines, https://www.ti.com/lit/pdf/<doc>: DSQ0010A mpds335 (4218906/A 04/2019), NGQ0008A mpds403 (4214922/A 03/2018), DNT0012B mpds48
12# (4214928/C 10/2021), NHR0016B mpds42 (4214932/B 08/2025), DRM0008A mpds160 (4218889/A 01/2025). Thermal pads are drawn as nominal +/-0.1.
12# (4214928/C 10/2021), NHR0016B mpds42 (4214932/B 08/2025), DRM0008A mpds160 (4218889/A 01/2025), DNX0008A mpds560 (4221623/A 08/2014). Thermal pads are drawn as nominal
13# +/-0.1. DNX0008A gives its height as 0.5 maximum only.
1314OUTLINES = {
1415 "DSQ0010A": ("WSON", 10, 0.4, (1.9, 2.1), (1.9, 2.1), (0.7, 0.8), (0.0, 0.05), (0.2, 0.4), (0.15, 0.25), 0.9, 1.5, 0.2),
1516 "NGQ0008A": ("WSON", 8, 0.5, (2.9, 3.1), (2.9, 3.1), (0.7, 0.8), (0.0, 0.05), (0.3, 0.5), (0.2, 0.3), 1.6, 2.0, 0.1),
1617 "DNT0012B": ("WSON", 12, 0.5, (3.9, 4.1), (3.9, 4.1), (0.7, 0.8), (0.0, 0.05), (0.3, 0.5), (0.2, 0.3), 2.6, 3.0, 0.1),
1718 "NHR0016B": ("WSON", 16, 0.5, (4.9, 5.1), (3.9, 4.1), (0.7, 0.8), (0.0, 0.05), (0.3, 0.5), (0.2, 0.3), 2.6, 4.0, 0.1),
19 "DNX0008A": ("X1SON", 8, 0.5, (2.9, 3.1), (2.9, 3.1), (0.5, 0.5), (0.0, 0.05), (0.35, 0.45), (0.2, 0.3), 1.65, 2.38, 0.127),
1820 "DRM0008A": ("VSON", 8, 0.8, (3.9, 4.1), (3.9, 4.1), (0.8, 1.0), (0.0, 0.05), (0.3, 0.5), (0.23, 0.38), 2.45, 3.38, 0.1),
1921}
2022# The pin-1 mark is a proportion, for looks.
pypart.toml +11 −4
@@ -1,15 +1,15 @@
11name = "steve/son-package"
2version = "1.0.0"
2version = "1.1.0"
33runtime = "steve"
44license = "MIT"
5summary = "No-lead small-outline IC packages by TI outline: WSON-8/10/12/16 and VSON-8, 0.4 to 0.8 mm pitch, with exposed thermal pad."
5summary = "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."
66description = """No-lead small-outline IC packages for board layouts: body, pin-1 mark, terminals and exposed thermal pad, each from a named TI package outline. See the README."""
7tags = ["ic-package", "son", "wson", "vson", "dfn", "smd", "electronics"]
7tags = ["ic-package", "son", "wson", "vson", "x1son", "dfn", "smd", "electronics"]
88
99[parameters.package]
1010type = "choice"
1111default = "DSQ0010A"
12choices = ["DSQ0010A", "NGQ0008A", "DNT0012B", "NHR0016B", "DRM0008A"]
12choices = ["DSQ0010A", "NGQ0008A", "DNT0012B", "NHR0016B", "DRM0008A", "DNX0008A"]
1313label = "TI package outline"
1414
1515[parameters.detail]
@@ -18,6 +18,13 @@
1818choices = ["full", "simple"]
1919label = "Detail"
2020description = "full: body, pin-1 mark, terminals and thermal pad. simple: the body only."
21
22[[presets]]
23id = "X1SON-8-DNX0008A"
24title = "X1SON-8 (DNX0008A), 3x3 mm, 0.5 mm pitch"
25params = { package = "DNX0008A" }
26aliases = ["X1SON-8", "X1SON8", "8 pin X1SON", "DNX0008A"]
27standard = "TI package outline"
2128
2229[[presets]]
2330id = "WSON-10-DSQ0010A"
README.md +5 −2
@@ -1,6 +1,6 @@
11# No-lead small-outline package
22
3No-lead small-outline IC packages (WSON, VSON), each modelled from a named TI package outline: the body, the terminals along two sides and the exposed thermal pad underneath. The package is centred on the origin with the seating plane on the XY plane. Pins 1 to n/2 are on the -Y side running +X, the others are on +Y running back, and the thermal pad is in the middle.
3No-lead small-outline IC packages (WSON, VSON, X1SON), each modelled from a named TI package outline: the body, the terminals along two sides and the exposed thermal pad underneath. The package is centred on the origin with the seating plane on the XY plane. Pins 1 to n/2 are on the -Y side running +X, the others are on +Y running back, and the thermal pad is in the middle.
44
55## Source
66
@@ -13,10 +13,13 @@
1313| DNT0012B | WSON-12 | 4 x 4 mm | 0.5 mm | mpds48 | 4214928/C 10/2021 |
1414| NHR0016B | WSON-16 | 4 x 5 mm | 0.5 mm | mpds42 | 4214932/B 08/2025 |
1515| DRM0008A | VSON-8 | 4 x 4 mm | 0.8 mm | mpds160 | 4218889/A 01/2025 |
16| DNX0008A | X1SON-8 | 3 x 3 mm | 0.5 mm | mpds560 | 4221623/A 08/2014 |
1617
17Each outline gives body length and width, height, standoff, terminal length and width, and the thermal pad's size. The model uses the middle of each range. The terminal thickness is the outline's reference value.
18Each outline gives body length and width, height, standoff, terminal length and width, and the thermal pad's size. The model uses the middle of each range; DNX0008A gives its height as 0.5 maximum only. The terminal thickness is the outline's reference value.
1819
1920The thermal pad is the TI outline's. A footprint whose name gives a different pad size, such as `DFN-8-1EP_4x4mm_P0.8mm_EP2.5x3.6mm` against DRM0008A's 2.45 x 3.38 mm, isn't this part even when the body and pitch match.
21
22A footprint name's pad counts as the outline's when each side is within 0.05 mm, since pad labels are rounded. Matched within that: `DFN-8-1EP_3x3mm_P0.5mm_EP1.66x2.38mm` to DNX0008A (1.65 x 2.38 mm).
2023
2124**Proportions, for looks only:** the pin-1 mark on top. The thermal pad's chamfered pin-1 corner isn't modelled.
2225