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>
11 KiB
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: ~8–10 g per shield (4 shields ≈ 32–40 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 | ~25–35 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:
- Measure shield opening: approx. 38×38 mm (camera face size)
- Cut polycarbonate sheet to ~44×44 mm (includes 3 mm flange on each side)
- Sand edges smooth with 220+ grit (prevent scratching during insertion)
- Slide into groove on shield front (flanges grip in shield channels)
- 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
- Prepare shield: Remove any support material; verify snap-tabs are flexible.
- Position shield: Orient visor away from camera (forward overhang extends away).
- Align tabs: Match snap-tab positions with grooves on camera housing sides.
- 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).
- Verify fit: Tug gently on shield — it should not move relative to housing.
Installation of Lens Cover (Optional)
- Prepare cover: Sand edges smooth; verify 44×44 mm dimension.
- Align flanges: Position cover so flanges align with groove channels on shield.
- Slide into groove: Insert cover from front, sliding flanges into shield grooves.
- Check seating: Cover should sit flush with shield front (no gaps).
- Removal: Gently pry from one corner to remove for cleaning.
Removal (For Cleaning/Replacement)
- Lens cover: Pop out with fingernail or plastic lever (takes 10 seconds).
- 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.
- Clean: Wipe interior with dry cloth; use lens cleaner on polycarbonate if needed.
- 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).
Print Settings (Recommended)
| Parameter | Value | Reason |
|---|---|---|
| Nozzle temp | 215–220 °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 | 8–10 g each (32–40 g total) |
| Polycarbonate cover | 4 | PC sheet | 3–5 g each (12–20 g total, optional) |
| Subtotal (shields only) | 32–40 g | ||
| Total (with covers) | 44–60 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: 1–2 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