Compare versions
3 files changed, +19 −7
| @@ -9,12 +9,14 @@ | ||
| 9 | 9 | # outline: (kind, pins, pitch, body length along the pin rows, body width across them, height, standoff, terminal length, terminal width, thermal pad |
| 10 | 10 | # across the rows, thermal pad along them, terminal thickness), ranges as (min, max), single values as drawn (thickness is the outline's reference), mm. |
| 11 | 11 | # 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. | |
| 13 | 14 | OUTLINES = { |
| 14 | 15 | "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), |
| 15 | 16 | "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), |
| 16 | 17 | "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), |
| 17 | 18 | "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), | |
| 18 | 20 | "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), |
| 19 | 21 | } |
| 20 | 22 | # The pin-1 mark is a proportion, for looks. |
| @@ -1,15 +1,15 @@ | ||
| 1 | 1 | name = "steve/son-package" |
| 2 | version = "1.0.0" | |
| 2 | version = "1.1.0" | |
| 3 | 3 | runtime = "steve" |
| 4 | 4 | license = "MIT" |
| 5 | summary = "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." | |
| 5 | summary = "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." | |
| 6 | 6 | description = """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.""" |
| 7 | tags = ["ic-package", "son", "wson", "vson", "dfn", "smd", "electronics"] | |
| 7 | tags = ["ic-package", "son", "wson", "vson", "x1son", "dfn", "smd", "electronics"] | |
| 8 | 8 | |
| 9 | 9 | [parameters.package] |
| 10 | 10 | type = "choice" |
| 11 | 11 | default = "DSQ0010A" |
| 12 | choices = ["DSQ0010A", "NGQ0008A", "DNT0012B", "NHR0016B", "DRM0008A"] | |
| 12 | choices = ["DSQ0010A", "NGQ0008A", "DNT0012B", "NHR0016B", "DRM0008A", "DNX0008A"] | |
| 13 | 13 | label = "TI package outline" |
| 14 | 14 | |
| 15 | 15 | [parameters.detail] |
| @@ -18,6 +18,13 @@ | ||
| 18 | 18 | choices = ["full", "simple"] |
| 19 | 19 | label = "Detail" |
| 20 | 20 | description = "full: body, pin-1 mark, terminals and thermal pad. simple: the body only." |
| 21 | ||
| 22 | [[presets]] | |
| 23 | id = "X1SON-8-DNX0008A" | |
| 24 | title = "X1SON-8 (DNX0008A), 3x3 mm, 0.5 mm pitch" | |
| 25 | params = { package = "DNX0008A" } | |
| 26 | aliases = ["X1SON-8", "X1SON8", "8 pin X1SON", "DNX0008A"] | |
| 27 | standard = "TI package outline" | |
| 21 | 28 | |
| 22 | 29 | [[presets]] |
| 23 | 30 | id = "WSON-10-DSQ0010A" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | # No-lead small-outline package |
| 2 | 2 | |
| 3 | No-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. | |
| 3 | No-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. | |
| 4 | 4 | |
| 5 | 5 | ## Source |
| 6 | 6 | |
| @@ -13,10 +13,13 @@ | ||
| 13 | 13 | | DNT0012B | WSON-12 | 4 x 4 mm | 0.5 mm | mpds48 | 4214928/C 10/2021 | |
| 14 | 14 | | NHR0016B | WSON-16 | 4 x 5 mm | 0.5 mm | mpds42 | 4214932/B 08/2025 | |
| 15 | 15 | | 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 | | |
| 16 | 17 | |
| 17 | Each 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. | |
| 18 | Each 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. | |
| 18 | 19 | |
| 19 | 20 | The 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 | ||
| 22 | A 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). | |
| 20 | 23 | |
| 21 | 24 | **Proportions, for looks only:** the pin-1 mark on top. The thermal pad's chamfered pin-1 corner isn't modelled. |
| 22 | 25 |