Sign in with STEVE

steve/seven-segment-display

Kingbright through-hole 7-segment LED displays: CA56-12, CC56-12, DA56-11, DA04-11 and SBC18-11, by part number.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 144 lines · Python · STEVE runtime · checked
Download
1"""Kingbright through-hole 7-segment LED numeric displays: the 0.56 inch four-digit CA56-12 and CC56-12, the 0.56 inch two-digit
2DA56-11, the 0.4 inch two-digit DA04-11 and the 1.75 inch single-digit SBC18-11. The part number gives the package and the emitting
3colour. The display lies on the board (the XY plane) on the rim of its back, centred on the origin, the digits along X and upright
4along +Y, the face up (+Z) and the pins down through the board. The housing is one solid, each segment and decimal point its own solid
5on the face, and each pin its own solid. Dimensions from Kingbright's data sheets; see the README."""
6import math
7
8from steve import Model
9
10part_number = "CA56-12EWA" # Kingbright part number
11
12# package: (length along X, height along Y, depth from the face to the rim of the back, rim depth, digits, digit pitch, digit height,
13# digit width, segment width, slant (degrees), decimal point diameter, pins per row, row spacing, pin pitch, pin diameter, pin length
14# below the rim), mm. Kingbright data sheets, "PACKAGE DIMENSIONS" (page 1); tolerance +/-0.25 unless noted:
15# CA56-12, CC56-12: CA56-12EWA DSAP8253 V.1A 02/26/2020: 50.3 x 19, 8.1 deep, 4 digits at 12.7, digit 14.2 high and 8.0 wide,
16# segment 1.5, 8 deg, DP 1.5, 12 pins in rows 15.24 apart at 2.54, pin 0.5 +0.25/-0.1, 4 +/-0.5 long. The rim depth isn't given.
17# DA56-11: DA56-11SURKWA DSAM8343 V.3A 02/27/2020: 25 x 19.05, 8.0 deep and 6.8 to the back's recess (rim 1.2), 2 digits at 12.7,
18# digit 14.22 high and 8 wide, segment 1.3, 8 deg, DP 1.68, 18 pins in rows 15.24 apart at 2.54, the end pins 2.34 from the ends.
19# DA04-11: DA04-11SURKWA DSAM8338 V.4A 02/27/2020: 20.2 x 16, 7 deep, 2 digits at 10.16, digit 10 high and 5.976 wide, segment
20# 1.0, 8 deg, DP 1.3 at 3.4 from its digit's centre, 16 pins in rows 12.7 apart at 2.54, the end pins 1.21 from the ends. The rim
21# depth isn't given.
22# SBC18-11: SBC18-11SURKCGKWA DSAK2749 V.6A JUN/25/2016: 38 x 56, 11 deep and 10 to the back's recess (rim 1.0), 1 digit 44.5 high
23# and 26.1 wide, segment 4.15, 10 deg, DP 4.5, 10 pins in rows 48.26 apart at 2.54, the end pins 13.92 from the ends, the rim's
24# ends 3 wide.
25PACKAGES = {
26 "CA56-12": (50.3, 19.0, 8.1, 1.75, 4, 12.7, 14.2, 8.0, 1.5, 8.0, 1.5, 6, 15.24, 2.54, 0.5, 4.0),
27 "DA56-11": (25.0, 19.05, 8.0, 1.2, 2, 12.7, 14.22, 8.0, 1.3, 8.0, 1.68, 9, 15.24, 2.54, 0.5, 4.0),
28 "DA04-11": (20.2, 16.0, 7.0, 1.2, 2, 10.16, 10.0, 5.976, 1.0, 8.0, 1.3, 8, 12.7, 2.54, 0.5, 4.0),
29 "SBC18-11": (38.0, 56.0, 11.0, 1.0, 1, 0.0, 44.5, 26.1, 4.15, 10.0, 4.5, 5, 48.26, 2.54, 0.5, 4.0),
30}
31# Part number: (package, emitting colour, data sheet), from each part's own Kingbright data sheet (README). CC56-12 is the common
32# cathode CA56-12 in the same package.
33PARTS = {
34 "CA56-12CGKWA": ("CA56-12", "green", "DSAD2557 V.10A 10/16/2017"),
35 "CA56-12EWA": ("CA56-12", "high efficiency red", "DSAP8253 V.1A 02/26/2020"),
36 "CA56-12SEKWA": ("CA56-12", "super bright orange", "DSAK2823 V.8A 03/26/2018"),
37 "CA56-12SRWA": ("CA56-12", "super bright red", "DSAP8254 V.1A 02/26/2020"),
38 "CA56-12SURKWA": ("CA56-12", "hyper red", "DSAK2828 V.9A 03/26/2018"),
39 "CA56-12SYKWA": ("CA56-12", "super bright yellow", "DSAK2832 V.7A 03/26/2018"),
40 "CC56-12GWA": ("CA56-12", "green", "DSAP4627 V.2A 02/26/2020"),
41 "CC56-12YWA": ("CA56-12", "yellow", "DSAD2374 V.7 MAR/28/2011"),
42 "DA04-11CGKWA": ("DA04-11", "green", "DSAM8337 V.3A 02/27/2020"),
43 "DA04-11SEKWA": ("DA04-11", "super bright orange", "DSAG8078 V.11A 04/26/2019"),
44 "DA04-11SURKWA": ("DA04-11", "hyper red", "DSAM8338 V.4A 02/27/2020"),
45 "DA04-11SYKWA": ("DA04-11", "super bright yellow", "DSAM8339 V.3A 02/27/2020"),
46 "DA56-11CGKWA": ("DA56-11", "green", "DSAM8549 V.3A 02/27/2020"),
47 "DA56-11SEKWA": ("DA56-11", "super bright orange", "DSAC9421 V.10A 03/15/2018"),
48 "DA56-11SURKWA": ("DA56-11", "hyper red", "DSAM8343 V.3A 02/27/2020"),
49 "DA56-11SYKWA": ("DA56-11", "super bright yellow", "DSAM8550 V.3A 02/27/2020"),
50 "SBC18-11SURKCGKWA": ("SBC18-11", "hyper red and green", "DSAK2749 V.6A JUN/25/2016"),
51}
52# Proportions, for looks (the drawings show these but don't dimension them; README): the back is a rim around a shallow recess the pins
53# leave from; the rim's flat is 0.8 wide on the long sides and at the ends (CA56-12's ends 1.3, SBC18-11's 3, dimensioned), and its inner
54# wall slopes in over another 0.8. The rim depths of CA56-12 (1.75) and DA04-11 (1.2) are measured off their side views. The digits and
55# the pin rows are centred on the body; segments have a gap of a quarter of their width at each joint; a digit's decimal point sits at
56# its foot, its centre 0.569 x the digit width right of the digit's centre (DA04-11's dimensioned 3.4 / 5.976). CA56-12's colon dots
57# (DP5, DP6) are the decimal point's size, midway between digits 2 and 3, at 0.79 and 0.46 of the digit height.
58RIM = {"CA56-12": (1.3, 0.8, 0.8), "DA56-11": (0.8, 0.8, 0.8), "DA04-11": (0.8, 0.8, 0.8), "SBC18-11": (3.0, 0.8, 0.8)}
59DP_OFFSET = 0.569
60COLON = (0.79, 0.46)
61PROUD = 0.03 # segments stand this far proud of the face so the renderer draws their edges
62SEGMENT_COLOURS = {"green": "#7fd36a", "high efficiency red": "#f05040", "super bright orange": "#ff9040", "super bright red": "#ff4038",
63 "hyper red": "#ff3a3a", "super bright yellow": "#ffd640", "yellow": "#ffe060", "hyper red and green": "#ffb080"}
64
65if part_number not in PARTS:
66 raise ValueError(f"no part {part_number!r}: {', '.join(PARTS)}")
67package, emitting, _sheet = PARTS[part_number]
68L, Hb, D, rim, digits, pitch, H, W, t, slant, dp_d, per_row, rows, pin_pitch, pin_d, pin_len = PACKAGES[package]
69end_flat, side_flat, slope = RIM[package]
70shear = math.tan(math.radians(slant))
71
72model = Model()
73# Housing: a block from the rim (z = 0) to the face (z = D), with the recess in its back cut as a ruled loft.
74model.box("housing", L, Hb, D, at=(0, 0, D / 2), op="new", body="housing_body", name="Housing")
75with model.sketch("recess_open", on="XY", name="Recess") as sk:
76 sk.rect("recess_open_rect", (-L / 2 + end_flat, -Hb / 2 + side_flat), (L / 2 - end_flat, Hb / 2 - side_flat))
77model.plane("recess_plane", on="XY", offset=rim, name="Recess")
78with model.sketch("recess_floor", on="recess_plane", name="Recess") as sk:
79 sk.rect("recess_floor_rect", (-L / 2 + end_flat + slope, -Hb / 2 + side_flat + slope),
80 (L / 2 - end_flat - slope, Hb / 2 - side_flat - slope))
81model.loft("recess", ["recess_open", "recess_floor"], ruled=True, op="cut", body="housing_body", name="Recess")
82
83
84def sheared(points, cx, y0):
85 """Digit-local points (x across, y up from the digit's foot) on the face, slanted about the digit's mid-height."""
86 return [(cx + x + (y - H / 2) * shear, y0 + y) for x, y in points]
87
88
89def horizontal(y, g):
90 x1, x2 = -W / 2 + t / 2 + g, W / 2 - t / 2 - g
91 return [(x1, y), (x1 + t / 2, y + t / 2), (x2 - t / 2, y + t / 2), (x2, y), (x2 - t / 2, y - t / 2), (x1 + t / 2, y - t / 2)]
92
93
94def vertical(x, y1, y2):
95 return [(x, y1), (x + t / 2, y1 + t / 2), (x + t / 2, y2 - t / 2), (x, y2), (x - t / 2, y2 - t / 2), (x - t / 2, y1 + t / 2)]
96
97
98# Segments a to g and the decimal point of each digit, each its own solid, on a plane at the face.
99g = t / 4
100y0 = -H / 2
101xv = W / 2 - t / 2
102segments = {
103 "a": horizontal(H - t / 2, g), "g": horizontal(H / 2, g), "d": horizontal(t / 2, g),
104 "f": vertical(-xv, H / 2 + g, H - t / 2 - g), "b": vertical(xv, H / 2 + g, H - t / 2 - g),
105 "e": vertical(-xv, t / 2 + g, H / 2 - g), "c": vertical(xv, t / 2 + g, H / 2 - g),
106}
107model.plane("face_plane", on="XY", offset=D, name="Face")
108lit = []
109for i in range(digits):
110 cx = (i - (digits - 1) / 2) * pitch
111 for s, points in segments.items():
112 with model.sketch(f"seg{i + 1}{s}_sketch", on="face_plane", name=f"Digit {i + 1} segment {s}") as sk:
113 sk.polyline(f"seg{i + 1}{s}_outline", sheared(points, cx, y0), closed=True)
114 model.extrude(f"seg{i + 1}{s}", f"seg{i + 1}{s}_sketch", distance=PROUD, op="new", body=f"seg{i + 1}{s}_body",
115 name=f"Digit {i + 1} segment {s}")
116 lit.append(f"seg{i + 1}{s}_body")
117 dots = [(cx + DP_OFFSET * W, y0 + dp_d / 2)]
118 if package == "CA56-12" and i == 1:
119 dots += [(cx + pitch / 2 + (f - 0.5) * H * shear, y0 + f * H) for f in COLON]
120 for k, (x, y) in enumerate(dots):
121 with model.sketch(f"dp{i + 1}_{k}_sketch", on="face_plane", name=f"Digit {i + 1} dot") as sk:
122 sk.circle(f"dp{i + 1}_{k}_circle", (x, y), dp_d / 2)
123 model.extrude(f"dp{i + 1}_{k}", f"dp{i + 1}_{k}_sketch", distance=PROUD, op="new", body=f"dp{i + 1}_{k}_body",
124 name=f"Digit {i + 1} dot")
125 lit.append(f"dp{i + 1}_{k}_body")
126
127# Pins: round, from the recess floor down to their length below the rim, two rows of per_row, each its own solid.
128model.plane("pin_plane", on="XY", offset=-pin_len, name="Pins")
129pins = []
130for r, y in enumerate((-rows / 2, rows / 2)):
131 for j in range(per_row):
132 x = (j - (per_row - 1) / 2) * pin_pitch
133 with model.sketch(f"pin{r}_{j}_sketch", on="pin_plane", name="Pin") as sk:
134 sk.circle(f"pin{r}_{j}_circle", (x, y), pin_d / 2)
135 model.extrude(f"pin{r}_{j}", f"pin{r}_{j}_sketch", distance=pin_len + rim, op="new", body=f"pin{r}_{j}_body", name="Pin")
136 pins.append(f"pin{r}_{j}_body")
137# Materials (the sheets name no materials and give no weight): the housing plastic shown as pc, grey face; the segments are the
138# epoxy-filled diffusers ("Do not apply stress to the epoxy resin", page 4), shown as pmma (1.18, epoxy about 1.2), white diffused and
139# tinted with the emitting colour; the pins are metal (the sheets don't say which), shown as copper.
140model.material("pc", bodies=["housing_body"], color="#5b5d60")
141model.material("pmma", bodies=lit, color=SEGMENT_COLOURS[emitting])
142model.material("copper", bodies=pins, color="#c9ccd1")
143result = model.result()
144

Through-hole 7-segment LED numeric displays for board layouts and enclosures, as Kingbright draws them: the 0.56 inch four-digit CA56-12 and CC56-12, the 0.56 inch two-digit DA56-11, the 0.4 inch two-digit DA04-11 and the 1.75 inch single-digit SBC18-11. The part number gives the package and the emitting colour. The housing, each segment and dot, and each pin are their own solids. Dimensions from each part's Kingbright data sheet. See the README.

Seven-segment display

Kingbright's through-hole 7-segment LED numeric displays, chosen by part number. The part number gives the package and the emitting colour. The display lies on the board (the XY plane) on the rim of its back, centred on the origin. The digits run along X, upright along +Y, with the face up (+Z) and the pins down through the board. The housing is one solid. Each segment and dot is its own solid on the face, standing 0.03 proud so its edges show. Each pin is its own solid.

Package Digits Size (length x height x depth) Part numbers
CA56-12, CC56-12 four 0.56 inch (14.2) 50.3 x 19 x 8.1 CA56-12CGKWA, CA56-12EWA, CA56-12SEKWA, CA56-12SRWA, CA56-12SURKWA, CA56-12SYKWA, CC56-12GWA, CC56-12YWA
DA56-11 two 0.56 inch (14.22) 25 x 19.05 x 8.0 DA56-11CGKWA, DA56-11SEKWA, DA56-11SURKWA, DA56-11SYKWA
DA04-11 two 0.4 inch (10) 20.2 x 16 x 7 DA04-11CGKWA, DA04-11SEKWA, DA04-11SURKWA, DA04-11SYKWA
SBC18-11 one 1.75 inch (44.5), bi-colour 38 x 56 x 11 SBC18-11SURKCGKWA

CA56 is common anode and CC56 common cathode, in the same package.

Source

Kingbright data sheets, one for each part number, "PACKAGE DIMENSIONS" on page 1. All dimensions are in mm, with a tolerance of ±0.25 unless noted. Each sheet draws its own part. The sheets in one package draw the same outline, and the model was checked against every one.

Part number Spec no., revision, date Copy
CA56-12CGKWA DSAD2557, V.10A, 10/16/2017 datasheet.octopart.com
CA56-12EWA DSAP8253, V.1A, 02/26/2020 kingbrightusa.com
CA56-12SEKWA DSAK2823, V.8A, 03/26/2018 datasheet.octopart.com
CA56-12SRWA DSAP8254, V.1A, 02/26/2020 kingbrightusa.com
CA56-12SURKWA DSAK2828, V.9A, 03/26/2018 datasheet.octopart.com
CA56-12SYKWA DSAK2832, V.7A, 03/26/2018 datasheet.octopart.com
CC56-12GWA DSAP4627, V.2A, 02/26/2020 kingbrightusa.com
CC56-12YWA DSAD2374, V.7, MAR/28/2011 kingbrightusa.com
DA04-11CGKWA DSAM8337, V.3A, 02/27/2020 kingbrightusa.com
DA04-11SEKWA DSAG8078, V.11A, 04/26/2019 datasheet.octopart.com
DA04-11SURKWA DSAM8338, V.4A, 02/27/2020 kingbrightusa.com
DA04-11SYKWA DSAM8339, V.3A, 02/27/2020 kingbrightusa.com
DA56-11CGKWA DSAM8549, V.3A, 02/27/2020 kingbrightusa.com
DA56-11SEKWA DSAC9421, V.10A, 03/15/2018 datasheet.octopart.com
DA56-11SURKWA DSAM8343, V.3A, 02/27/2020 kingbrightusa.com
DA56-11SYKWA DSAM8550, V.3A, 02/27/2020 kingbrightusa.com
SBC18-11SURKCGKWA DSAK2749, V.6A, JUN/25/2016 datasheet.octopart.com

The kingbrightusa.com copies are at https://www.kingbrightusa.com/images/catalog/SPEC/<part number>.pdf. The others are Kingbright's own sheets as hosted by Octopart, for example https://datasheet.octopart.com/CA56-12SURKWA-Kingbright-datasheet-180518356.pdf.

Package Length Height Depth Rim depth Digit pitch Digit height Digit width Segment width Slant Dot Pins Row spacing End pin to end
CA56-12 50.3 19 8.1 not given 12.7 14.2 8.0 1.5 8° Ø 1.5 2 x 6 15.24 not given
DA56-11 25 19.05 8.0 1.2 (8.0 - 6.8) 12.7 14.22 8 1.3 8° Ø 1.68 2 x 9 15.24 2.34
DA04-11 20.2 16 7 not given 10.16 10 5.976 1.0 8° Ø 1.3, 3.4 from the digit's centre 2 x 8 12.7 1.21
SBC18-11 38 56 11 1.0 (11 - 10) 44.5 26.1 4.15 10° Ø 4.5 2 x 5 48.26 13.92

Every package has round pins Ø 0.5 (+0.25/-0.1) at a 2.54 pitch, 4 ±0.5 long below the rim. Where the end pin's distance is given, the pin rows are centred on the body (2.34, 1.21 and 13.92 each make it so).

Proportions, stated plainly. The drawings show these but don't dimension them:

  • The back is a rim around a shallow recess, and the pins leave from the recess. The rim's flat is 0.8 wide on the long sides and at the ends, except CA56-12's ends (1.3) and SBC18-11's ends (3, dimensioned). Its inner wall slopes in over another 0.8.
  • The rim depths of CA56-12 (1.75) and DA04-11 (1.2) are measured off their side views against the drawn depth.
  • The digits are centred on the body. CA56-12's pin rows are centred on the body, as drawn.
  • Segments are six-sided bars with a gap of a quarter of their width at each joint. The digit width is measured across the outer edges at mid-height, and the digit slants about its mid-height.
  • A digit's dot sits at its foot. Its centre is 0.569 times the digit width right of the digit's centre, which is DA04-11's dimensioned 3.4 divided by 5.976.
  • CA56-12 draws two more dots, DP5 and DP6, as a colon between digits 2 and 3. They are the dot's size, midway between the digits, at 0.79 and 0.46 of the digit height.

Materials. The sheets name no materials and give no weight, so the mass isn't checked. The housing is shown as pc with a grey face. The segments are the epoxy-filled diffusers (the sheets warn against stressing "the epoxy resin"), shown as pmma (1.18; epoxy is about 1.2), white diffused and tinted with the emitting colour. The pins are metal, shown as copper.

Catalogue models

The old catalogue's 17 Kingbright entries have no reference models. Each names an exact Kingbright part number, and each maps to the preset of that number, from that part's own sheet.

The family's other entries name other makers' displays (HDSP, HDSM, LTS, MAN, DE, ELD and KCSC02 parts). They are left with their reasons in COVERAGE.md.

  1. 1.0.0 Latest
More #display
STEVEMIT

steve/tht-led

Through-hole round LEDs from Vishay's drawings: 5 mm (T-1 3/4, TLHx5400) and 3 mm (T-1, TLHx4400), red, yellow or green.

1 6 sizes 0 7 hours ago v1.0.1
STEVEMIT

steve/chip-led

Kingbright surface-mount chip LEDs: APHHS1005 (0402), APT1608 (0603), APT2012 (0805), APT3216 (1206) and side-view APA1606.

0 5 sizes 0 1 hour 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 10 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 4 hours ago v1.0.0