fix: add camera node USB power ports
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 9s
CI/CD / deploy (pull_request) Has been skipped

This commit is contained in:
2026-05-23 13:33:06 +00:00
parent af68bfaa3a
commit 9a50d0c801
7 changed files with 41104 additions and 32927 deletions
+29 -23
View File
@@ -9,11 +9,12 @@ Each camera node is two ESP boards in a small upright stand-mounted case. The ca
```
┌─────────────────┐
│ USB Power Bank │── USB ──→ GoPro (power only)
│ (off-the-shelf)│── USB ──→ Camera Node Case
└────────────────┘
┌────────┴────────────────────────────┐
│ 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 │ │
@@ -22,6 +23,7 @@ Each camera node is two ESP boards in a small upright stand-mounted case. The ca
│ │ Small rocker power switch │ │
│ └──────────────────────────────┘ │
│ ESP-01S camera bridge ↔ ESP32-C3 │
│ side USB-A female power output ────┼── USB cable ──→ GoPro power
└─────────────────────────────────────┘
```
@@ -35,8 +37,10 @@ Each camera node is two ESP boards in a small upright stand-mounted case. The ca
| 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 |
| 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 |
| 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 | ~3550 g | ~$1 | 3D printed case body + lid |
| Reusable cloth zip ties / Velcro straps | 2 | ~$1 | Primary stand mount through rear strap channels |
@@ -48,7 +52,7 @@ Each camera node is two ESP boards in a small upright stand-mounted case. The ca
**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, and a bottom-center cable exit. It also replaces the v3 clamp/dovetail concept with a simpler strap-mounted field enclosure:
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, and a right-side USB-A female passthrough power port for the GoPro. 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.
@@ -59,7 +63,7 @@ The current v4 CAD replaces the rejected wide/low electronics-box layout with a
- small rectangular rocker switch cutout.
- two long rounded lower front slots styled after the reference appliance face.
4. **Rear strap channels** — two low-profile external belt-loop cloth zip-tie / Velcro strap paths to reduce rotation on a tripod/stand without visually dominating the body.
5. **Bottom cable exit** — cable/strain-relief notch for USB/power wiring.
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.
### Export wrappers
@@ -88,14 +92,14 @@ openscad -D 'part="preview"' -o hardware/case/camera-node-case-v4-preview.stl ha
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 so the OLED, LED, rocker, cable-relief, and lower-slot cutouts are obvious in a slicer.
`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 strap bridges.
- **Supports:** likely minimal/none depending on orientation; verify rear strap bridge spans and cable notch in slicer.
- **Supports:** likely minimal/none depending on orientation; verify rear strap bridge spans and USB-C/USB-A port cutouts 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
@@ -120,16 +124,16 @@ Suggested fields:
```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)
── USB-C cable → bottom USB-C female input on 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
└── 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 ──→ ESP32-C3 RX
@@ -154,14 +158,14 @@ Travel Router ──(AP)──────────────────
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.
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. 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.
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`.
@@ -177,7 +181,9 @@ Prototype v4 nominal CAD dimensions:
| 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 strap channels | two low-profile external belt-loop paths, ~33 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.
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.