Files
remote-rig/hardware
Hermes f4bf37d6a3
Build (Dev) / build (push) Failing after 0s
CI/CD / lint-and-typecheck (push) Failing after 0s
CI/CD / test (push) Has been skipped
CI/CD / build (push) Has been skipped
CI/CD / deploy (push) Has been skipped
feat: add interactive 3D case viewer (Three.js)
Rotatable 3D render of the tripod-mounted dual-ESP case:
- Case body with rounded corners and lid
- Stacked ESP32 + ESP8266 boards inside
- LED indicator, USB port, ventilation slots
- Tripod pole with C-clamp mount
- USB cables, screws, chip details
- Drag to rotate, scroll to zoom
- Open in any browser
2026-05-22 01:06:59 +00:00
..

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

File: hardware/case/tripod-case.scad

Three parts:

  1. Case body — holds both boards stacked, cable ports, rail for clip
  2. Case lid — screw-on cover with ventilation
  3. Tripod clip — C-clamp for 20-35mm poles, slides into case rail

Print Settings

  • Material: PETG (outdoor/heat) or PLA+
  • Layer: 0.2mm | Infill: 20% gyroid
  • Supports: Yes (for clip overhang)
  • Post-processing: M3x8mm screws for lid (4x)

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)
(192.168.4.1)                           │
                                        │
                                   MQTT │
                                        ▼
                                   Pi Hub (192.168.4.10)

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://192.168.4.10:8080

Case Dimensions

W × D × H (mm)
Case external ~64 × 38 × 27
Case internal ~57 × 31 × 18
Fits poles 20-35mm diameter
Total weight ~50g (case + boards, without power bank)