# IP54 Weatherproofing Kit BOM — Issue #144 **Agent:** sl-mechanical | **Date:** 2026-03-01 IP54-rated enclosures and sensor housings for all-weather outdoor robot operation. --- ## A. Main Electronics Enclosure (`ip54_enclosure.scad`) ### Purchased Hardware | # | Description | Spec | Qty | Source / Notes | |---|-------------|------|-----|----------------| | E1 | PG7 cable gland | IP68, nylon, Ø3–6 mm cable range | 4 | Lapp Skintop® or equivalent | | E2 | PG9 cable gland | IP68, nylon, Ø4–8 mm cable range | 2 | Lapp Skintop® or equivalent | | E3 | Silicone O-ring cord | Ø2 mm cord, silicone 70 Shore A | ~800 mm | Cut to lid perimeter length; butt-join with silicone sealant | | E4 | 40 mm axial fan | 12 V DC, sleeve bearing, >10 CFM | 1 | Sunon MF40201VX or Noctua NF-A4x10 | | E5 | Foam filter pad | 40×40×5 mm open-cell PPI 30 | 2 | Cut from foam sheet; replace when dirty | | E6 | Al heat sink pad — Jetson | 60×40×2 mm, adhesive back | 1 | Bergquist GP3000 or Arctic Thermal Pad | | E7 | Al heat sink pad — ESC | 50×30×2 mm, adhesive back | 1 | Same source as E6 | | E8 | Thermal interface material | 1 mm silicone pad, Rth ≤ 1.0 °C·cm²/W | 2 | Between board and heat sink pad | | E9 | Spring washer M10 | For quarter-turn latch preload | 4 | DIN 127, stainless | | E10 | M3×8 SHCS | Stainless | 8 | Fan + duct mounting | | E11 | M3×30 SHCS | Stainless | 4 | Quarter-turn latch knob bolt | | E12 | M3×6 BHCS | Stainless | 16 | PCB standoff mounting (Jetson×4, FC×4, ESC×8) | | E13 | M3 brass heat-set insert | M3×4 L, Ø5.1 OD | 16 | Press into standoffs with soldering iron | | E14 | Silicone adhesive sealant | Clear, weatherproof, Dowsil 732 or equivalent | 1 tube | Seal cable gland threads + O-ring cord join | ### Printed Parts | Part | File | Qty | Print | Mass est. | |------|------|-----|-------|-----------| | Enclosure body | `ip54_enclosure.scad` `body_stl` | 1 | PETG, 5 perims, 40% infill, 0.25 mm layer | ~320 g | | Lid with fan mount | `ip54_enclosure.scad` `lid_stl` | 1 | PETG, 5 perims, 40% infill | ~185 g | | Fan filter duct | `ip54_enclosure.scad` `fan_duct_stl` | 1 | PETG, 4 perims, 30% infill | ~28 g | | Quarter-turn latch knob | `ip54_enclosure.scad` `latch_stl` | 4 | PETG, 5 perims, 60% infill | ~6 g each | ### Gasket DXF | File | Description | |------|-------------| | `ip54_gasket.dxf` | O-ring groove outline for laser-cut 2 mm silicone sheet (alternative to cord) | --- ## B. IMX219 Camera Dome (`ip54_sensor_housings.scad`) | # | Description | Spec | Qty (per camera) | Notes | |---|-------------|------|-----------------|-------| | C1 | Clear PC dome cylinder | Ø55×35 mm, 2 mm wall, clear polycarbonate | 1 | Vac-form custom OR source clear plastic sphere halves; DXF from `imx219_dome_2d` | | C2 | Silicone O-ring | Ø55 mm ID, 2 mm cord | 1 | Seals dome to base ring | | C3 | Silica gel sachet | 1 g, demountable | 1 | Anti-fog; replace yearly or when saturated | | C4 | M2×6 SHCS | Stainless | 4 | PCB to standoffs | | C5 | M3×10 BHCS | Stainless | 4 | Base ring to sensor rail bracket | | C6 | Anti-fog spray | Rain-X interior or similar | — | Apply to dome inner face during assembly | | Printed Part | Qty | Print | Mass est. | |--------------|-----|-------|-----------| | Dome base ring | 4 (1 per camera) | PETG, 5 perims, 60% infill | ~22 g | | Retainer ring | 4 | PETG, 4 perims, 40% infill | ~8 g | --- ## C. D435i Sealed Housing (`ip54_sensor_housings.scad`) | # | Description | Spec | Qty | Notes | |---|-------------|------|-----|-------| | D1 | IR-transparent PC window | 88×22×3 mm, >85% T at 850 nm | 1 | Evonik PLEXIGLAS IR 8N or Altuglas IR; export profile from `d435i_window_2d` | | D2 | Silicone O-ring | 2 mm cord, approx 230 mm perimeter | 1 | Seals window frame to housing front face | | D3 | Silicone O-ring | 2 mm cord, rear cap seal | 1 | | | D4 | PG7 cable gland | Rear cap | 1 | For D435i USB-C cable | | D5 | M2.5×10 SHCS | Window frame screws | 4 | | | D6 | M3×6 SHCS | Housing-to-bracket top | 3 | | | D7 | 1/4-20 UNC hex nut | Captured in bottom | 1 | For tripod/bracket mount | | Printed Part | Qty | Print | Mass est. | |--------------|-----|-------|-----------| | D435i housing body | 1 | PETG, 5 perims, 40% infill | ~65 g | | Window retention frame | 1 | PETG, 5 perims, 60% infill | ~18 g | | Rear cap | 1 | PETG, 5 perims, 60% infill | ~20 g | --- ## D. RPLIDAR Spinning Dome (`ip54_sensor_housings.scad`) | # | Description | Spec | Qty | Notes | |---|-------------|------|-----|-------| | R1 | Clear PC cylinder | Ø120 mm OD, 1.5–2 mm wall, 95 mm tall | 1 | Source: plastic cylinder tube or custom vac-form; spec from `rplidar_dome_2d` | | R2 | Clear PC disc cap | Ø120 mm, 2 mm, clear PC | 1 | Seals dome top; laser-cut from `rplidar_dome_cap_2d` export | | R3 | Silicone O-ring | Ø120 mm ID, 2 mm cord | 1 | Seals dome cylinder to base ring | | R4 | M3×6 captive bolt | For dome retention clips | 3 | Press-fit into clip | | R5 | M4×8 BHCS | Deck mounting | 4 | Base ring to deck plate | | R6 | M3×8 SHCS | RPLIDAR to base ring | 4 | Standard RPLIDAR A1M8 M3 bolts | | Printed Part | Qty | Print | Mass est. | |--------------|-----|-------|-----------| | RPLIDAR dome base ring | 1 | PETG, 5 perims, 60% infill | ~55 g | | Dome retention clip | 3 | PETG, 5 perims, 60% infill | ~4 g each | --- ## Thermal Management Summary | Component | Thermal strategy | Max junction | Enclosure budget | |-----------|-----------------|-------------|-----------------| | Jetson Orin NX | Al pad → lid → fan forced convection | 95 °C Tj | Target ≤ 60 °C case | | FC (MAMBA F722S) | Passive; FC has own EMI shield | 85 °C | <60 °C ambient OK | | ESC × 2 | Al pad → lid | 100 °C Tj | Target ≤ 60 °C | | D435i | Passive; housing vent gap on rear cap | 45 °C surface | — | Fan spec: 40 mm, 12 V, ≥10 CFM at 0.1" H₂O static pressure. Thermal analysis (simplified): ΔT = Q/(m_dot × Cp) where Q = 15 W (Jetson 10 W + ESC 5 W), airflow = 10 CFM = 4.7 L/s. ΔT_air ≈ 15 / (4.7 × 1.2 × 1005) ≈ 2.7 °C rise over ambient. With conduction resistance (pad + wall): Tcase ≈ Tambient + 12 °C. At 40 °C ambient → 52 °C max. **Within 60 °C target. ✓** --- ## Mass Summary | Assembly | Mass est. | |----------|-----------| | Enclosure (body + lid + duct + latches) | ~560 g | | 4× IMX219 domes | ~120 g | | D435i housing (body + frame + cap) | ~103 g | | RPLIDAR dome assembly | ~67 g | | Hardware + glands | ~80 g | | **Total kit** | **~930 g** | --- ## IP54 Compliance Checklist - [x] Box O-ring groove: 2 mm cord, 70% compression → IP54 ✓ - [x] Cable glands: PG7/PG9 IP68 rated — exceeds lid requirement ✓ - [x] Fan inlet: labyrinth duct prevents direct splash to fan bore ✓ - [x] Exhaust: double-baffle labyrinth on lid rear ✓ - [x] Camera domes: O-ring sealed to base ring ✓ - [x] D435i housing: O-ring on window frame + rear cap ✓ - [x] RPLIDAR dome: O-ring at dome-to-base seat ✓ - [ ] **⚠ Verify O-ring cord continuity** — no gaps at corners after cut-and-join - [ ] **⚠ Test after print** — submerge base (static) in 200 mm water for 30 min (IP54 splash test) - [ ] **⚠ D435i IR window** — confirm PC sheet IR transmission spec with supplier before ordering --- ## Export Commands ```bash # Enclosure openscad ip54_enclosure.scad -D 'RENDER="body_stl"' -o ip54_body.stl openscad ip54_enclosure.scad -D 'RENDER="lid_stl"' -o ip54_lid.stl openscad ip54_enclosure.scad -D 'RENDER="fan_duct_stl"' -o ip54_fan_duct.stl openscad ip54_enclosure.scad -D 'RENDER="latch_stl"' -o ip54_latch.stl openscad ip54_enclosure.scad -D 'RENDER="gasket_2d"' -o ip54_gasket.dxf # Sensor housings openscad ip54_sensor_housings.scad -D 'RENDER="imx219_dome_stl"' -o imx219_dome.stl openscad ip54_sensor_housings.scad -D 'RENDER="imx219_dome_2d"' -o imx219_dome_disc.dxf openscad ip54_sensor_housings.scad -D 'RENDER="d435i_body_stl"' -o d435i_body.stl openscad ip54_sensor_housings.scad -D 'RENDER="d435i_window_2d"' -o d435i_window.dxf openscad ip54_sensor_housings.scad -D 'RENDER="d435i_frame_stl"' -o d435i_frame.stl openscad ip54_sensor_housings.scad -D 'RENDER="rplidar_base_stl"' -o rplidar_dome_base.stl openscad ip54_sensor_housings.scad -D 'RENDER="rplidar_dome_2d"' -o rplidar_dome_spec.dxf ```