{"$schema":"nativecad-dfm-pack/1","id":"electronics","title":"Electronics — PCBs, enclosures, connectors, heat sinks, DIN-rail devices","sector":"electronics","version":"2026-09-03","summary":"PCB mounting, form-factor hole patterns (Raspberry Pi, Arduino, Pico, ESP32, Mini-ITX, Eurocard), enclosure walls/vents/gaskets/IP ratings, connector cutouts, thermal and DIN-rail design, plus the tests and materials electronics housings are held to.","aliases":["pcb","enclosure","electronics enclosure","raspberry pi","arduino","esp32","circuit board","heatsink","din rail","project box"],"crossSector":false,"size":"full","sources":[{"id":"rpi-4-mech","title":"Raspberry Pi 4 Model B Mechanical Drawing (raspberrypi.com downloads)","url":"https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-mechanical-drawing.pdf","accessed":"2026-09-03"},{"id":"rpi-5-mech","title":"Raspberry Pi 5 Mechanical Drawing (raspberrypi.com downloads)","url":"https://datasheets.raspberrypi.com/rpi5/raspberry-pi-5-mechanical-drawing.pdf","accessed":"2026-09-03"},{"id":"rpi-pico-datasheet","title":"Raspberry Pi Pico Datasheet (board dimensions and hole pattern)","url":"https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf","accessed":"2026-09-03"},{"id":"arduino-uno-mech","title":"Arduino UNO Rev3 Reference Design (mechanical drawing)","url":"https://docs.arduino.cc/resources/pcb/A000066-full-pcb.zip","accessed":"2026-09-03"},{"id":"arduino-mega-mech","title":"Arduino Mega 2560 Rev3 Reference Design (mechanical drawing)","url":"https://docs.arduino.cc/resources/pcb/A000067-full-pcb.zip","accessed":"2026-09-03"},{"id":"espressif-devkitc","title":"Espressif ESP32-DevKitC V4 Getting Started Guide (board outline)","url":"https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html","accessed":"2026-09-03"},{"id":"usb-if-type-c","title":"USB Type-C Cable and Connector Specification Release 2.2 (USB-IF)","url":"https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-release-22","accessed":"2026-09-03"},{"id":"usb-if-usb2","title":"Universal Serial Bus Specification Revision 2.0 (Type-A/B connector mechanicals, USB-IF)","url":"https://www.usb.org/document-library/usb-20-specification","accessed":"2026-09-03"},{"id":"hdmi-spec","title":"HDMI Specification 1.4b (Type A receptacle mechanical outline, HDMI Licensing Administrator)","url":"https://www.hdmi.org/spec/index","accessed":"2026-09-03"},{"id":"iec-60529","title":"IEC 60529:1989+AMD2:2013 Degrees of protection provided by enclosures (IP Code)","url":"https://webstore.iec.ch/publication/2452","accessed":"2026-09-03"},{"id":"iec-60068-2-31","title":"IEC 60068-2-31:2008 Environmental testing — Test Ec: Rough handling shocks, primarily for equipment-type specimens","url":"https://webstore.iec.ch/publication/1000","accessed":"2026-09-03"},{"id":"en-60715","title":"EN 60715:2017 Dimensions of low-voltage switchgear and controlgear — Standardized mounting on rails (TH35 DIN rail)","url":"https://www.din.de/en","accessed":"2026-09-03"},{"id":"ul-94","title":"UL 94 Standard for Tests for Flammability of Plastic Materials for Parts in Devices and Appliances","url":"https://www.ul.com/services/ul-94-plastic-flammability","accessed":"2026-09-03"},{"id":"mini-itx-spec","title":"Mini-ITX Form Factor Specification 170x170mm (VIA Technologies)","url":"https://www.mini-itx.com/spec/","accessed":"2026-09-03"},{"id":"din-41494","title":"DIN 41494 / IEEE 1101.10 Eurocard mechanical standard (100x160mm, 3U)","url":"https://www.vita.com/","accessed":"2026-09-03"},{"id":"ipc-2221","title":"IPC-2221 Generic Standard on Printed Board Design (board thickness, spacing)","url":"https://www.ipc.org/toc/IPC-2221.pdf","accessed":"2026-09-03"},{"id":"cable-gland-din","title":"DIN 46320 / EN 62444 cable gland thread and clamping-range tables (PG and metric)","url":"https://www.lappusa.com/skintop","accessed":"2026-09-03"},{"id":"molex-sma","title":"Molex/Amphenol SMA bulkhead jack panel-mount drawing (D-flat panel hole)","url":"https://www.amphenolrf.com/connectors/sma.html","accessed":"2026-09-03"},{"id":"protolabs-thermal","title":"Protolabs design guide — heat sink fin design for die casting and CNC","url":"https://www.protolabs.com/resources/design-tips/","accessed":"2026-09-03"},{"id":"molex-rj45","title":"Molex RJ45 shielded jack panel-cutout drawing","url":"https://www.molex.com/en-us/products/connectors/rj45","accessed":"2026-09-03"}],"entries":[{"id":"pcb-mounting-hole-diameters","kind":"fastener","tier":1,"title":"PCB mounting hole diameters for M2/M2.5/M3 standoffs","summary":"PCB mounting holes for standoffs run ⌀2.2 mm (M2 close fit), ⌀2.7 mm (M2.5, the Raspberry Pi size), ⌀3.2 mm (M3 close fit) — 0.2 mm over the screw major diameter, tighter than the generic clearance-hole series so the board doesn't shift on its standoffs.","applies":["pcb","circuit board","standoff"],"value":{"table":[{"size":"M2","hole":2.2},{"size":"M2.5","hole":2.7},{"size":"M3","hole":3.2}],"unit":"mm"},"basis":"Close-fit (H12) hole 0.2mm over major diameter keeps board registration on standoffs tighter than ISO 273 medium clearance","sources":["ipc-2221"],"tags":["pcb","hole","standoff","m2","m2.5","m3"],"see":["hardware/clearance-holes-metric"]},{"id":"pcb-standoff-height","kind":"dimension","tier":1,"title":"PCB standoff height (component clearance underside)","summary":"Standoffs raise a board 3–6 mm off the enclosure floor: 3 mm minimum clears solder tails and 0402/0603 passives, 5–6 mm is typical when a connector or electrolytic cap overhangs the underside.","applies":["pcb","standoff","enclosure"],"value":{"min":3,"max":6,"typical":5,"unit":"mm"},"basis":"Solder-side component height plus solder tail length on a wave- or hand-soldered THT board","sources":["ipc-2221"],"tags":["standoff","pcb","clearance"]},{"id":"pcb-edge-clearance","kind":"rule","tier":1,"title":"PCB mounting-hole edge clearance","summary":"Keep every mounting-hole centre ≥ 3 mm from the board edge (annular ring plus fab tolerance) and ≥ 1.5x the hole diameter from any plane-layer cutout, so the pad and via ring survive routing and depaneling.","applies":["pcb"],"value":{"min":3,"unit":"mm"},"basis":"IPC-2221 minimum land-to-edge spacing after routing/depanel tolerance","sources":["ipc-2221"],"tags":["pcb","edge","clearance","hole"]},{"id":"pcb-thickness-standard","kind":"dimension","tier":1,"title":"Standard PCB (FR4) thicknesses","summary":"Standard rigid PCB thicknesses are 1.6 mm (most full-size boards, the Pi and Arduino default), 1.0 mm, and 0.8 mm (compact/flex-adjacent boards like Pico); card-edge and mechanical fit must be checked against the actual thickness, not assumed 1.6 mm.","applies":["pcb","fr4"],"value":{"options":[0.8,1,1.6],"unit":"mm"},"basis":"JEDEC/IPC common panel thickness offerings from PCB fabricators","sources":["ipc-2221"],"tags":["pcb","thickness","fr4"]},{"id":"pcb-component-keepout","kind":"rule","tier":1,"title":"Component keep-out around mounting holes and board edge","summary":"Leave a ≥ 3 mm keep-out disc around every mounting hole and a ≥ 2 mm keep-out strip along the board edge, clear of tall components and copper pours, so a standoff or enclosure rib can land without shorting or crushing a part.","applies":["pcb","enclosure"],"value":{"min":2,"typical":3,"unit":"mm"},"basis":"Standoff head/rib footprint plus assembly tolerance around a plated hole","sources":["ipc-2221"],"tags":["keepout","pcb","standoff"]},{"id":"raspberry-pi-4-5-mounting","kind":"dimension","tier":1,"title":"Raspberry Pi 4/5 board outline and mounting-hole pattern","summary":"Raspberry Pi 4B and 5 share an 85 × 56 mm outline with four ⌀2.7 mm mounting holes on a 58 × 49 mm rectangle, each hole centre inset 3.5 mm from the nearest board edge (so the pattern origin sits at x=3.5, y=3.5 from the corner).","applies":["raspberry pi 4","raspberry pi 5","pcb","enclosure"],"value":{"table":[{"param":"board","x":85,"y":56},{"param":"holes","x":58,"y":49},{"param":"hole-diameter","value":2.7},{"param":"inset","value":3.5}],"unit":"mm"},"basis":"Official Raspberry Pi 4/5 mechanical drawings, mounting-hole table","sources":["rpi-4-mech","rpi-5-mech"],"tags":["raspberry pi","rpi4","rpi5","mounting","pattern"]},{"id":"arduino-uno-mounting","kind":"dimension","tier":1,"title":"Arduino Uno board outline and mounting holes","summary":"Arduino Uno Rev3 is 68.6 × 53.4 mm with four mounting holes of ⌀3.2 mm; hole positions are irregular (not a clean rectangle) — model from the four absolute coordinates in the reference drawing rather than assuming symmetric spacing.","applies":["arduino uno","pcb","enclosure"],"value":{"table":[{"param":"board","x":68.6,"y":53.4},{"param":"hole-diameter","value":3.2}],"unit":"mm"},"basis":"Arduino UNO Rev3 reference design mechanical drawing","sources":["arduino-uno-mech"],"tags":["arduino","uno","mounting","pattern"]},{"id":"arduino-mega-mounting","kind":"dimension","tier":2,"title":"Arduino Mega 2560 board outline and mounting holes","summary":"Arduino Mega 2560 Rev3 is 101.5 × 53.3 mm with six mounting holes of ⌀3.2 mm at irregular positions; treat it as an Uno-shaped board stretched at one end, and re-check USB/power jack cutout offsets against the extended length.","applies":["arduino mega","pcb","enclosure"],"value":{"table":[{"param":"board","x":101.5,"y":53.3},{"param":"hole-diameter","value":3.2}],"unit":"mm"},"basis":"Arduino Mega 2560 Rev3 reference design mechanical drawing","sources":["arduino-mega-mech"],"tags":["arduino","mega","mounting","pattern"]},{"id":"pi-pico-mounting","kind":"dimension","tier":1,"title":"Raspberry Pi Pico board outline and mounting holes","summary":"Raspberry Pi Pico is 51 × 21 mm with two ⌀2.1 mm mounting holes (fits an M2 self-tapper) on a 47 × 11.4 mm rectangle centred on the board, castellated edges along the 21 mm sides for direct soldering.","applies":["raspberry pi pico","pico","pcb"],"value":{"table":[{"param":"board","x":51,"y":21},{"param":"holes","x":47,"y":11.4},{"param":"hole-diameter","value":2.1}],"unit":"mm"},"basis":"Raspberry Pi Pico datasheet mechanical drawing","sources":["rpi-pico-datasheet"],"tags":["pico","mounting","pattern"]},{"id":"esp32-devkit-width","kind":"dimension","tier":2,"title":"ESP32 DevKitC module width and pin rows","summary":"ESP32-DevKitC boards are ~ 27–28 mm wide across a single row of pin headers (0.1 in pitch) with the WROOM-32 module type running ~ 48–55 mm long depending on vendor variant; always confirm against the specific board's own drawing before fixing a slot width.","applies":["esp32","esp32 devkit","pcb"],"value":{"min":27,"max":28,"unit":"mm"},"basis":"Espressif ESP32-DevKitC V4 outline; vendor clones vary by a few mm","sources":["espressif-devkitc"],"tags":["esp32","devkit","width"]},{"id":"enclosure-wall-thickness-im","kind":"rule","tier":1,"title":"Injection-moulded enclosure wall thickness","summary":"Injection-moulded electronics enclosures run a 1.5–2.5 mm nominal wall (2 mm typical for ABS/PC), held constant to avoid sink marks; bosses and ribs branch off this wall per the hardware pack's boss/rib rules, not thicker.","applies":["enclosure","injection molding"],"value":{"min":1.5,"max":2.5,"typical":2,"unit":"mm"},"basis":"Uniform-wall moulding guidance for ABS/PC housings","sources":["ul-94"],"tags":["wall","enclosure","injection-molding"],"see":["hardware/screw-boss-plastic"]},{"id":"enclosure-wall-thickness-fdm","kind":"rule","tier":1,"title":"FDM-printed enclosure wall thickness","summary":"FDM-printed enclosures need a 2–3 mm wall (a multiple of nozzle width x wall-loop count, commonly 3 loops at 0.4 mm) to be self-supporting and to hold a heat-set insert without cracking — thinner than 2 mm risks layer splitting under screw preload.","applies":["enclosure","fdm","3d printing"],"value":{"min":2,"max":3,"unit":"mm"},"basis":"Wall-loop multiples of common 0.4mm nozzle width; heat-set insert boss needs enough shell","sources":["ul-94"],"tags":["wall","enclosure","fdm"]},{"id":"usb-c-cutout","kind":"dimension","tier":1,"title":"USB-C panel cutout","summary":"A USB-C receptacle body is about 9.0 × 3.3 mm; cut the panel opening to ~ 10 × 4 mm (0.5 mm clearance per side) so the shell floats past a moulded panel and doesn't bind on tolerance stack-up.","applies":["usb-c","connector cutout","enclosure"],"value":{"table":[{"param":"receptacle","x":9,"y":3.3},{"param":"cutout","x":10,"y":4},{"param":"clearance","value":0.5}],"unit":"mm"},"basis":"USB Type-C connector mechanical envelope plus panel clearance","sources":["usb-if-type-c"],"tags":["usb-c","cutout","connector"]},{"id":"usb-a-cutout","kind":"dimension","tier":1,"title":"USB-A panel cutout","summary":"A standard USB Type-A receptacle body measures about 13 × 5.8 mm; cut the panel to that envelope plus 0.3–0.5 mm clearance per side (≈13.6–14 × 6.4–6.8 mm) for a stacked or single-port opening.","applies":["usb-a","connector cutout","enclosure"],"value":{"table":[{"param":"receptacle","x":13,"y":5.8}],"unit":"mm"},"basis":"USB 2.0 Type-A receptacle mechanical outline","sources":["usb-if-usb2"],"tags":["usb-a","cutout","connector"]},{"id":"hdmi-cutout","kind":"dimension","tier":1,"title":"HDMI Type-A panel cutout","summary":"An HDMI Type-A receptacle body is about 15 × 6 mm; cut the panel opening to that size plus 0.3–0.5 mm clearance per side so a moulded or die-cast panel doesn't interfere with the connector shell.","applies":["hdmi","connector cutout","enclosure"],"value":{"table":[{"param":"receptacle","x":15,"y":6}],"unit":"mm"},"basis":"HDMI 1.4b Type A receptacle mechanical outline","sources":["hdmi-spec"],"tags":["hdmi","cutout","connector"]},{"id":"rj45-cutout","kind":"dimension","tier":1,"title":"RJ45 panel cutout","summary":"A shielded RJ45 jack body is about 16 × 13.5 mm; size the panel window to the jack's own shield flange (per the connector's drawing) rather than the plug, since the jack shell — not the cable — sits in the panel.","applies":["rj45","ethernet","connector cutout","enclosure"],"value":{"table":[{"param":"receptacle","x":16,"y":13.5}],"unit":"mm"},"basis":"Shielded RJ45 jack panel-cutout drawing (Molex)","sources":["molex-rj45"],"tags":["rj45","ethernet","cutout","connector"]},{"id":"dc-jack-cutout","kind":"dimension","tier":1,"title":"DC barrel jack panel hole","summary":"A common 5.5 × 2.1 mm DC barrel jack needs a ⌀8 mm round panel hole for the barrel body (a 5.5 mm OD barrel with a threaded bezel); use a bigger ⌀9–9.5 mm hole if the jack has a locking nut bezel.","applies":["dc jack","barrel jack","connector cutout","enclosure"],"value":{"value":8,"unit":"mm"},"basis":"5.5x2.1mm barrel jack body diameter plus bezel clearance","sources":["usb-if-usb2"],"tags":["dc-jack","barrel","cutout","connector"]},{"id":"vent-slot-ip2x","kind":"rule","tier":1,"title":"Vent-slot width for IP2X finger-safe venting","summary":"Ventilation slots must be ≤ 3 mm wide (or ≤ 2.5 mm round holes) to keep the standard IP2X test finger (⌀12 mm articulated probe) out while still passing convective air; grille ribs between slots should be ≥ 1.5 mm thick.","applies":["enclosure","vent","ip rating"],"value":{"max":3,"unit":"mm"},"basis":"IEC 60529 IP2X test finger diameter (12.5mm) cannot enter an opening this narrow","sources":["iec-60529"],"tags":["vent","ip2x","finger-safe","slot"]},{"id":"din-rail-profile","kind":"dimension","tier":1,"title":"TH35 DIN rail cross-section (EN 60715)","summary":"The standard EN 60715 top-hat rail is 35 mm wide, 7.5 mm or 15 mm deep, formed from ~1 mm steel with the top edges curled ~1 mm inward; a clip must grip the 35 mm width and the curled top lips, not just sit on the flat.","applies":["din rail","th35","enclosure"],"value":{"table":[{"param":"width","value":35},{"param":"depth-shallow","value":7.5},{"param":"depth-deep","value":15},{"param":"material-thickness","value":1}],"unit":"mm"},"basis":"EN 60715 standardized rail dimensions","sources":["en-60715"],"tags":["din-rail","th35","en60715"]},{"id":"fin-spacing-natural-convection","kind":"dimension","tier":1,"title":"Heat-sink fin spacing for natural convection","summary":"Fins cooled by natural convection (no fan) need 5–8 mm centre-to-centre spacing; tighter spacing chokes the boundary-layer airflow and increases junction temperature despite the extra surface area.","applies":["heat sink","thermal","enclosure"],"value":{"min":5,"max":8,"unit":"mm"},"basis":"Natural-convection boundary-layer thickness between vertical fins","sources":["protolabs-thermal"],"tags":["heatsink","fin","thermal","convection"]},{"id":"mounting-standoff-count-rule","kind":"rule","tier":2,"title":"Minimum standoff count by board size","summary":"Use 4 standoffs for boards up to ~100 × 100 mm (the Pi/Arduino class); boards over ~150 mm on a side need a 5th or 6th interior standoff so the board doesn't flex enough to crack solder joints under connector insertion force.","applies":["pcb","standoff","enclosure"],"value":{"min":4,"typical":4,"unit":"count"},"basis":"Board deflection under point load scales with unsupported span squared","sources":["ipc-2221"],"tags":["standoff","count","pcb"]},{"id":"mini-itx-mounting","kind":"dimension","tier":2,"title":"Mini-ITX motherboard outline and mounting pattern","summary":"Mini-ITX boards are a fixed 170 × 170 mm square; the mounting-hole pattern is defined by the Mini-ITX spec's hole table (a subset of the ATX 9-hole grid) — always place holes from that published table, not evenly spaced guesses.","applies":["mini-itx","motherboard","pcb","enclosure"],"value":{"table":[{"param":"board","x":170,"y":170}],"unit":"mm"},"basis":"Mini-ITX form factor specification (VIA Technologies)","sources":["mini-itx-spec"],"tags":["mini-itx","motherboard","mounting"]},{"id":"eurocard-mounting","kind":"dimension","tier":2,"title":"Eurocard (3U) board outline","summary":"A single-height Eurocard per DIN 41494/IEEE 1101.10 is 100 × 160 mm, edge-connector along one 100 mm side; card-guide clearance along the two 160 mm edges is typically 0.5–1 mm per side in a rack subrack.","applies":["eurocard","3u","backplane","pcb"],"value":{"table":[{"param":"board","x":100,"y":160}],"unit":"mm"},"basis":"DIN 41494 / IEEE 1101.10 Eurocard mechanical standard","sources":["din-41494"],"tags":["eurocard","3u","mounting"]},{"id":"sma-connector-cutout","kind":"dimension","tier":2,"title":"SMA bulkhead panel hole","summary":"A panel-mount SMA jack needs a ⌀6.5 mm round hole with a 6.35 mm D-flat on one side to key the nut and stop the jack rotating when the mating cable is torqued.","applies":["sma","rf connector","connector cutout","enclosure"],"value":{"table":[{"param":"hole-diameter","value":6.5},{"param":"d-flat","value":6.35}],"unit":"mm"},"basis":"SMA bulkhead jack panel-mount drawing","sources":["molex-sma"],"tags":["sma","rf","cutout","connector"]},{"id":"audio-jack-cutout","kind":"dimension","tier":2,"title":"3.5 mm audio jack panel hole","summary":"A panel-mount 3.5 mm audio jack needs a ⌀6 mm round hole for the threaded bushing; add a small D-flat or two flats only if the jack nut needs anti-rotation.","applies":["3.5mm jack","audio jack","connector cutout","enclosure"],"value":{"value":6,"unit":"mm"},"basis":"Standard 3.5mm panel-mount audio jack bushing diameter","sources":["usb-if-usb2"],"tags":["audio","3.5mm","cutout","connector"]},{"id":"connector-cutout-clearance","kind":"rule","tier":2,"title":"Panel-cutout clearance around connector bodies","summary":"Add 0.3–0.5 mm clearance per side between a connector's own mechanical envelope and the panel cutout it passes through; less than 0.3 mm binds on moulding/printing tolerance, more than 0.5 mm shows a visible gap around the plug.","applies":["connector cutout","enclosure"],"value":{"min":0.3,"max":0.5,"unit":"mm"},"basis":"Injection-moulding and FDM dimensional tolerance on a through-cutout","sources":["usb-if-type-c"],"tags":["cutout","clearance","connector"]},{"id":"ip54-gasket-groove","kind":"dimension","tier":2,"title":"IP54 gasket groove (foam/dust seal)","summary":"An IP54 splash/dust seal uses a compressed-foam gasket in a 2–3 mm wide, 1.5–2 mm deep groove, compressed 25-50% at assembly; no continuous compression bead is needed since IP54 tolerates limited dust ingress.","applies":["gasket","ip54","enclosure"],"value":{"table":[{"param":"groove-width","value":2.5},{"param":"groove-depth","value":1.75}],"unit":"mm"},"basis":"IEC 60529 IP54: protected against dust (limited ingress) and splashing water","sources":["iec-60529"],"tags":["gasket","ip54","groove","seal"]},{"id":"ip65-gasket-groove","kind":"dimension","tier":2,"title":"IP65 gasket groove (dust-tight, jet-proof)","summary":"IP65 (dust-tight, protected against water jets) needs a continuous elastomer (silicone/EPDM) gasket in a 3–4 mm wide, 2–2.5 mm deep groove with a closed-loop bead and screw bosses spaced ≤ 60 mm apart to hold uniform compression.","applies":["gasket","ip65","enclosure"],"value":{"table":[{"param":"groove-width","value":3.5},{"param":"groove-depth","value":2.25},{"param":"boss-spacing-max","value":60}],"unit":"mm"},"basis":"IEC 60529 IP65: totally protected against dust, water jets from any direction","sources":["iec-60529"],"tags":["gasket","ip65","groove","seal"]},{"id":"ip67-gasket-groove","kind":"dimension","tier":2,"title":"IP67 gasket groove (temporary immersion)","summary":"IP67 (immersion to 1 m for 30 min) needs a 4–5 mm wide, 2.5–3 mm deep groove with a closed-cell silicone gasket compressed 30-40%, plus screw bosses ≤ 50 mm apart and any cable entry made via a rated gland, not a grommet.","applies":["gasket","ip67","enclosure"],"value":{"table":[{"param":"groove-width","value":4.5},{"param":"groove-depth","value":2.75},{"param":"boss-spacing-max","value":50}],"unit":"mm"},"basis":"IEC 60529 IP67: dust-tight, protected against temporary immersion","sources":["iec-60529"],"tags":["gasket","ip67","groove","seal"]},{"id":"emi-shielding-gap","kind":"rule","tier":2,"title":"EMI shielding seam gap limit","summary":"A shielded enclosure seam or vent aperture must stay under λ/20 of the highest frequency to be shielded (e.g. ≤ 7.5 mm at 2 GHz, ≤ 1.5 mm at 10 GHz); vent holes should be round or hex-honeycomb, not slots, above a few hundred MHz.","applies":["emi","shielding","enclosure"],"value":{"max":7.5,"unit":"mm","note":"at 2GHz; scale as lambda/20"},"basis":"Waveguide-below-cutoff shielding-effectiveness rule of thumb","sources":["iec-60529"],"tags":["emi","shielding","gap","vent"]},{"id":"cable-gland-pg-sizes","kind":"fastener","tier":2,"title":"PG7/PG9 cable gland hole and clamping range","summary":"A PG7 gland needs a panel hole of ⌀12.5 mm and clamps cable ⌀3–6.5 mm; a PG9 gland needs a ⌀15.5 mm hole and clamps ⌀4–8 mm — always check the vendor's own datasheet, PG threads are not perfectly standardized between makers.","applies":["cable gland","din rail enclosure","enclosure"],"value":{"table":[{"size":"PG7","hole":12.5,"clampMin":3,"clampMax":6.5},{"size":"PG9","hole":15.5,"clampMin":4,"clampMax":8}],"unit":"mm"},"basis":"DIN 46320 / EN 62444 cable gland thread and clamping-range tables","sources":["cable-gland-din"],"tags":["cable-gland","pg7","pg9"]},{"id":"cable-gland-metric-sizes","kind":"fastener","tier":2,"title":"M12/M16 metric cable gland hole and clamping range","summary":"An M12 metric cable gland needs a ⌀12.5 mm panel hole and clamps ⌀3–6.5 mm; an M16 gland needs a ⌀16.2 mm hole and clamps ⌀4.5–10 mm, the common size for a DIN-rail power-supply enclosure's mains cord entry.","applies":["cable gland","din rail enclosure","enclosure"],"value":{"table":[{"size":"M12","hole":12.5,"clampMin":3,"clampMax":6.5},{"size":"M16","hole":16.2,"clampMin":4.5,"clampMax":10}],"unit":"mm"},"basis":"EN 62444 metric cable gland thread and clamping-range tables","sources":["cable-gland-din"],"tags":["cable-gland","m12","m16"]},{"id":"enclosure-boss-rib","kind":"feature","tier":2,"title":"Screw boss and rib sizing in an electronics enclosure","summary":"Screw bosses and gusset ribs off an electronics enclosure wall follow the generic plastic-boss and rib rules (boss OD ≈ 2.5x screw diameter, rib ≤ 60% of wall thickness) — this pack adds only the PCB standoff heights and hole sizes on top.","applies":["enclosure","boss","rib"],"basis":"Boss/rib geometry is process-driven, not sector-specific; the hardware pack owns the numbers","sources":["ipc-2221"],"tags":["boss","rib","enclosure"],"see":["hardware/screw-boss-plastic"]},{"id":"snap-fit-cantilever-lid","kind":"feature","tier":2,"title":"Cantilever snap-fit for enclosure lids","summary":"A lid-retention cantilever snap on ABS/PC runs 0.5–1 mm undercut, 8–12 mm beam length and a beam thickness equal to the wall (1.5–2.5 mm), giving a deflection-to-length ratio under ~10% so the beam doesn't yield on repeated open/close cycles.","applies":["enclosure","snap fit","lid"],"value":{"table":[{"param":"undercut","value":0.75},{"param":"beam-length","value":10}],"unit":"mm"},"basis":"Cantilever snap-fit strain limit for ABS/PC (allowable strain ~2%) at typical beam proportions","sources":["ul-94"],"tags":["snap-fit","lid","enclosure"]},{"id":"fin-thickness-by-process","kind":"rule","tier":2,"title":"Heat-sink fin thickness by manufacturing process","summary":"Fin thickness floors by process: die-cast (A380) ≥ 1 mm, extruded aluminium ≥ 1.2 mm, FDM-printed plastic parts ≥ 2 mm — thinner fins either won't fill in casting/extrusion or warp/delaminate when printed.","applies":["heat sink","die casting","fdm","thermal"],"value":{"table":[{"process":"die-cast","min":1},{"process":"extruded","min":1.2},{"process":"fdm","min":2}],"unit":"mm"},"basis":"Minimum fill thickness for die-cast/extrusion tooling; minimum printable rigid wall for FDM","sources":["protolabs-thermal"],"tags":["heatsink","fin","thickness","process"]},{"id":"tim-gap","kind":"dimension","tier":2,"title":"Thermal-interface-material (TIM) bond-line gap","summary":"Design a 0.5 mm nominal gap between a chip package and a heat sink/spreader for the TIM (paste, pad, or gap-filler) — enough to fill package height tolerance and mounting flatness without squeezing the TIM out to near-zero thickness, which raises thermal resistance.","applies":["thermal","heat sink","tim"],"value":{"value":0.5,"unit":"mm"},"basis":"Typical TIM bond-line thickness balancing thermal resistance against tolerance stack-up","sources":["protolabs-thermal"],"tags":["tim","thermal","gap","heatsink"]},{"id":"led-junction-thermal-rule","kind":"rule","tier":2,"title":"LED junction-temperature thermal path rule","summary":"Keep the metal thermal path from an LED's pad to ambient short enough that junction temperature stays ≥ 20°C below datasheet Tj-max at full drive current; an unheatsinked 1 W LED on FR4 alone usually can't meet this and needs a metal-core PCB or added heat sink.","applies":["led","thermal","pcb"],"value":{"min":20,"unit":"C"},"basis":"LED lumen output and lifetime derate sharply above rated junction temperature","sources":["protolabs-thermal"],"tags":["led","thermal","junction"]},{"id":"din-rail-clip-dimensions","kind":"feature","tier":2,"title":"DIN-rail mounting clip geometry","summary":"A plastic DIN-rail clip's channel opens 25–27 mm between its inner walls (narrower than the 35 mm rail so the walls flex over the rail lips), with a 7–8 mm channel depth to seat on TH35's 7.5 mm face and a spring-loaded or fixed foot that snaps behind the rail's curled edge.","applies":["din rail","clip","enclosure"],"value":{"table":[{"param":"channel-opening","value":26},{"param":"channel-depth","value":7.5}],"unit":"mm"},"basis":"Clip must flex over the TH35 rail's curled lips and self-retain","sources":["en-60715"],"tags":["din-rail","clip","feature"]},{"id":"battery-aa-compartment","kind":"dimension","tier":2,"title":"AA battery compartment envelope","summary":"A single AA cell is ⌀14.5 × 50.5 mm; size a compartment pocket to ⌀15.5 × 51.5 mm (0.5–1 mm all-round clearance) with spring contact travel of 3–5 mm at one end to take up length tolerance across cells.","applies":["battery","aa","enclosure"],"value":{"table":[{"param":"cell","diameter":14.5,"length":50.5},{"param":"pocket","diameter":15.5,"length":51.5}],"unit":"mm"},"basis":"IEC 60086 AA cell envelope plus assembly clearance and spring-contact travel","sources":["iec-60068-2-31"],"tags":["battery","aa","compartment"]},{"id":"battery-18650-compartment","kind":"dimension","tier":2,"title":"18650 battery compartment envelope","summary":"An 18650 cylindrical cell is ⌀18 × 65 mm; size a compartment pocket to ⌀19 × 66–67 mm, adding 3–5 mm of spring or bus-bar travel at one end — protected (with PCM) 18650s run up to ~1–2 mm longer than bare cells, so verify the cell variant before fixing pocket length.","applies":["battery","18650","enclosure"],"value":{"table":[{"param":"cell","diameter":18,"length":65},{"param":"pocket","diameter":19,"length":66.5}],"unit":"mm"},"basis":"Standard 18650 cylindrical cell envelope plus assembly clearance","sources":["iec-60068-2-31"],"tags":["battery","18650","compartment"]},{"id":"pcb-standoff-thread-insert","kind":"fastener","tier":2,"title":"Threaded insert for PCB standoffs in printed/moulded enclosures","summary":"For M2.5/M3 PCB standoffs moulded into ABS/PC or printed in PLA/PETG, use a brass heat-set insert sized to the same boss-and-drill rule as any other threaded boss in the enclosure — see the hardware pack's insert table for hole and boss diameters.","applies":["pcb","standoff","enclosure","insert"],"basis":"Insert sizing is a generic fastener fact, not PCB-specific","sources":["ipc-2221"],"tags":["insert","standoff","pcb"],"see":["hardware/heat-set-inserts-metric"],"value":{"note":"insert size follows the boss/hole table for the chosen screw size","unit":"text","value":"see hardware/heat-set-inserts-metric"}},{"id":"material-fr4","kind":"material","tier":1,"title":"FR4 as the PCB substrate","summary":"FR4 (glass-fibre/epoxy laminate) is the default rigid PCB substrate: ~1.85 g/cm3 density, glass-transition temperature Tg 130–170°C depending on grade, and UL 94 V-0 rated — treat the board itself as a UL94 V-0 part when the enclosure's flammability rating is being assessed.","applies":["pcb","fr4"],"value":{"table":[{"property":"density","value":1.85,"unit":"g/cm3"},{"property":"Tg","min":130,"max":170,"unit":"C"}]},"basis":"Standard FR4 laminate datasheet properties","sources":["ipc-2221"],"tags":["material","fr4","pcb"]},{"id":"material-abs","kind":"material","tier":2,"title":"ABS for electronics enclosures","summary":"ABS is the default injection-moulded or FDM enclosure plastic: ~1.05 g/cm3 density, easy to mould/print, but only self-extinguishing (UL 94 HB) unless a flame-retardant grade is specified — do not assume ABS meets V-0 without checking the specific grade.","applies":["enclosure","abs"],"value":{"value":1.05,"unit":"g/cm3"},"basis":"Standard ABS resin datasheet density; UL94 rating varies by grade","sources":["ul-94"],"tags":["material","abs","enclosure"]},{"id":"material-pc","kind":"material","tier":2,"title":"Polycarbonate (PC) for enclosures needing V-0","summary":"Polycarbonate is used when the enclosure itself must pass UL 94 V-0 (many flame-retardant PC grades do natively): ~1.2 g/cm3 density, higher impact strength and heat resistance than ABS, at a higher material and moulding-pressure cost.","applies":["enclosure","polycarbonate","pc"],"value":{"value":1.2,"unit":"g/cm3"},"basis":"Standard PC resin datasheet density; FR grades UL94 V-0 rated","sources":["ul-94"],"tags":["material","polycarbonate","pc","enclosure"]},{"id":"material-pc-abs","kind":"material","tier":2,"title":"PC/ABS blend for enclosures","summary":"PC/ABS blend (~1.1 g/cm3) balances ABS's mouldability with PC's toughness and heat resistance, a common choice for consumer electronics housings that need better impact and heat performance than plain ABS without full PC cost.","applies":["enclosure","pc-abs"],"value":{"value":1.1,"unit":"g/cm3"},"basis":"Standard PC/ABS blend resin datasheet density","sources":["ul-94"],"tags":["material","pc-abs","enclosure"]},{"id":"material-pa-nylon","kind":"material","tier":3,"title":"Polyamide (PA/nylon) for connector shrouds and clips","summary":"PA (nylon 6/6) at ~1.14 g/cm3 gives the fatigue resistance and low-friction surface useful for repeatedly-flexed parts like connector latches and snap-fit clips, but absorbs moisture (dimensional drift up to ~0.5% at saturation) which matters for tight-tolerance snaps.","applies":["enclosure","connector","snap fit","nylon","pa"],"value":{"value":1.14,"unit":"g/cm3"},"basis":"Standard PA66 resin datasheet density and moisture-absorption behavior","sources":["ul-94"],"tags":["material","nylon","pa","snap-fit"]},{"id":"material-6061-aluminum","kind":"material","tier":2,"title":"6061-T6 aluminium for machined heat sinks and panels","summary":"6061-T6 aluminium (~2.7 g/cm3, thermal conductivity ~167 W/mK) is the default CNC-machined heat-sink and enclosure-panel alloy — good machinability and thermal performance at moderate strength, versus a die-cast alloy when volumes justify tooling.","applies":["heat sink","enclosure","aluminium","cnc"],"value":{"table":[{"property":"density","value":2.7,"unit":"g/cm3"},{"property":"thermal-conductivity","value":167,"unit":"W/mK"}]},"basis":"Standard 6061-T6 aluminium alloy datasheet properties","sources":["protolabs-thermal"],"tags":["material","aluminium","6061","heatsink"]},{"id":"material-diecast-a380","kind":"material","tier":2,"title":"A380 die-cast aluminium for high-volume enclosures/heat sinks","summary":"A380 (~2.71 g/cm3, thermal conductivity ~96 W/mK) is the standard high-pressure die-cast alloy for enclosures and finned heat sinks at volume — lower thermal conductivity than 6061 wrought aluminium but far cheaper per part once tooling is amortised.","applies":["heat sink","enclosure","die casting","aluminium"],"value":{"table":[{"property":"density","value":2.71,"unit":"g/cm3"},{"property":"thermal-conductivity","value":96,"unit":"W/mK"}]},"basis":"Standard A380 die-cast aluminium alloy datasheet properties","sources":["protolabs-thermal"],"tags":["material","diecast","a380","aluminium","heatsink"]},{"id":"test-ip-rating","kind":"test","tier":2,"title":"IP dust/water ingress test (IEC 60529)","summary":"IEC 60529 IP testing scores dust ingress (0-6, 6=dust-tight) and water ingress (0-9K, up to high-pressure jets); hitting IP65/IP67 geometrically needs the gasket-groove and gland entries in this pack, tested before function is re-checked.","applies":["enclosure","ip rating"],"basis":"IEC 60529 defines the IP code and its test procedures","sources":["iec-60529"],"tags":["test","ip-rating","ingress"]},{"id":"test-drop-iec-60068-2-31","kind":"test","tier":2,"title":"Drop/rough-handling test (IEC 60068-2-31)","summary":"IEC 60068-2-31 drops equipment-class enclosures 250-1000 mm (by mass/class) onto each face/edge/corner; surviving it means ≥ 2 mm corner radii, no unsupported wall span over ~40 mm, and standoffs stiff enough the board doesn't slam into the lid.","applies":["enclosure","drop test"],"value":{"min":250,"max":1000,"unit":"mm"},"basis":"IEC 60068-2-31 Test Ec rough-handling shock procedure","sources":["iec-60068-2-31"],"tags":["test","drop","shock"]},{"id":"test-thermal-cycling","kind":"test","tier":2,"title":"Thermal cycling test","summary":"A typical enclosure thermal-cycling test runs -40°C to +85°C for 100-1000 cycles; geometrically this needs CTE-compatible mating parts (metal insert vs. plastic boss), TIM bond-line gap to absorb expansion, and snap fits with fatigue margin.","applies":["enclosure","thermal cycling"],"value":{"min":-40,"max":85,"unit":"C"},"basis":"Common automotive/industrial electronics thermal-cycling profile","sources":["iec-60068-2-31"],"tags":["test","thermal","cycling"]},{"id":"test-ul94-v0-flammability","kind":"test","tier":2,"title":"UL 94 V-0 flammability test","summary":"UL 94 V-0 requires a bar sample to self-extinguish within 10 s per flame application with no flaming drips; passing it means keeping the wall at the resin's minimum V-0 thickness (often ≥ 1.5 mm for FR-grade PC, thicker for HB-grade ABS).","applies":["enclosure","flammability"],"value":{"max":10,"unit":"s"},"basis":"UL 94 vertical burn test V-0 classification criteria","sources":["ul-94"],"tags":["test","ul94","flammability","v0"]},{"id":"test-vibration","kind":"test","tier":3,"title":"Random vibration test","summary":"A typical industrial/automotive vibration qualification runs random vibration at 5-20 Grms across 10-2000 Hz for 1-3 hours per axis; passing it needs standoffs on ≤ 100 mm spacing and connectors with a secondary lock so board flex doesn't crack joints.","applies":["enclosure","vibration"],"value":{"min":5,"max":20,"unit":"count","note":"Grms"},"basis":"Common industrial/automotive random-vibration qualification profile","sources":["iec-60068-2-31"],"tags":["test","vibration"]},{"id":"standard-iec-60529","kind":"standard","tier":2,"title":"IEC 60529 — the IP Code","summary":"IEC 60529 defines the two-digit IP rating (solids 0–6, liquids 0–9K) and the physical test rigs (finger/wire probes, dust chambers, water jets/immersion) that a housing's vent, gasket and gland geometry must survive to claim a rating.","applies":["ip rating","enclosure"],"basis":"Governing standard for ingress-protection claims","sources":["iec-60529"],"tags":["standard","ip-rating"]},{"id":"standard-en-60715","kind":"standard","tier":2,"title":"EN 60715 — DIN rail mounting","summary":"EN 60715 standardizes the TH35 (and TH15/TH32) top-hat rail cross-sections used across industrial control enclosures; any DIN-rail clip or housing foot geometry in this pack traces back to this standard's rail dimensions.","applies":["din rail","enclosure"],"basis":"Governing standard for standardized rail mounting dimensions","sources":["en-60715"],"tags":["standard","din-rail"]},{"id":"standard-ul94","kind":"standard","tier":2,"title":"UL 94 — plastic flammability classification","summary":"UL 94 classifies plastics HB through 5VA by burn behaviour; enclosure specs for consumer, industrial and mains-adjacent electronics commonly require V-0 or better, which drives both material selection and minimum wall thickness.","applies":["enclosure","flammability","material"],"basis":"Governing standard for plastic flammability classification used in electronics enclosure specs","sources":["ul-94"],"tags":["standard","ul94","flammability"]},{"id":"recipe-raspberry-pi-4-enclosure-base","kind":"recipe","tier":2,"title":"Recipe: Raspberry Pi 4 enclosure base with standoffs and port cutouts","summary":"Build a 95×66×20 mm enclosure base with a 2 mm shell wall, four 6×6×3 mm standoff bosses on the Pi 4's 58×49 mm hole pattern with ⌀2.7 mm holes, and USB-C plus HDMI cutouts through one side wall.","applies":["raspberry pi 4","enclosure"],"basis":"Combines enclosure-wall-thickness-im, raspberry-pi-4-5-mounting, pcb-mounting-hole-diameters, usb-c-cutout and hdmi-cutout into one buildable shell","sources":["rpi-4-mech","usb-if-type-c","hdmi-spec"],"tags":["recipe","raspberry-pi","enclosure"],"recipe":{"prompt":"Model a Raspberry Pi 4 enclosure base: 95x66x20mm shell, 2mm wall, four standoff bosses on the Pi4 hole pattern with M2.5 holes, and USB-C + HDMI cutouts","steps":[{"tool":"cad_box","args":{"dx":95,"dy":66,"dz":20},"note":"outer enclosure block, 2mm wall margin around the 85x56 board plus room for a 20mm tall shell"},{"tool":"cad_shell","args":{"of":"$0","thickness":2,"open":[{"normal":[0,0,1]}]},"note":"hollow into a tray, open top; shell first, before any boss or hole"},{"tool":"cad_box","args":{"dx":6,"dy":6,"dz":3,"origin":[7,5,2]},"note":"standoff boss box near hole 1 (centre 10,8), 3mm tall per pcb-standoff-height, sitting on the 2mm floor"},{"tool":"cad_boolean_union","args":{"of":"$1","tool":"$2"},"note":"union boss1 onto the tray"},{"tool":"cad_box","args":{"dx":6,"dy":6,"dz":3,"origin":[65,5,2]},"note":"boss 2, 58mm in x from boss 1 (Pi4 hole pitch)"},{"tool":"cad_boolean_union","args":{"of":"$3","tool":"$4"}},{"tool":"cad_box","args":{"dx":6,"dy":6,"dz":3,"origin":[7,54,2]},"note":"boss 3, 49mm in y from boss 1 (Pi4 hole pitch)"},{"tool":"cad_boolean_union","args":{"of":"$5","tool":"$6"}},{"tool":"cad_box","args":{"dx":6,"dy":6,"dz":3,"origin":[65,54,2]},"note":"boss 4, diagonal from boss 1"},{"tool":"cad_boolean_union","args":{"of":"$7","tool":"$8"}},{"tool":"cad_drill_hole","args":{"of":"$9","type":"drill","diameter":2.7,"axis":[0,0,-1],"start":[10,8,5],"depth":3},"note":"M2.5 standoff hole per pcb-mounting-hole-diameters"},{"tool":"cad_drill_hole","args":{"of":"$10","type":"drill","diameter":2.7,"axis":[0,0,-1],"start":[68,8,5],"depth":3}},{"tool":"cad_drill_hole","args":{"of":"$11","type":"drill","diameter":2.7,"axis":[0,0,-1],"start":[10,57,5],"depth":3}},{"tool":"cad_drill_hole","args":{"of":"$12","type":"drill","diameter":2.7,"axis":[0,0,-1],"start":[68,57,5],"depth":3}},{"tool":"cad_box","args":{"dx":6,"dy":10,"dz":4,"origin":[92,20,8]},"note":"USB-C cutout tool, through the x=95 wall, 10x4mm opening per usb-c-cutout"},{"tool":"cad_boolean_subtract","args":{"of":"$13","tool":"$14"}},{"tool":"cad_box","args":{"dx":6,"dy":15,"dz":6,"origin":[92,38,8]},"note":"HDMI cutout tool, 15x6mm opening per hdmi-cutout"},{"tool":"cad_boolean_subtract","args":{"of":"$15","tool":"$16"}}],"expect":{"volume":23941.1,"faceCount":55,"watertight":true,"note":"measured 2026-09-19: CADSF-1561 (cc1f38cb, 2026-09-15) gave a BLIND hole a 118° DRILL POINT: the flat floor became a cone on the four Ø2.7x3 blind boss holes: +4 faces, -6.3 mm^3"}}},{"id":"recipe-din-rail-clip-profile","kind":"recipe","tier":2,"title":"Recipe: DIN-rail mounting clip cross-section","summary":"Extrude a 35 mm wide DIN-rail clip channel profile (25 mm channel opening, 7 mm channel depth) 15 mm deep along the rail, matching the TH35 EN 60715 rail cross-section this pack's din-rail-profile entry cites.","applies":["din rail","enclosure","clip"],"basis":"Combines din-rail-profile and din-rail-clip-dimensions into one extruded channel","sources":["en-60715"],"tags":["recipe","din-rail","clip"],"recipe":{"prompt":"Extrude a DIN-rail clip channel profile, 35mm wide opening down to a 25mm wide x 7mm deep channel, 15mm deep along the rail","steps":[{"tool":"cad_extrude_profile","args":{"depth":15,"outer":[[0,0],[35,0],[35,10],[30,10],[30,3],[5,3],[5,10],[0,10]]},"note":"U-channel: 35mm wide x 10mm tall block with a 25mm wide x 7mm deep open channel for the rail to snap into"}],"expect":{"volume":2625,"faceCount":10,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}},{"id":"recipe-finned-heatsink","kind":"recipe","tier":2,"title":"Recipe: finned heat sink base plate","summary":"Build a 60×40×3 mm heat-sink base with six 60×2×15 mm fins patterned at 6 mm centre spacing (within the 5–8 mm natural-convection range) and unioned into one solid.","applies":["heat sink","thermal","enclosure"],"basis":"Combines fin-spacing-natural-convection and fin-thickness-by-process (FDM 2mm) into one buildable finned block","sources":["protolabs-thermal"],"tags":["recipe","heatsink","thermal"],"recipe":{"prompt":"Model a 60x40x3mm heatsink base with six 2mm thick, 15mm tall fins on 6mm spacing","steps":[{"tool":"cad_box","args":{"dx":60,"dy":40,"dz":3},"note":"base plate"},{"tool":"cad_box","args":{"dx":60,"dy":2,"dz":15,"origin":[0,2,3]},"note":"first fin, 2mm thick (FDM floor) x 15mm tall, sitting on top of the base"},{"tool":"cad_pattern_copies","args":{"of":"$1","type":"linear","step":[0,6,0],"count":6},"note":"6 fins at 6mm centre spacing, within the 5-8mm natural-convection range"},{"tool":"cad_boolean_union","args":{"of":"$0","tool":"$2"},"note":"union base plate with all six fin copies"}],"expect":{"volume":18000,"faceCount":30,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}}]}