Files
remote-rig/hardware/README.md
T

114 lines
4.6 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.2.0 | **Status:** Draft
> **Target:** GoPro Hero 3 Black/Silver + ESP8266 + ESP32 + USB power bank
## Overview
Each camera node is two ESP boards in a small case that clips to the tripod/stand. The case **does not attach to the camera** — only to the stand. Powered by a standard USB power bank.
```
┌─────────────────┐
│ USB Power Bank │── USB ──→ GoPro (power only)
│ (off-the-shelf)│── USB ──→ ESP32 + ESP8266 (shared)
└─────────────────┘
┌────────┴────────┐
│ Tripod Case │ ← clips to stand leg
│ ┌────────────┐ │
│ │ ESP8266 │ │ ← Wi-Fi → GoPro AP (10.5.5.1)
│ │ (camera) │ │
│ ├────────────┤ │ ← UART between boards
│ │ ESP32 │ │ ← Wi-Fi → Travel Router
│ │ (MQTT) │ │
│ └────────────┘ │
└─────────────────┘
```
## Bill of Materials
| Item | Qty | Cost | Notes |
|------|-----|------|-------|
| ESP32 Dev Board | 1 | ~$5 | MQTT bridge — talks to hub |
| ESP8266 D1 Mini | 1 | ~$3 | Camera bridge — talks to GoPro |
| USB power bank (5000mAh+) | 1 | ~$10 | Powers both boards + GoPro |
| Micro-USB cable (short) | 2 | ~$2 | Power bank → boards + GoPro |
| Jumper wires F-F | 3 | ~$0.25 | UART TX/RX/GND between boards |
| PETG filament | ~25g | ~$0.50 | 3D printed case |
| Velcro strap (small) | 1 | ~$0.25 | Secure power bank to stand |
**Total per node:** ~$21 (+ GoPro already owned)
## 3D Printed Case
**Current source:** `hardware/case/tripod-case-v3.scad`
**Pipeline:** `hardware/DESIGN_PIPELINE.md`
Four exported prototype files:
1. **Case body** — holds both boards stacked, cable ports, rear dovetail-style receiver
2. **Case lid** — screw-on cover with ventilation
3. **Tripod clamp** — separate screw-tightened C-clamp sized around a 35mm stand/pole
4. **Full preview** — combined visualization STL only, not intended as the print job
### Print Settings
- **Material:** PETG preferred for heat/outdoor use and clamp flex
- **Layer:** 0.2mm | **Infill:** 20% gyroid minimum; 35%+ recommended for clamp
- **Supports:** Likely yes for clamp ears / dovetail overhangs depending on slicer orientation
- **Post-processing:** M3x8mm screws for lid (4x), one M3 screw + M3 nut for clamp tightening
## Wiring
```
USB Power Bank
├── USB-A → Micro-USB cable → ESP32 USB port
│ (powers ESP32, shared 5V rail)
├── USB-A → Micro-USB cable → GoPro USB port
│ (power only — no data)
└── (ESP8266 powered via ESP32 3.3V pin, or via shared USB)
UART (inside case):
ESP8266 TX (GPIO1) ──→ ESP32 RX (GPIO16)
ESP8266 RX (GPIO3) ←── ESP32 TX (GPIO17)
ESP8266 GND ─────────── ESP32 GND
```
**Power note:** Both boards can be powered from a single USB cable if the ESP32's VIN/5V pin is bridged to the ESP8266's VIN. Alternatively, use a USB Y-splitter cable.
## Wi-Fi Topology
```
GoPro Hero 3 ──(AP @ 10.5.5.1)──→ ESP8266 (camera bridge)
UART │ (inside case)
Travel Router ──(AP)─────────────────→ ESP32 (MQTT bridge)
(10.60.1.1) │
MQTT │
Pi Hub (10.60.1.56)
```
The ESP8266 and GoPro talk over Wi-Fi — **no data cable between them**. The only cable to the GoPro is USB power from the battery pack.
## Field Setup
1. **Mount GoPro** on tripod/stand
2. **Clip case** to tripod leg
3. **Connect power bank** via USB to case + GoPro
4. **Power on** — ESP32 auto-connects to travel router, ESP8266 auto-connects to GoPro
5. **Monitor** from `http://10.60.1.56:8080`
## Case Dimensions
| | W × D × H (mm) |
|---|---|
| Case body external | ~56.8 × 36.6 × 19.0 |
| Lid external | ~56.8 × 32.8 × 4.0 |
| Tripod clamp | ~43.0 × 53.5 × 16.0 |
| Clamp-to-case mount | Two side-by-side M3 screws through flat mounting plate |
| Clamp pole fit | Nominal 35mm; smaller poles TBD / may need inserts |
| Total weight | TBD after prototype print |