# Revolt Kits — Housing geometry package

FDM/PLA-only, low/no-support, ~1–3hr library-makerspace print budget per part.
All dimensions in mm.

## Files

```
bike_light_housing.scad          parametric source (OpenSCAD 2021.01+)
battery_bank_housing.scad        parametric source (OpenSCAD 2021.01+)
stl/bike_light_front_cap.stl     print-ready
stl/bike_light_main_tube.stl     print-ready
stl/bike_light_rear_cap.stl      print-ready
stl/battery_bank_base_tray.stl   print-ready
stl/battery_bank_lid.stl         print-ready
wiring_bike_light.png            schematic wiring diagram
wiring_battery_bank.png          schematic wiring diagram
```

To regenerate an STL after tweaking a parameter, e.g.:
```
openscad -o main_tube.stl -D 'part="main_tube"' bike_light_housing.scad
```
(`part` selects `"assembly"` / one of the named parts at the top of each file — all dimensions live in named variables at the top, edit and re-export.)

---

## Housing 1 — Bike light (3-piece tube)

**Architecture:** front cap (LED + lens) → main tube (cells + driver + switches) →
rear cap. Only the front-cap-to-main-tube joint is O-ring sealed — it's the
forward-facing, splash-exposed joint. The rear cap is a dry screw-on closure.

| Feature | Value | Note |
|---|---|---|
| Main tube outer cross-section | 48 × 38mm (rounded rect, r=6) | stadium shape, sized to the driver board |
| Overall tube length | ~105mm | front cap + main tube + rear cap adds ~10mm more |
| Cell channel | 3× Ø14.0mm bores, triangular pack, 16mm pitch | 13mm cell + 1mm clearance |
| LED pocket | Ø20.2 × 2.8mm deep | 19.8mm MCPCB + 0.4mm clearance |
| Lens | Ø22 × 2mm press-fit disc (flat, no reflector — per your call) | you supply the lens disc |
| Driver bay | 40.9 × 31.0 × 8mm pocket | **board thickness assumed — flagged below** |
| Switch holes | 2× Ø12mm, 25mm apart, top wall | boss collar Ø17mm for the retaining nut |
| O-ring groove | on the front-cap spigot (Ø28.6mm) | sized for 2.0mm CS O-ring — **assumption, flagged** |
| Mount | 2× zip-tie loop bosses, bottom wall | fits any basket wire gauge |

**Print orientation:** stand every part on end (tube axis vertical). All axial
bores (cell channels, spigot socket) become straight vertical holes — zero
supports. The two switch holes are horizontal through a 2.2mm wall; PLA
bridges a 12mm span like this fine unsupported, but enable "supports touching
build plate only" if your slicer disagrees.

**Assembly:** solder LED to driver, driver to cell bus and switches, thread
cells and driver into main tube from the rear, snap/press front cap on with
the O-ring seated in its groove, screw rear cap on (4× self-tap into the
printed bosses — M3 pilot holes provided).

---

## Housing 2 — Battery bank (2-piece clamshell, 3 cells)

**Architecture:** open-top base tray + flat lid. The lid is what retains the
cells vertically (channels only position them laterally) — no O-ring, matches
the indoor-use spec.

| Feature | Value | Note |
|---|---|---|
| Overall footprint | ~83 × 51 × 17.5mm | tray + lid stacked |
| Cell channels | 3× 14mm-wide open U-channels, 16mm pitch, 2mm ridges between | 13mm cell + 1mm clearance |
| Contact pockets | spring pocket (Ø8.5×5mm) at one end, plate pocket (11×6×1.2mm) at the other, per channel | **hardware not in current BOM — flagged below** |
| Board bay | 27.9 × 42.9mm open pocket | **board thickness assumed — flagged below** |
| Switch hole | 1× Ø12mm, end wall of board bay | same part as the bike light |
| Fasteners | 4× corner screw bosses (M3 self-tap) | tray + lid |

**Print orientation:** both parts print flat, open-side up. Every cavity is
open from the top — zero supports on either part.

**Assembly:** solder spring contacts into the negative pockets and plate
contacts into the positive pockets, run bus wires through the molded channels
(negative-to-negative, positive-to-positive), lead both buses through the
partition slot to the board's battery pads, drop cells in, screw the lid down.

---

## Flagged — needs your input before final print

1. **Board thickness (both boards).** Not given — length/width only. I used
   generous depth assumptions (8mm bay depth for the bike light driver, and a
   tall interior on the battery bank so thickness barely matters there). Once
   you have calipers on the actual boards, tighten `drv_bay_depth` /
   `standoff_h` in the .scad files.

2. **Port and switch-pad positions on both boards.** Both are generic
   multi-supplier modules — I can't find a canonical layout for either. The
   bays are sized from the boards' *outer footprint* only; Type-C/USB-A port
   cutouts aren't modeled. Once you have the physical boards (or an exact
   listing/datasheet), send a photo or the edge dimensions and I'll add
   precise port cutouts.

3. **O-ring size (bike light).** Assumed a common 2.0mm cross-section metric
   O-ring. Groove sized at 1.4× CS width, 0.72× CS depth (~20–25%
   compression) — confirm against whatever you actually source, since a
   different CS needs a different groove.

4. **Switch body depth behind the panel.** The 12mm spec is the panel hole;
   panel-mount switches typically extend 15–25mm behind the surface. Not
   accounted for as a keep-out — check your specific switch's datasheet
   doesn't collide with the cell pack or driver board bay.

5. **Contact hardware (battery bank).** The spring/plate contact design
   assumes small coil-spring battery-holder contacts (negative) and flat
   brass/nickel strip contacts (positive) — cheap, common parts, but **not
   currently in your BOM**. Let me know if you already have a source; I can
   point to standard part numbers once the cell count/spacing is final.

None of these block printing a first test fit — the oversized-opening
approach means a few mm of position error on the unconfirmed items won't
matter. They just need tightening once you have the physical boards in hand.
