Sign in with STEVE

steve/dcdc-converter

Board-mounted DC/DC converter modules: RECOM R-78 and R-5xxxPA regulators; TRACO POWER TSR 1, TMR 1, TEN 10 and TEN 20; XP Power IA, IH and IT.

v1.1.0 Latest STEVE MIT 0
Isometric
part.py 105 lines · Python · STEVE runtime · checked
Download
1"""Board-mounted DC/DC converter module, as its maker draws it: RECOM R-78 (SIP3, SIP4, R-78HB-0.5L with bent pins) and R-5xxxPA (SIP12) switching
2regulators, TRACO POWER TSR 1, TMR 1 (SIP) and TEN 10 / TEN 20 (2" x 1" metal case), and XP Power IA, IH and IT (SIP). Pin 1 is at the origin, the case on the board (XY plane) above it, the pins down through the board.
3Dimensions from each maker's data sheet in the README."""
4from steve import Model
5
6model_name = "R-78E-0.5" # Series (maker's name)
7detail = "full" # full: case and pins; simple: the case only
8
9# model: (case length along X, case depth along Y, top above the board, case bottom above the board, pin section ("rect", along X, along Y) or ("round", diameter),
10# pin length below the board, pins as (number, x from the case's -X face, y from its -Y face), case (or potting) material, colour, metal shell material), mm.
11# Materials from the sheets' physical specifications: RECOM and TRACO SIP cases are plastic (potted with silicone, R-78S epoxy), modelled as one plastic
12# block, ptfe; TEN 10 is a chrome-nickel plated steel case potted with epoxy (steel-generic shell, ptfe inside), TEN 20 a nickel-plated copper case
13# potted with silicone rubber (copper shell, silicone-rubber inside).
14# RECOM, https://recom-power.com/pdf/Innoline/<series>.pdf, Dimension Drawing: R-78E-0.5 (REV.: 9/2025, p. 3), R-78B-2.0 (REV.: 5/2021, p. 5),
15# R-78HB-0.5 (REV.: 5/2019, p. 5), R-78S (REV.: 5/2018, p. 4): pin 1 3.21 (R-78S 2.00) from the case's end, 2.54 pitch, the row 2.00 (R-78B 1.2) from one
16# long face, case 0.51 above the board, pins 4.10 below it.
17# TRACO POWER, https://www.tracopower.com/products/<series>.pdf, Outline Dimensions: tsr1 (Rev. April 15, 2026, p. 4): 11.7 x 7.5 x 10.1, 0.5 above the
18# board, pin 3 3.3 from the end, the row 5.5 from one face (2.0 from the other), pins 0.50 x 0.25, 4.1; tmr1 (Rev. April 15, 2026, p. 4): 17.0 x 7.62 x 11.0,
19# 0.5 above the board, pin 1 2.15 from the end, pins 1, 2, 4, 5, 6 at 0, 2.54, 7.62, 10.16, 12.7, the row 2.5 from one face, pins 0.5 x 0.25, 3.2; ten10
20# (p. 3) and ten20 (Rev. September 16, 2025, p. 3): 50.8 x 25.4 x 10.2 on an insulated baseplate, pins 1.0 dia., 6.0, placed from the bottom view
21# (mirrored here into a top view: x = 50.8 - the drawing's x).
22# RECOM R-5xxxPA_DA (REV.: 5/2019, p. 7, Dimension Drawing, R-5xxxPA): 32.2 x 9.1 x 15.0, 12 pins 0.70 x 0.25, 4.10 below, pin 1 2.1 from the end,
23# 11 x 2.54, the row 0.8 from one face; no standoff drawn (the case from the board). Plastic case potted with epoxy (ptfe).
24# XP Power, https://www.xppower.com/portals/0/pdfs/SF_<series>.pdf, Mechanical details: IA (23 May 2025, p. 4, SIP package): 19.3 x 6.0 x 10.1, 0.5 above
25# the board, pins 0.51 x 0.2, 3.0 below, the row 1.4 from one face, 2.54 pitch, pin 1 to pin 6 12.7, pin 6 4.5 from the end (so pin 1 2.1 from the other),
26# no pins 3 and 7; IH (16 May 2025, p. 3, SIP package, 1kVDC versions): 19.5 x 7.2 x 10.16 max, 0.38 above the board, pins 0.50 x 0.25 max, 3.05 min
27# below, pin 1 (+Vin) 2.29 from the end, the row 1.25 from one face, 2.54 pitch, +Vin to +Vout 12.7; IT (17 December 2025, p. 3): 26.0 x 9.20 x 12.5,
28# pins 0.50 x 0.3, 4.0 below, pin 1 1.8 from the end, pins 1-3 2 x 2.54, then 7.62 to pin 6, pins 6-9 3 x 2.54, the row 2.75 from one face. XP's cases are
29# plastic (IA: black plastic potted with epoxy), ptfe. The IH drawing numbers no pins: they are named here by their place on the 2.54 grid from +Vin.
30MODELS = {
31 "R-78E-0.5": (11.6, 8.5, 10.4, 0.51, ("rect", 0.50, 0.25), 4.10, ((1, 3.21, 6.5), (2, 5.75, 6.5), (3, 8.29, 6.5)), "ptfe", "#1d1f22", None),
32 "R-78B-2.0": (11.5, 8.5, 17.5, 0.51, ("rect", 0.64, 0.64), 4.10, ((1, 3.21, 7.3), (2, 5.75, 7.3), (3, 8.29, 7.3)), "ptfe", "#1d1f22", None),
33 "R-78HB-0.5": (11.5, 8.5, 17.5, 0.51, ("rect", 0.70, 0.25), 4.10, ((1, 3.21, 6.5), (2, 5.75, 6.5), (3, 8.29, 6.5)), "ptfe", "#1d1f22", None),
34 "R-78S-0.1": (11.6, 8.5, 10.4, 0.51, ("rect", 0.70, 0.25), 4.10, ((1, 2.00, 6.5), (2, 4.54, 6.5), (3, 7.08, 6.5), (4, 9.62, 6.5)), "ptfe", "#1d1f22", None),
35 "R-5xxxPA": (32.2, 9.1, 15.0, 0.0, ("rect", 0.70, 0.25), 4.10, ((1, 2.1, 0.8), (2, 4.64, 0.8), (3, 7.18, 0.8), (4, 9.72, 0.8), (5, 12.26, 0.8), (6, 14.8, 0.8), (7, 17.34, 0.8), (8, 19.88, 0.8), (9, 22.42, 0.8), (10, 24.96, 0.8), (11, 27.5, 0.8), (12, 30.04, 0.8)), "ptfe", "#1d1f22", None),
36 "IA SIP": (19.3, 6.0, 10.1, 0.5, ("rect", 0.51, 0.2), 3.0, ((1, 2.1, 1.4), (2, 4.64, 1.4), (4, 9.72, 1.4), (5, 12.26, 1.4), (6, 14.8, 1.4)), "ptfe", "#1d1f22", None),
37 "IH SIP 1 kV": (19.5, 7.2, 10.16, 0.38, ("rect", 0.50, 0.25), 3.05, ((1, 2.29, 1.25), (2, 4.83, 1.25), (4, 9.91, 1.25), (5, 12.45, 1.25), (6, 14.99, 1.25)), "ptfe", "#1d1f22", None),
38 "IT": (26.0, 9.2, 12.5, 0.0, ("rect", 0.50, 0.3), 4.0, ((1, 1.8, 2.75), (2, 4.34, 2.75), (3, 6.88, 2.75), (6, 14.5, 2.75), (7, 17.04, 2.75), (8, 19.58, 2.75), (9, 22.12, 2.75)), "ptfe", "#1d1f22", None),
39 "TSR 1": (11.7, 7.5, 10.1, 0.5, ("rect", 0.50, 0.25), 4.1, ((1, 3.32, 5.5), (2, 5.86, 5.5), (3, 8.4, 5.5)), "ptfe", "#1d1f22", None),
40 "TMR 1 single": (17.0, 7.62, 11.0, 0.5, ("rect", 0.5, 0.25), 3.2, ((1, 2.15, 5.12), (2, 4.69, 5.12), (4, 9.77, 5.12), (6, 14.85, 5.12)), "ptfe", "#1d1f22", None),
41 "TMR 1 dual": (17.0, 7.62, 11.0, 0.5, ("rect", 0.5, 0.25), 3.2, ((1, 2.15, 5.12), (2, 4.69, 5.12), (4, 9.77, 5.12), (5, 12.31, 5.12), (6, 14.85, 5.12)), "ptfe", "#1d1f22", None),
42 "TEN 10 single": (50.8, 25.4, 10.2, 0.0, ("round", 1.0), 6.0, ((1, 35.6, 15.28), (2, 35.6, 10.2), (3, 15.28, 22.82), (5, 15.28, 2.5)), "ptfe", "#b9bcbf", "steel-generic"),
43 "TEN 10 dual": (50.8, 25.4, 10.2, 0.0, ("round", 1.0), 6.0, ((1, 35.6, 15.28), (2, 35.6, 10.2), (3, 15.28, 22.82), (4, 15.28, 12.66), (5, 15.28, 2.5)), "ptfe", "#b9bcbf", "steel-generic"),
44 "TEN 20 single": (50.8, 25.4, 10.2, 0.0, ("round", 1.0), 6.0, ((1, 35.52, 15.24), (2, 35.52, 10.16), (6, 35.52, 2.54), (3, 15.2, 22.86), (5, 15.2, 2.54)), "silicone-rubber", "#b9bcbf", "copper"),
45 "TEN 20 dual": (50.8, 25.4, 10.2, 0.0, ("round", 1.0), 6.0, ((1, 35.52, 15.24), (2, 35.52, 10.16), (6, 35.52, 2.54), (3, 15.2, 22.86), (4, 15.2, 12.7), (5, 15.2, 2.54)), "silicone-rubber", "#b9bcbf", "copper"),
46}
47
48# Bent-pin versions lying on the face their pins bend towards: (the straight model, the bent pin's outer face beyond the case's end, the pin's run from the
49# row's centre to its tip). RECOM R-78HB-0.5 (REV.: 5/2019, p. 5), "with suffix L bent pins": 19.0 overall against the case's 17.5, so 1.50; the bottom
50# view's 2.00 (row to face) + 4.10 (face to tip) = the side view's 6.10; the bend 90-93 degrees, drawn at 90; the pin 0.70 x 0.25.
51BENT = {"R-78HB-0.5L": ("R-78HB-0.5", 1.50, 6.10)}
52
53SHELL = 0.3 # the metal case's wall, a proportion (the sheets don't dimension it); its open bottom is the insulated baseplate, part of the potting here
54L, W, top, standoff, section, pin_length, pins, case_material, colour, shell_material = MODELS[BENT[model_name][0] if model_name in BENT else model_name]
55x1, y1 = pins[0][1], pins[0][2]
56model = Model()
57model.plane("case_plane", on="XY", offset=standoff, name="Case bottom")
58if model_name in BENT:
59 # The case lies on the face its pins bend towards (the +Y face of the straight model), its end towards -Y; the pins leave the end at the row's height
60 # above the board, bend down at pin 1's place and run through the board.
61 _, out, run = BENT[model_name]
62 rise = W - y1 # the row's centre above the face on the board
63 end = out - section[2] / 2 # the case's end (its feet) from the bent pins' centre line
64 model.box("case", L, top - standoff, W, at=(L / 2 - x1, end + standoff + (top - standoff) / 2, W / 2), op="new", body="case_body", name="Case")
65elif shell_material:
66 # A metal shell (top and four sides) round the potting, which fills it down to the board.
67 with model.sketch("case_sketch", on="case_plane", name="Potting") as sk:
68 sk.rect("case_rect", (-x1 + SHELL, -y1 + SHELL), (L - x1 - SHELL, W - y1 - SHELL))
69 model.extrude("case", "case_sketch", distance=top - standoff - SHELL, op="new", body="case_body", name="Potting")
70 model.box("shell", L, W, top - standoff, at=(L / 2 - x1, W / 2 - y1, standoff + (top - standoff) / 2), op="new", body="shell_body", name="Metal case")
71 model.box("shell_room", L - 2 * SHELL, W - 2 * SHELL, top - standoff - SHELL, at=(L / 2 - x1, W / 2 - y1, standoff + (top - standoff - SHELL) / 2),
72 op="cut", body="shell_body", name="Metal case inside")
73else:
74 with model.sketch("case_sketch", on="case_plane", name="Case") as sk:
75 sk.rect("case_rect", (-x1, -y1), (L - x1, W - y1))
76 model.extrude("case", "case_sketch", distance=top - standoff, op="new", body="case_body", name="Case")
77leads = []
78if detail == "full":
79 # Each pin is its own copper solid, from its end below the board up to the case's bottom face.
80 if model_name not in BENT:
81 run = pin_length + standoff
82 for n, x, y in pins:
83 cx, cy = x - x1, y - y1
84 if model_name in BENT:
85 # Each pin one L-shaped solid: the leg out of the case's end, then the leg down through the board.
86 model.box(f"pin_{n}", section[1], end + standoff + section[2] / 2, section[2], at=(cx, (end + standoff - section[2] / 2) / 2, rise),
87 op="new", body=f"pin_{n}_body", name=f"Pin {n}")
88 model.box(f"pin_{n}_down", section[1], section[2], run + section[2] / 2, at=(cx, 0.0, rise + section[2] / 2 - (run + section[2] / 2) / 2),
89 op="join", body=f"pin_{n}_body", name=f"Pin {n} bent leg")
90 elif section[0] == "rect":
91 model.box(f"pin_{n}", section[1], section[2], run, at=(cx, cy, standoff - run / 2), op="new", body=f"pin_{n}_body", name=f"Pin {n}")
92 else:
93 model.plane(f"pin_{n}_plane", on="XY", offset=-pin_length, name=f"Pin {n}")
94 with model.sketch(f"pin_{n}_sketch", on=f"pin_{n}_plane", name=f"Pin {n}") as sk:
95 sk.circle(f"pin_{n}_circle", (cx, cy), section[1] / 2)
96 model.extrude(f"pin_{n}", f"pin_{n}_sketch", distance=run, op="new", body=f"pin_{n}_body", name=f"Pin {n}")
97 leads.append(f"pin_{n}_body")
98# Materials as the sheets name them (above); the mass against the sheets' weights is in the README. Pins: tinned copper.
99model.material(case_material, bodies=["case_body"], color="#26282b" if shell_material else colour)
100if shell_material:
101 model.material(shell_material, bodies=["shell_body"], color=colour)
102if leads:
103 model.material("copper", bodies=leads, color="#c9ccd1")
104result = model.result()
105

DC/DC converter modules for board layouts and enclosures, as their makers draw them: the case at its height above the board and each pin at its place, section and length below it. The case and each pin are their own solids. Dimensions from RECOM's, TRACO POWER's and XP Power's data sheets. See the README.

DC/DC converter module

Board-mounted DC/DC converter modules, each drawn from its maker's data sheet: the case at its height above the board, and each pin at its place, with its section and length below the board. Pin 1 is at the origin, the case sits on the board (the XY plane) above it, and the pins go down through the board. The case and each pin are their own solids.

model_name picks the series. Every voltage of a series has the same case and pins, so one preset stands for the series (for example R-78E5.0-0.5 and R-78E3.3-0.5 are both R-78E-0.5). TMR 1, TEN 10 and TEN 20 come with a single or a dual output; the dual one has the common pin the single one lacks.

Source

RECOM data sheets at https://recom-power.com/pdf/Innoline/<series>.pdf, Dimension Drawing (mm), tolerances xx.x ±0.5 and xx.xx ±0.25:

Series Edition, page Case L x W x H Case above the board Pins Pin length Pin places Weight
R-78E-0.5 REV.: 9/2025, p. 3 11.6 x 8.5 x 10.4 0.51 3, 0.50 x 0.25 4.10 pin 1 3.21 from the end, 2.54 pitch, the row 2.00 from one face 2 g
R-78B-2.0 REV.: 5/2021, p. 5 11.5 x 8.5 x 17.5 0.51 3, 0.64 x 0.64 4.10 pin 1 3.21 from the end, 2.54 pitch, the row 1.2 from one face 4.0 g
R-78HB-0.5 REV.: 5/2019, p. 5 11.5 x 8.5 x 17.5 0.51 3, 0.70 x 0.25 4.10 pin 1 3.21 from the end, 2.54 pitch, the row 2.00 from one face 4 g
R-78S (R-78S-0.1) REV.: 5/2018, p. 4 11.6 x 8.5 x 10.4 0.51 4, 0.70 x 0.25 4.10 pin 1 2.00 from the end, pin 4 7.62 from pin 1, the row 2.00 from one face 2 g
R-5xxxPA (R-5xxxPA_DA) REV.: 5/2019, p. 7 32.2 x 9.1 x 15.0 on the board (no standoff drawn) 12, 0.70 x 0.25 4.10 pin 1 2.1 from the end, 11 x 2.54, the row 0.8 from one face 9 g

R-78HB-0.5L, the bent-pin R-78HB-0.5 (the same sheet, p. 5, "with suffix L bent pins"): the case lies on the face its pins bend towards. The pins leave the case's end at the row's place, 2.00 from that face; their outer face is 1.50 beyond the case's end (the drawing's 19.0 overall against the case's 17.5); they bend 90 to 93 degrees (drawn at 90) and run 6.10 from the row to the tip, 4.10 beyond the face (the bottom view's 2.00 + 4.10). The pins are 0.70 x 0.25. The board is taken at the face the case lies on, so the tips are 4.10 below it.

TRACO POWER data sheets at https://www.tracopower.com/products/<series>.pdf, Outline Dimensions, tolerances ±0.5, pins ±0.05:

Series Edition, page Case L x W x H Case above the board Pins Pin length Pin places Weight
TSR 1 (tsr1) Rev. April 15, 2026, p. 4 11.7 x 7.5 x 10.1 0.5 3, 0.50 x 0.25 4.1 2 x 2.54, pin 3 3.3 from the end, the row 5.5 from one face 1.9 g
TMR 1 (tmr1) Rev. April 15, 2026, p. 4 17.0 x 7.62 x 11.0 0.5 0.5 x 0.25 3.2 pin 1 2.15 from the end, then 2.54, 5.08, 2.54, 2.54 to pins 2, 4, 5, 6; the row 2.5 from one face 3.1 g
TEN 10 (ten10) p. 3 (page 4: Rev. August 8, 2025) 50.8 x 25.4 x 10.2 on its insulated baseplate 1.0 dia. 6.0 bottom view: pins 1 and 2 15.2 from one end, 5.08 apart, pin 2 10.2 from the long side; pins 3, 4, 5 20.32 further, 10.16 apart, pin 5 2.5 from the long side 32 g
TEN 20 (ten20) Rev. September 16, 2025, p. 3 50.8 x 25.4 x 10.2 on its insulated baseplate 1.0 dia. 6.0 bottom view: pins 3, 4, 5 15.2 from one end, 10.16 apart, pin 5 2.54 from the long side; pins 6, 2, 1 20.32 further, at 2.54, 2.54 + 7.62 and + 5.08 from the long side 36 g

XP Power data sheets at https://www.xppower.com/portals/0/pdfs/SF_<series>.pdf, Mechanical details (mm), case tolerance ±0.5, pin pitch ±0.35:

Series Edition, page Case L x W x H Case above the board Pins Pin length Pin places Weight
IA, SIP package (IA...S) 23 May 2025, p. 4 19.3 x 6.0 x 10.1 0.5 0.51 x 0.2 3.0 pins 1, 2, 4, 5, 6 on a 2.54 pitch (no pins 3 and 7), pin 1 to pin 6 12.7, pin 6 4.5 from the end (so pin 1 2.1 from the other), the row 1.4 from one face 2.3 g
IH, SIP package, 1 kVDC (IH...S) 16 May 2025, p. 3 19.5 x 7.2 x 10.16 (max) 0.38 0.50 x 0.25 (max) 3.05 (min) +Vin 2.29 from the end, 2.54 pitch, +Vin to +Vout 12.7 (+Vin, -Vin, then -Vout, 0V, +Vout), the row 1.25 from one face 2.2 g
IT 17 December 2025, p. 3 26.0 x 9.20 x 12.5 on the board (feet not dimensioned) 0.50 x 0.3 4.0 pin 1 1.8 from the end, pins 1 to 3 2 x 2.54, 7.62 to pin 6, pins 6 to 9 3 x 2.54, the row 2.75 from one face 6.5 g

The IA "S" models are the SIP package ("replace 'S' in model number with 'D' for DIP package", note 1); the IH likewise (note 1), and its "H" suffix is the 3 kVDC version, drawn differently. The IH drawing numbers no pins: they are named here by their place on the 2.54 grid from +Vin (1, 2, 4, 5, 6). The IH's height and pin section are maximums and its pin length a minimum; the model uses them as drawn. IT's case is 9.20 wide in its end view and 9.3 in its bottom view; the model uses 9.20. IT's single- and dual-output models have the same pins.

The TMR 1 single-output part has no pin 5; the TEN 10 and TEN 20 single-output parts have no pin 4 (the pin-out tables). The TEN drawings are bottom views; the part mirrors them into a top view. The case height is from the board to the top, so a case standing above the board on its feet starts at the drawn height above it.

Proportions, for looks only: none of the cases' details (the RECOM and XP feet, embossed logos and markings, the TEN case's seam). Each SIP case is one block. R-78HB-0.5L's pin bends are sharp corners. The TEN case's metal wall is 0.3 thick (the sheets don't dimension it), round a potting block that fills it down to the board; the insulated baseplate is drawn as part of the potting. Each pin runs from its end below the board up to the case's bottom face.

Materials, as the sheets' physical specifications name them: the RECOM and TRACO SIP cases are plastic, potted with silicone (R-78S and R-5xxxPA with epoxy), and XP Power's are plastic (IA: black plastic potted with epoxy); all these are modelled as one plastic block, ptfe. TEN 10's case is chrome-nickel plated steel (steel-generic) potted with epoxy (ptfe); TEN 20's is nickel-plated copper (copper) potted with silicone rubber (silicone-rubber). The pins are copper. The SIP cases are drawn black, the TEN cases metal grey.

Mass against the sheets' weights. The SIP blocks come out a little light, and TEN 20 well short: its silicone potting (1.0 g/cm³ here) and thin wall don't account for the components inside. The materials are what the parts are made of, not picked to hit the weight.

Series Model Data sheet
R-78E-0.5 2.03 g 2 g
R-78B-2.0 3.49 g 4.0 g
R-78HB-0.5 3.46 g 4 g
R-78S 2.05 g 2 g
R-78HB-0.5L 3.48 g 4 g
R-5xxxPA 9.18 g 9 g
TSR 1 1.76 g 1.9 g
TMR 1 (single) 2.83 g 3.1 g
TEN 10 (dual) 32.3 g 32 g
TEN 20 (dual) 20.1 g 36 g
IA SIP 2.32 g 2.3 g
IH SIP 1 kV 2.86 g 2.2 g
IT 6.23 g 6.5 g

The IH comes out heavy: its case is drawn at its maximum size and modelled solid.

The old catalogue's entries for these series have no models; each names the maker's series and maps to its preset. Its other converters aren't here, each with its reason in COVERAGE.md: drawings that leave out a needed dimension (RECOM R-5xxxDA, XP Power IA and IH DIP, IH 3 kV SIP, ITQ, ITX, ISU02 and JTE06, TRACO TMR 1SM, Artesyn ATA), Mean Well's open-frame NID30 and NID60, models not in the current sheets (XP IA 48 V, TRACO TEN 20 N4), TEN 10 and TEN 20 without single or dual named, and Bothhand, Cincon, Murata and TRACO TMR, whose sheets haven't been read.

  1. 1.1.0 Latest Compare with 1.0.0
  2. 1.0.0
STEVEMIT

steve/axial-resistor

Axial leaded metal film resistor, Vishay Beyschlag MBA/SMA 0204, MBB/SMA 0207 and MBE/SMA 0414, with colour rings, horizontal or vertical.

1 9 sizes 0 12 hours ago v1.0.0
STEVEMIT

steve/disc-varistor

Leaded disc varistors, TDK SIOV StandarD series S05, S07, S10, S14 and S20, every voltage class from 11 V to 1100 V.

1 150 sizes 0 11 hours ago v1.0.0
STEVEMIT

steve/right-angle-tactile-switch

Right-angle 6 x 6 mm through-hole tactile switches, C&K PTS645V: round actuators 3.15 to 8.35 mm from the front leads, or the 6.15 mm square actuator.

1 5 sizes 0 6 hours ago v1.0.0
STEVEMIT

steve/small-tactile-switch-tht

6 x 3.5 mm through-hole tactile switches from APEM's MJTP sheet: MJTP1243 (4.3 mm actuator) and MJTP1250 (5.0 mm), two terminals 6.5 apart.

1 2 sizes 0 5 hours ago v1.0.0