Files
remote-rig/hardware/README.md
T
Hermes 8c8d4e45e5
CI/CD / lint-and-typecheck (pull_request) Successful in 7s
CI/CD / test (pull_request) Successful in 7s
CI/CD / build (pull_request) Failing after 4m49s
CI/CD / deploy (pull_request) Has been skipped
feat: add camera node case v4 status panel CAD
2026-05-23 11:54:18 +00:00

179 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 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 │── USB ──→ GoPro (power only)
│ (off-the-shelf)│── USB ──→ Camera Node Case
└─────────────────┘
┌────────┴────────────────────────────┐
│ 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 │
└─────────────────────────────────────┘
```
## 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 / ~35 × 19 mm panel clearance; 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 power bank (5000 mAh+) | 1 | ~$10 | Powers camera node and GoPro |
| Short USB cables / wiring | as needed | ~$2$5 | Power bank → node + GoPro; internal power/signal wiring |
| M2 or small self-tapping screws | 4 | <$1 | Front service lid screws; pilot holes are parametric |
| PETG filament | ~3550 g | ~$1 | 3D printed case body + lid |
| Reusable cloth zip ties / Velcro straps | 2 | ~$1 | Primary stand mount through rear strap channels |
**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 v4 case 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 front service lid** — screw-on front status panel with locating lip.
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.
- lower vent/style slots.
4. **Rear strap channels** — two raised horizontal cloth zip-tie / Velcro strap paths to reduce rotation on a tripod/stand.
5. **Bottom cable exit** — cable/strain-relief notch for USB/power wiring.
### 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`
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
```
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
```
### 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 strap bridges.
- **Supports:** likely minimal/none depending on orientation; verify rear strap bridge spans and cable notch in slicer.
- **Post-processing:** fit 4 lid screws; deburr OLED/LED/switch cutouts; soften strap-channel 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-A → Camera Node Case
│ ├── rocker switch → node power rail
│ ├── PWR LED indicator
│ ├── ESP32-C3 Super Mini
│ ├── ESP-01S / ESP8266
│ ├── 1.3-inch OLED display
│ └── RGB status LED
└── USB-A → GoPro USB port
(power only — no data)
UART / control inside case:
ESP-01S TX ──→ ESP32-C3 RX
ESP-01S RX ←── ESP32-C3 TX
ESP-01S GND ─── ESP32-C3 GND
```
**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 battery pack.
## Field Setup
1. Mount GoPro on tripod/stand.
2. Route two reusable cloth zip ties / Velcro straps through the rear v4 case channels.
3. Strap the case to a tripod/stand leg; use both strap paths to resist rotation.
4. Connect power bank to case and GoPro.
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 | ~68 × 42 × 32 |
| Case with rear strap bridges | ~68 × 45.2 × 32 |
| Front recessed lid | visible panel ~60 × 2 × 26; total with locating lip ~60 × 3 × 26 |
| OLED visible window assumption | ~31 × 16 |
| Rocker cutout assumption | ~13 × 19 |
| Rear strap channels | two horizontal pass-through paths, ~48 mm usable slot width, ~4.2 mm strap-thickness clearance |
| 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 cable bend radius, and strap width/thickness before committing to production prints.