# RemoteRig — Camera Node Hardware Design > **Version:** 0.3.0 | **Status:** v4 CAD prototype ready for measurement/print validation > **Target:** GoPro Hero 3 Black/Silver + ESP32-C3 Super Mini + ESP-01S + USB power bank ## Overview Each camera node is two ESP boards in a small upright stand-mounted case. The case **does not attach to the camera**; it straps to a tripod/lighting stand with reusable cloth zip ties / Velcro straps. Powered by a standard USB power bank. ``` ┌─────────────────┐ │ USB Power Bank │ │ (off-the-shelf)│ └────────┬────────┘ │ USB-C cable into bottom USB-C female input ▼ ┌─────────────────────────────────────┐ │ Camera Node Case v4 │ ← Velcro/cloth straps to stand │ ┌──────────────────────────────┐ │ │ │ Flush/recessed service lid │ │ │ │ 1.3 OLED: CAM/REC/BAT/LINK │ │ │ │ PWR LED + RGB STAT LED │ │ │ │ Small rocker power switch │ │ │ └──────────────────────────────┘ │ │ ESP-01S camera bridge ↔ ESP32-C3 │ │ side USB-A female power output ────┼── USB cable ──→ GoPro power └─────────────────────────────────────┘ ``` ## Bill of Materials | Item | Qty | Cost | Notes | |------|-----|------|-------| | ESP32-C3 Super Mini | 1 | ~$4–$6 | MQTT / hub-side bridge; known board envelope 22.5 × 18 mm | | ESP-01S / ESP8266 module | 1 | ~$2–$3 | Camera-side GoPro Wi-Fi bridge; known envelope ~24.7 × 14.3 × 12 mm | | 1.3-inch OLED/status screen | 1 | ~$4–$8 | Prototype CAD assumes ~31 × 16 mm visible window / ~37 × 22 mm panel recess; confirm exact module | | 3 mm power LED | 1 | <$1 | Separate always-power/5V indicator | | 3 mm RGB status LED | 1 | <$1 | Replaces separate red/green status LEDs; firmware can map node states to color | | Small rocker switch | 1 | ~$1–$3 | On/off switch; prototype CAD assumes 13 × 19 mm snap-in opening | | USB-C female panel/breakout connector | 1 | ~$1–$4 | Bottom power input; prototype CAD assumes ~10.5 × 4.5 mm rounded visible opening plus shallow underside recess; measure purchased part | | USB-A female panel/breakout connector | 1 | ~$1–$4 | Right-side GoPro power passthrough output; prototype CAD assumes ~16 × 8 mm side opening; measure purchased part | | IPEX/U.FL antenna pigtail or bulkhead lead | 1 | TBD | Left-side antenna exit opposite the USB-A port; prototype CAD assumes a 5.0 mm circular through-hole plus shallow exterior recess; measure exact pigtail/bulkhead diameter before production | | USB power bank (5000 mAh+) | 1 | ~$10 | Powers camera node and GoPro | | Short USB cables / wiring | as needed | ~$2–$5 | Power bank → node USB-C input; node 5 V passthrough → USB-A female → GoPro USB cable; internal power/signal wiring | | M2 or small self-tapping screws | 4 | <$1 | Front service lid screws; pilot holes are parametric | | PETG filament | ~35–50 g | ~$1 | 3D printed case body + lid | | Reusable cloth zip ties / Velcro straps | 2 | ~$1 | Primary stand mount through rear vertical zip-tie brackets with lateral side-feed openings | **Total per node:** roughly ~$25–$35 plus GoPro and power bank, depending on display/switch choice. ## 3D Printed Case **Current source:** `hardware/case/camera-node-case-v4.scad` **Pipeline:** `hardware/DESIGN_PIPELINE.md` The current v4 CAD replaces the rejected wide/low electronics-box layout with a tall appliance-style enclosure matching the original upright reference: a clean vertical body, large inset front panel, OLED near the top, open blank middle area, two long rounded lower slots, a bottom USB-C female power input, a right-side USB-A female passthrough power port for the GoPro, and a left-side IPEX/U.FL antenna pigtail/connector hole opposite the USB-A. It also replaces the v3 clamp/dovetail concept with a simpler strap-mounted field enclosure: 1. **Case body** — shell sized around ESP32-C3 Super Mini + ESP-01S with service/wiring clearance. 2. **Flush/recessed full-height front service lid** — screw-on front panel with locating lip and a restrained raised/recessed border. 3. **Front panel controls/indicators**: - 1.3-inch OLED/status screen window. - 3 mm **PWR** LED. - single 3 mm **RGB STAT** LED for state-dependent colors. - small rectangular rocker switch cutout. - two long rounded lower front slots styled after the reference appliance face. 4. **Rear vertical zip-tie pass-through brackets** — two low-profile external brackets, one left and one right of center, with top/bottom anchor pads and long vertical side-access openings. Zip ties feed laterally in the X direction behind each raised bridge face instead of top-to-bottom, while the rear wall stays sealed. 5. **USB power ports** — bottom USB-C female power input and right-side USB-A female passthrough power output for a GoPro USB power cable. 6. **Left-side antenna exit** — prototype 5.0 mm round through-wall IPEX/U.FL antenna pigtail/connector clearance, placed opposite the right-side USB-A port at the same vertical position, with a shallow exterior circular recess for visual/exit relief. Measure the actual antenna pigtail/bulkhead before production. ### Export wrappers Simple per-part OpenSCAD wrappers are included: - `hardware/case/camera-node-case-v4-body.scad` - `hardware/case/camera-node-case-v4-lid.scad` - `hardware/case/camera-node-case-v4-preview.scad` - `hardware/case/camera-node-case-v4-front-review.scad` Example CLI exports, if OpenSCAD is installed: ```bash openscad -o hardware/case/camera-node-case-v4-body.stl hardware/case/camera-node-case-v4-body.scad openscad -o hardware/case/camera-node-case-v4-lid.stl hardware/case/camera-node-case-v4-lid.scad openscad -o hardware/case/camera-node-case-v4-preview.stl hardware/case/camera-node-case-v4-preview.scad openscad -o hardware/case/camera-node-case-v4-front-review.stl hardware/case/camera-node-case-v4-front-review.scad ``` Or render the main file directly: ```bash openscad -D 'part="body"' -o hardware/case/camera-node-case-v4-body.stl hardware/case/camera-node-case-v4.scad openscad -D 'part="lid"' -o hardware/case/camera-node-case-v4-lid.stl hardware/case/camera-node-case-v4.scad openscad -D 'part="preview"' -o hardware/case/camera-node-case-v4-preview.stl hardware/case/camera-node-case-v4.scad openscad -D 'part="front_review"' -o hardware/case/camera-node-case-v4-front-review.stl hardware/case/camera-node-case-v4.scad ``` `camera-node-case-v4-preview.stl` is the seated fit-check assembly. `camera-node-case-v4-front-review.stl` is a non-print review layout with the body and front panel separated/angled so the OLED, LED, rocker, USB connector, and lower-slot cutouts are obvious in a slicer. ### Print Settings - **Material:** PETG preferred for heat/outdoor use and strap-tab durability. - **Layer:** 0.2 mm typical. - **Infill:** 20% gyroid minimum; 30%+ recommended around rear vertical zip-tie bracket anchor pads/bridges. - **Supports:** likely minimal/none depending on orientation; verify the rear lateral side-feed openings remain open and check USB-C/USB-A port cutouts in slicer. - **Post-processing:** fit 4 lid screws; deburr OLED/LED/switch and IPEX antenna exit cutouts; clear any stringing inside the rear side-feed openings; soften strap-contact edges if the printed radius is too sharp for cloth ties. ## Expected Status Screen Content Preferred 1.3-inch OLED layout/content style: ```text CAM 03 REC ● BAT 87% LINK OK 00:12:34 ``` Suggested fields: - `CAM` / node ID. - `REC` state with a clear recording indicator. - Battery percentage or supply estimate. - `LINK OK` / degraded / disconnected state. - Recording/session timer. ## Wiring ```text USB Power Bank └── USB-C cable → bottom USB-C female input on Camera Node Case ├── rocker switch → node power rail ├── PWR LED indicator ├── XIAO ESP32-C6 ├── ESP-01S / ESP8266 ├── 1.3-inch OLED display ├── RGB status LED └── 5 V passthrough rail → side USB-A female output └── USB cable → GoPro USB port (power only — no data) UART / control inside case: ESP-01S TX (GPIO1) ──→ XIAO D7 (RX) ESP-01S RX (GPIO3) ←── XIAO D6 (TX) ESP-01S GND ─── XIAO GND # Reserved for UART OTA (XIAO reflashes the ESP-01S — no adapter): ESP-01S RST ←── XIAO D8 (pulse low to reset) ESP-01S GPIO0 ←── XIAO D10 (low at reset = bootloader) # See docs/design/esp01s-uart-ota.md ``` **Power note:** exact wiring depends on the regulator/power board used. Confirm OLED voltage, LED current limiting, and whether the rocker switches USB 5 V input or a regulated node rail. ## Wi-Fi Topology ```text GoPro Hero 3 ──(AP @ 10.5.5.1)──→ ESP-01S / ESP8266 camera bridge │ UART │ (inside case) │ Travel Router ──(AP)────────────────────→ ESP32-C3 MQTT bridge (10.60.1.1) │ │ MQTT │ ▼ Pi Hub (10.60.1.56) ``` The ESP8266/ESP-01S and GoPro talk over Wi-Fi. The only cable to the GoPro is USB power from the case side USB-A passthrough port. ## Field Setup 1. Mount GoPro on tripod/stand. 2. Feed two reusable cloth zip ties / Velcro straps laterally through the long side openings behind the rear vertical brackets. 3. Strap the case to a tripod/stand leg; use both strap paths to resist rotation. 4. Connect the power bank to the case bottom USB-C input; connect the GoPro USB power cable to the case side USB-A passthrough output. 5. Toggle rocker switch on. 6. Verify PWR LED, RGB status LED, and OLED status: camera ID, REC state, battery, link, timer. 7. Monitor from `http://10.60.1.56:8080`. ## Case Dimensions Prototype v4 nominal CAD dimensions: | Part / feature | W × D × H (mm) | |---|---| | Case shell external | ~56 × 36 × 82 | | Case with rear zip-tie brackets | ~56 × 41.2 × 82 | | Front recessed lid | visible panel ~48 × 2 × 74; total with locating lip ~48 × 3 × 74 | | OLED visible window assumption | ~31 × 16 | | Rocker cutout assumption | ~13 × 19 | | Bottom USB-C power input cutout | ~10.5 × 4.5 opening with ~18 × 10 shallow underside recess | | Right-side USB-A passthrough cutout | ~16 Y/front-back × 8 Z opening through side wall | | Rear vertical zip-tie brackets | two external side-feed brackets, each ~8.5 mm wide × 50 mm tall; lateral tunnel has ~40 mm vertical side-window length × ~3.8 mm strap-thickness clearance behind the raised bridge | | Board clearance targets | ESP32-C3 22.5 × 18 mm + ESP-01S 24.7 × 14.3 × 12 mm plus wiring/service clearance | These dimensions are placeholders for the first CAD prototype. Measure the actual OLED module, rocker switch, LEDs, screws, USB-C/USB-A connector flanges and body depths, USB cable bend radius, and strap width/thickness before committing to production prints.