by adom
2020 Addressable RGB LED · 800 Kbps single-line cascade · 16 mA per channel (V1.0 sheet), 12 mA from V1.2
master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
{
"schema": "adom/provenance@1",
"page": "adom/ws2812b-2020",
"date": "2026-09-30",
"by": "Claude (Opus 5.5) for John Lauer, approved to fix directly",
"datasheet": {
"title": "WS2812B-2020 Intelligent control LED integrated light source",
"version": "V1.0 (2018-07-25)",
"publisher": "Worldsemi",
"md5": "1ebe0db441706c68747ba97185d7057d",
"page_images": "ds/page-01.webp ... ds/page-09.webp",
"pages_used": {
"p.1": "Mechanical Dimensions: top view 2.20 x 2.00 mm, clear moulding 1.45 mm, pad pitch 1.00 mm; back view: 1.13 mm between bottom pads, polarity stripe beside pins 1/2; top view sketch: IC above a row of R G B dies (undimensioned)",
"p.2": "Side View 0.84 mm total, 0.28 mm substrate; PCB Solder Pad 0.7 x 0.7 mm pads, 1.13 mm and 0.40 mm gaps; PIN Configuration + PIN Function: 1 DO, 2 GND, 3 DI, 4 VDD",
"p.3": "LED characteristics: dominant wavelength red 620-630, green 515-525, blue 465-475 nm"
}
},
"what_was_wrong": [
"WS2812B-2020.step and both page GLBs were the 5.0 x 5.0 mm WS2812B (KiCad LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm) model, not the 2.20 x 2.00 x 0.84 mm WS2812B-2020 package.",
"Symbol, .lbr and .adom-lbr.json used the 5050 WS2812B pinout (1 VDD, 2 DOUT, 3 VSS, 4 DIN); the WS2812B-2020 datasheet p.2 gives 1 DO, 2 GND, 3 DI, 4 VDD. A board built from the old symbol + footprint would have been miswired (VDD to DO, GND to DI...).",
"Footprint pads were 0.70 x 0.50 mm at (+/-0.75, +/-0.45) mm, not the datasheet p.2 land pattern (0.70 x 0.70 mm at +/-0.915, +/-0.55 mm).",
"WS2812B-2020.svg was a generic two-pin LED symbol; the legacy WS2812B-2020.html drew the R and B dies swapped and the body 2.0 mm wide."
],
"model_3d": {
"source": "AI-generated from the datasheet dimensions (last resort), built with OpenCascade (OCP 7.x python, cadquery-ocp-novtk venv ~/.local/share/adom-aiflow/occ) by provenance/tools/build_ws2812b_2020.py. adom-chipsmith NOT used.",
"why_local_occt": "The shared step2glb service (v1.3.17) has no free-form geometry endpoint (/create-chip is a parametric IC-package generator); it was used for every check and conversion (features, thumbnail, convert).",
"sources_checked_in_order": {
"manufacturer": "world-semi.com product pages (opened in a pup window): datasheet PDFs only, no CAD/STEP downloads.",
"distributor_cad": "LCSC/EasyEDA C965555 has a 3D model (LED-SMD_4P-L2.0-W2.0-H0.8-TL_WS2812B-2020, SolidWorks 2020 export, 2022-07-08). Not used: its library notice restricts use to designs made inside JLCEDA/EasyEDA, it carries an embossed 'LCEDA' logo on the underside, and its body is 2.0 x 2.0 mm (datasheet 2.20 x 2.00 mm) with a centred stripe. Used only as a sanity cross-check of the overall shape. SnapMagic search needs a login (not pursued); Ultra Librarian / SamacSys not checked (their models are for use in a design, not for redistribution on a page).",
"kicad": "kicad-footprints has LED_WS2812B-2020_PLCC4_2.0x2.0mm.kicad_mod (its pads match the datasheet land pattern and were used as a cross-check), but the STEP it names does not exist in kicad-packages3D (LED_SMD.3dshapes listed 2026-09-30)."
},
"geometry_mm": {
"body": [
2.2,
2.0
],
"height": 0.84,
"substrate": 0.28,
"window_width": 1.45,
"pad_pitch": 1.0,
"bottom_pad": [
0.5350000000000001,
0.75
],
"notch_r": 0.15,
"stripe_x": [
-0.53,
0.0
]
},
"frame": "mm, Z up, seated on z = 0, origin at package centre; pin 1 DO (-X,+Y), 2 GND (-X,-Y), 3 DI (+X,-Y), 4 VDD (+X,+Y), matching the footprint (KiCad pin 1 top-left = datasheet top view turned 180 deg).",
"parts": [
"body",
"window",
"pin1_DO",
"pin2_GND",
"pin3_DI",
"pin4_VDD",
"polarity_mark",
"die_R",
"die_G",
"die_B",
"ic_die",
"laser_etch"
],
"colours": {
"body": "sRGB (0.95, 0.95, 0.93) white",
"window": "sRGB (0.82, 0.84, 0.86) milky, alpha 0.55",
"terminals": "sRGB (0.78, 0.78, 0.76) tinned",
"polarity_mark": "sRGB (0.12, 0.12, 0.12)",
"ic_die": "sRGB (0.35, 0.36, 0.38)",
"dies": [
{
"part": "die_R",
"dominant_wavelength_nm": 625,
"datasheet": "p.3 LED Characteristics, lambda_d range centre",
"oklch": [
0.6,
0.1546,
29.2
],
"chroma_fraction_of_cusp": 0.6,
"srgb": [
0.7998,
0.3324,
0.2771
],
"hex": "#CC5547",
"box_mm": {
"x": [
0.18,
0.38
],
"y": [
0.2,
0.4
],
"z": [
0.28,
0.29200000000000004
]
}
},
{
"part": "die_G",
"dominant_wavelength_nm": 520,
"datasheet": "p.3 LED Characteristics, lambda_d range centre",
"oklch": [
0.72,
0.1201,
159.7
],
"chroma_fraction_of_cusp": 0.6,
"srgb": [
0.3411,
0.7353,
0.5413
],
"hex": "#57BC8A",
"box_mm": {
"x": [
-0.1,
0.1
],
"y": [
0.2,
0.4
],
"z": [
0.28,
0.29200000000000004
]
}
},
{
"part": "die_B",
"dominant_wavelength_nm": 470,
"datasheet": "p.3 LED Characteristics, lambda_d range centre",
"oklch": [
0.52,
0.1468,
261.3
],
"chroma_fraction_of_cusp": 0.6,
"srgb": [
0.2094,
0.3959,
0.7376
],
"hex": "#3565BC",
"box_mm": {
"x": [
-0.38,
-0.18
],
"y": [
0.2,
0.4
],
"z": [
0.28,
0.29200000000000004
]
}
}
],
"method": "hue from the datasheet p.3 dominant wavelength (range centre), OKLCh chroma 60 % of the sRGB gamut cusp at that hue (John 2026-09-30: desaturated, match the nm); red at the sRGB red-primary hue because 625 nm lies beyond it."
},
"die_placement": "illustrative: 0.20 mm squares, 0.28 mm pitch, one row 0.30 mm toward the pin 1/4 side, IC 0.40 x 0.34 mm toward the pin 2/3 side. The p.1 top-view sketch shows this arrangement and the R G B order (pin 1 bottom-right: R G B left to right; turned 180 deg: B G R) but gives no dimensions.",
"laser_etch": {
"text": "WS2812B-2020",
"face": "-Y side of the white body band (0.26 mm tall), not the window",
"service": "adom-chip-laser https://laserchip-6dn1tl7vjz5u.adom.cloud /etch (frac 0.7128 after refit, font 0.218 mm)",
"tools": "etch_part.py --face side --side-dir=-y from aiflow-work/merged/tools/laser-etch, local copy with a --pick low option added to side_region.py so the band under a full-length window is chosen (provenance/tools/laser-etch)",
"mark": "flat, dark (linear 0.012), 1.56 x 0.165 mm, lifted 0.005 mm",
"virtual": "identification aid, not the manufacturer marking"
},
"files": {
"WS2812B-2020.step": {
"sha256": "679fdf6dd22000884d044ac5a049bbb7e088ad893b7632301e43704757a48c5a",
"role": "default, coloured + etched"
},
"WS2812B-2020-uncoloured.step": {
"sha256": "bed6fd877ef81859c60d1e095f4ef4b3751d52b5442cddeb179f486c4390b86a",
"role": "optional: same geometry, neutral colours, no dies, no etch"
}
},
"checks": "step2glb features: bbox x -1.1..1.1, y -1.0..1.0 (-1.005 with the etch), z 0..0.84, Z up; step2glb thumbnails top/iso/bottom/front and three.js renders of the GLBs looked at: pin 1 corner, B G R order, stripe on the pin 1/2 side, etch on the body band."
},
"footprint": {
"land_pattern": "datasheet p.2 PCB Solder Pad: 0.70 x 0.70 mm pads (roundrect 0.25), centres (+/-0.915, +/-0.55) mm; identical to KiCad LED_WS2812B-2020_PLCC4_2.0x2.0mm",
"pin1": "top-left, DO",
"silkscreen": "pin-1 corner bracket (top line + short vertical beside pad 1) plus a bottom line (Colby's bracket-at-pin-1 convention)",
"courtyard": "+/-1.55 x +/-1.25 mm",
"fab": "body 2.20 x 2.00 mm"
},
"symbol": {
"pins": {
"3 DI": "input, left",
"1 DO": "output, left",
"2 GND": "power_in, left bottom",
"4 VDD": "power_in, right"
},
"layout": "unchanged apart from names/numbers/types"
},
"regenerated_with": {
"WS2812B-2020.lbr": "adom-lbr generate --sym --fp (lint passed)",
"WS2812B-2020.adom-lbr.json": "adom-lbr import-kicad",
"WS2812B-2020-symview.html + README.html symbol iframe": "adom-symbol embed",
"WS2812B-2020-fpview.html + README.html footprint iframe": "adom-footprint embed (the older 'preview' template failed with a missing-file error, so the standalone viewers are now the embed build)",
"WS2812B-2020.svg": "adom-symbol render",
"WS2812B-2020.glb / .insertion.glb": "provenance/tools/rebuild_ws_scene.py: same scene contract (node names, insert animation, LED_light), new pads/silk/solder from the new footprint, LED from step2glb convert of the new STEP, laser etch as child node Adom.LaserEtch.MPN",
"ws2812b-2020-hero.glb": "provenance/tools/ws_hero_glb.py (component-reference-overlay.py + finalize.py from the LED pass): teal dashed pad outlines 50 %, silkscreen 30 %, pad labels 50 % (DO, GND, DI, VDD), Adom.LaserEtch.MPN",
"screenshots/hero.png": "shared hero template (hero-proposals/_tools/hero_template.html, LED copy), shoot_hero.js, ADOM BASIC PART pill, coloured part only; cfg in provenance/hero-card.cfg.json"
},
"removed": {
"WS2812B-2020 5050 STEP": "the wrong 5.0 x 5.0 mm model is no longer on the page (WS2812B-2020.step replaced)"
}
}