saltylab-firmware/chassis/csi_rain_shield_BOM.md
sl-mechanical a0d0c1211b feat: Add Issue #254 - CSI camera rain/sun shields
Add csi_rain_shield.scad with parametric visor-style protective
shields for all 4 Raspberry Pi CSI cameras (IMX219).

Features:
- Visor-style overhang (32mm forward extension) shields lens from
  rain and direct sunlight
- Drip edge prevents water from trickling back onto PCB
- Snap-fit tabs (4 per shield, no fasteners required)
- Ventilation slots prevent moisture condensation
- Optional transparent polycarbonate lens cover insert
- Radially symmetric design fits all 4 cameras

Includes comprehensive BOM with:
- Print settings and material specifications
- Assembly instructions for snap-fit installation
- Maintenance and troubleshooting guide
- Weather resistance performance notes
- Design variants for different conditions
- Post-print finishing recommendations

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-02 12:48:41 -05:00

11 KiB
Raw Blame History

CSI Camera Rain/Sun Shield — BOM + Assembly

Rev A — 2026-03-02 — sl-mechanical


System Overview

Protective visor-style rain and sun shields for all 4 Raspberry Pi CSI cameras (IMX219) on SaltyBot's sensor head.

Feature Spec
Application Protects IMX219 cameras from rain, dust, and direct sunlight
Camera interface Snap-fit to camera housing (32×32 mm PCB with 38×38 mm face plate)
Material PETG (printed) or polycarbonate (lens cover)
Coverage All 4 cameras (radial arms at 0°/90°/180°/270°)
Visor overhang 32 mm forward extension
Installation Tool-free snap-fit (no fasteners required)
Optional Clear polycarbonate lens cover insert

Design Features

  • Visor-style overhang: 32 mm forward extension shields lens from rain and sun glare
  • Drip edge: Curved bottom lip (3 mm radius) prevents water from running back onto PCB
  • Snap-fit tabs: 4 flexible tabs clip into grooves on camera housing sides (no fasteners)
  • Ventilation slots: 3 vent slots per side prevent moisture condensation inside shield
  • Lens cover groove: Optional slot accepts removable 2.0 mm clear polycarbonate sheet
  • Minimal weight: ~810 g per shield (4 shields ≈ 3240 g)
  • No supports needed: Flat-print orientation; minimal bridging

Part A — Printed Shields

Single Shield Unit (csi_rain_shield.scad, RENDER="shield")

Purpose: Protective visor for one CSI camera lens; clips onto camera housing.

Parameter Value Notes
Qty 4 One per camera (front, back, left, right)
Material PETG 4 perimeters, 25% infill (speed-optimized)
Print size ~45 × 55 × 8 mm Flat-face-down orientation
Print time ~2535 min per shield Total ~2 hours for all 4
Support Minimal Small bridging over drip edge only
Wall thickness 3 mm nominal Adequate for snap-tab rigidity

Key features:

  • Curved top surface sheds water outward
  • 4 snap-fit tabs (one per side) with 0.4 mm clearance for easy on/off
  • Vent slots (3 on left, 3 on right) for air circulation
  • Integrated groove for optional lens cover
  • Drip edge prevents water from trickling back

Post-print finishing:

  • Remove minimal support (drip edge underside)
  • Smooth any rough edges with 220-grit sandpaper
  • Test snap-tabs fit snugly (should click into place with light pressure)
  • Verify vent slots are open (clear with compressed air if needed)

Part B — Optional Lens Cover

Clear Polycarbonate Insert (csi_rain_shield.scad, RENDER="lens_cover")

Purpose: Optional removable transparent lens cover; protects optics while allowing light transmission.

Parameter Value Notes
Qty 4 One per camera (optional)
Material Polycarbonate sheet, clear 2.0 mm thickness; cut from larger stock
Size ~44 × 44 mm (with flanges) Trimmed to fit shield groove
Optical quality >90% transmission Standard transparency grade; no special optics required
Source Cut from 2.0 mm clear polycarbonate sheet Order stock, cut to size, sand edges smooth

Installation:

  1. Measure shield opening: approx. 38×38 mm (camera face size)
  2. Cut polycarbonate sheet to ~44×44 mm (includes 3 mm flange on each side)
  3. Sand edges smooth with 220+ grit (prevent scratching during insertion)
  4. Slide into groove on shield front (flanges grip in shield channels)
  5. Can be removed/cleaned without tools

Note: Lens cover is optional — shields work fine without it. Use for:

  • Extreme weather (heavy rain, salt spray)
  • Coastal/sandy environments (dust protection)
  • High-temperature environments (reduces direct solar heating on sensor)

Assembly Instructions

Installation on Camera Housing

  1. Prepare shield: Remove any support material; verify snap-tabs are flexible.
  2. Position shield: Orient visor away from camera (forward overhang extends away).
  3. Align tabs: Match snap-tab positions with grooves on camera housing sides.
  4. Apply light pressure: Snap shield onto housing with gentle thumb pressure.
    • You should hear/feel a "click" as each tab engages.
    • All 4 tabs should seat simultaneously (indicate correct orientation).
  5. Verify fit: Tug gently on shield — it should not move relative to housing.

Installation of Lens Cover (Optional)

  1. Prepare cover: Sand edges smooth; verify 44×44 mm dimension.
  2. Align flanges: Position cover so flanges align with groove channels on shield.
  3. Slide into groove: Insert cover from front, sliding flanges into shield grooves.
  4. Check seating: Cover should sit flush with shield front (no gaps).
  5. Removal: Gently pry from one corner to remove for cleaning.

Removal (For Cleaning/Replacement)

  1. Lens cover: Pop out with fingernail or plastic lever (takes 10 seconds).
  2. Shield: Flex one snap-tab up slightly while pulling shield forward.
    • Repeat on opposite side if needed.
    • Once one tab releases, shield pulls free easily.
  3. Clean: Wipe interior with dry cloth; use lens cleaner on polycarbonate if needed.
  4. Reinstall: Reverse steps above.

Fastener List

# Item Qty Notes
1 Printed shield (PETG) 4 See Part A specs above
2 Polycarbonate lens cover 4 Optional; see Part B above
No fasteners required Shields attach via snap-fit tabs only

Mounting Configuration

All 4 shields mount to radial arms of sensor_head.scad camera arms:

Top-down view (looking down at sensor head):

        Camera 1 (0°, front)
               ▲
               │
      Shield   │  Shield
        (270°) │    (90°)
         ◄────-●─────►
               │
               │
        Camera 3 (180°, back)
               ▼

Each camera has a 32×32 mm PCB with 38×38 mm face plate.
All 4 shields use identical design (radially symmetric).

Parameter Value Reason
Nozzle temp 215220 °C (PETG) Prevent stringing; avoid over-heating
Bed temp 80 °C Good adhesion for PETG
Print speed 40 mm/s Normal speed; snapt-tabs need clean layers
Infill 25% Sufficient for rigidity; saves weight & time
Perimeters 4 Ensures solid snap-tabs
Supports Minimal (tree/linear) Only under drip edge if needed
Orientation Flat-side-down Visor face toward bed for best surface finish
Layer height 0.2 mm Standard; 0.1 mm for improved surface finish

Mass Estimate

Component Qty Material Est. mass
Rain shield (printed) 4 PETG 810 g each (3240 g total)
Polycarbonate cover 4 PC sheet 35 g each (1220 g total, optional)
Subtotal (shields only) 3240 g
Total (with covers) 4460 g

Impact on robot: Negligible — <60 g added weight distributed symmetrically on sensor head.


Weather Resistance

Condition Protection Notes
Light rain Excellent Visor prevents direct water contact
Heavy rain Good Drip edge minimizes runoff; vent slots allow drainage
Salt spray Good PETG resists corrosion; rinsable with fresh water
Direct sunlight Excellent Reduces lens heating; improves image contrast in bright conditions
Dust Very good Visor blocks most airborne dust; lens cover optional for sandy environments
Snow/ice Fair Shields prevent accumulation on lens; may require occasional wiping

Maintenance & Cleaning

Weekly (or after rain/dust storm)

  • Wipe exterior: Soft cloth, no cleaners (PETG safe with water only)
  • Check vent slots: Clear any debris with compressed air
  • Verify snap-tabs: Ensure shield hasn't loosened (retighten if needed)

Monthly (or as needed)

  • Clean lens: Remove polycarbonate cover; clean with lens cleaner + microfiber cloth
  • Inspect for cracks: Check snap-tabs and drip edge for damage
  • Reattach cover: Reinstall lens cover if removed

Seasonal (before extended operations)

  • Deep clean: Soak shields in warm soapy water; dry thoroughly
  • Inspect material: Check for UV degradation (yellowing, brittleness)
  • Test fit: Verify snap-tabs still grip firmly; replace if worn

Troubleshooting

Issue Cause Solution
Shield won't snap on Tabs too tight Sand snap-tabs lightly; verify groove alignment
Shield rattles Tabs too loose Shim with thin tape; or reprint with tighter tolerance
Water pooling inside Vent slots blocked Clear vents with compressed air
Condensation on lens Poor ventilation Increase fan speed on sensor head or add desiccant packet
Lens cover stuck Flanges swollen Let air-dry in sun for 1 hour; gently pry corner
Drip edge cracked Impact damage Replace shield; or reinforce with epoxy + fiber tape

Design Variants

Variant 1: Enhanced Rain Protection (HEAVY WEATHER)

  • Extend visor overhang to 40 mm
  • Add full-width drip lip (vs. curved edge)
  • Thicken walls to 4 mm for durability
  • Cost: +10% weight, +5% print time

Variant 2: Minimal Sun Shield (LIGHTWEIGHT)

  • Reduce visor overhang to 20 mm
  • Thinner walls (2.5 mm)
  • Fewer vent slots (1 per side)
  • Weight savings: ~15%; best for dry climates

Variant 3: 360° Camera Protection (ADVANCED)

  • Add full-wrap shroud (not just visor)
  • Integrated housing covers (larger print)
  • Requires more support material
  • Print time: ~3 hours per shield

Storage & Replacement

Shelf life: PETG shields have indefinite shelf life if stored dry.

Replacement schedule: Replace if:

  • Snap-tabs become loose or brittle
  • UV degradation visible (yellowing, embrittlement)
  • Cracks develop in visor
  • Polycarbonate cover becomes cloudy (clean first; replace if cloudiness persists)

Spares to keep: 12 extra shields (in case of damage during field operations).


Files & References

File Purpose
csi_rain_shield.scad OpenSCAD parametric model (3 RENDER variants)
csi_rain_shield_BOM.md This document
imx219_mount.scad CSI camera housing reference (dependency)
sensor_head.scad Radial arm assembly reference

Assembly Checklist

  • Print all 4 shields (PETG, flat-face-down)
  • Remove support material (minimal)
  • Sand edges smooth (220 grit)
  • Test snap-tabs (should click into place with finger pressure)
  • Verify vent slots are open
  • Optional: Cut polycarbonate lens covers to size
  • Optional: Sand polycarbonate edges smooth
  • Mount shields on all 4 cameras (starting with front)
  • Verify all snap-tabs engaged
  • Optional: Install polycarbonate lens covers
  • Inspect for water shedding (test with water spray if available)
  • Label shields if needed (mark front/back camera positions)
  • Store spares in dry location