Sign in with STEVE

steve/dcdc-converter

Board-mounted DC/DC converter modules: RECOM R-78E, R-78B, R-78HB and R-78S regulators; TRACO POWER TSR 1, TMR 1, TEN 10 and TEN 20.

v1.0.0 STEVE MIT 0
Isometric
part.py 74 lines · Python · STEVE runtime · checked
Download
1"""Board-mounted DC/DC converter module, as its maker draws it: RECOM R-78 switching regulators (SIP3, SIP4) and TRACO POWER TSR 1, TMR 1
2(SIP) and TEN 10 / TEN 20 (2" x 1" metal case). 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).
22MODELS = {
23 "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),
24 "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),
25 "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),
26 "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),
27 "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),
28 "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),
29 "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),
30 "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"),
31 "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"),
32 "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"),
33 "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"),
34}
35
36SHELL = 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
37L, W, top, standoff, section, pin_length, pins, case_material, colour, shell_material = MODELS[model_name]
38x1, y1 = pins[0][1], pins[0][2]
39model = Model()
40model.plane("case_plane", on="XY", offset=standoff, name="Case bottom")
41if shell_material:
42 # A metal shell (top and four sides) round the potting, which fills it down to the board.
43 with model.sketch("case_sketch", on="case_plane", name="Potting") as sk:
44 sk.rect("case_rect", (-x1 + SHELL, -y1 + SHELL), (L - x1 - SHELL, W - y1 - SHELL))
45 model.extrude("case", "case_sketch", distance=top - standoff - SHELL, op="new", body="case_body", name="Potting")
46 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")
47 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),
48 op="cut", body="shell_body", name="Metal case inside")
49else:
50 with model.sketch("case_sketch", on="case_plane", name="Case") as sk:
51 sk.rect("case_rect", (-x1, -y1), (L - x1, W - y1))
52 model.extrude("case", "case_sketch", distance=top - standoff, op="new", body="case_body", name="Case")
53leads = []
54if detail == "full":
55 # Each pin is its own copper solid, from its end below the board up to the case's bottom face.
56 run = pin_length + standoff
57 for n, x, y in pins:
58 cx, cy = x - x1, y - y1
59 if section[0] == "rect":
60 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}")
61 else:
62 model.plane(f"pin_{n}_plane", on="XY", offset=-pin_length, name=f"Pin {n}")
63 with model.sketch(f"pin_{n}_sketch", on=f"pin_{n}_plane", name=f"Pin {n}") as sk:
64 sk.circle(f"pin_{n}_circle", (cx, cy), section[1] / 2)
65 model.extrude(f"pin_{n}", f"pin_{n}_sketch", distance=run, op="new", body=f"pin_{n}_body", name=f"Pin {n}")
66 leads.append(f"pin_{n}_body")
67# Materials as the sheets name them (above); the mass against the sheets' weights is in the README. Pins: tinned copper.
68model.material(case_material, bodies=["case_body"], color="#26282b" if shell_material else colour)
69if shell_material:
70 model.material(shell_material, bodies=["shell_body"], color=colour)
71if leads:
72 model.material("copper", bodies=leads, color="#c9ccd1")
73result = model.result()
74

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 and TRACO 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

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

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 feet, embossed logos and markings, the TEN case's seam). Each SIP case is one block. 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 with epoxy), and 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
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

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 (Artesyn, Bothhand, Cincon, Mean Well, Murata, XP Power, RECOM R5, R-78HB-0.5L with bent pins, TRACO TMR, TMR 1SM, and TEN 10 and TEN 20 without single or dual named) aren't here yet; see COVERAGE.md.

  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 13 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 12 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 7 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 6 hours ago v1.0.0