# SaltyBot UWB System — Assembly Notes + BOM
**Rev A — 2026-03-01 — sl-mechanical**
**Issues: #57, #61, #62**

---

## System Overview

Follow-me UWB ranging using 3× MaUWB ESP32-S3 modules:

| Role | Qty | Location | File |
|------|-----|----------|------|
| Tag | 1 | Operator belt ("Tee") | `uwb_tag_enclosure.scad` |
| Anchor | 2 | Robot stem, 250 mm apart | `uwb_anchor_mount.scad` |

---

## Antenna Clearance — CRITICAL

The DW3000 UWB chip antenna requires:
- **10 mm clear zone** around antenna — no metal, no carbon fibre, no metal-fill filament
- Use **plain PLA or PETG** only in these parts (no conductive additives)
- Tag lid has an **open window** directly over the PCB antenna area
- Anchor bracket **back wall has a cutout** behind the antenna section of the PCB
- When installing modules, orient antenna end **away from stem** (faces outward)

---

## Part A — UWB Tag Enclosure (`uwb_tag_enclosure.scad`)

### Printed parts

| # | RENDER | Qty | Material | Settings |
|---|--------|-----|----------|----------|
| 1 | `body` | 1 | PETG | 4 perims, 35% infill, 0.2 mm layer |
| 2 | `lid` | 1 | PETG | 4 perims, 35% infill |
| 3 | `tpu_bumper` | 1 | TPU 95A | 3 perims, 20% infill, 25 mm/s |

> **Print orientation:** body — floor on bed; lid — inside face down; TPU bumper — flat.

### Internal layout diagram

```
X−      ←────────── ~75 mm ──────────→   X+
         ┌──────────────────────────────┐
  USB → │[TP4056]  [   18650 cell    ] │
         │─────────────────────────────│
         │  [  MaUWB ESP32-S3 PCB   ]  │ ← antenna faces UP
         └──────────────────────────────┘
               ↑                   ↑
          micro-USB            LED window
          (charging)          (Y+ face, small hole)

  Power switch cutout: Y− face, centred
  Belt clip: Y− face (back)
```

### IP44 seam

Lid rim overlaps body 4 mm with a 2-turn labyrinth ridge (water must turn
90° twice). No holes on the top face. All ports on side/back faces.
**Not suitable for rain immersion — use for light splash protection only.**

### Heat-set insert option

For improved thread strength, replace M2 clearance standoffs with **M2 × 3 mm
heat-set brass inserts** pressed into the standoff posts with a soldering iron.

### Fasteners

| # | Spec | Qty | Use |
|---|------|-----|-----|
| 4 | M2 × 6 BHCS | 4 | MaUWB PCB to standoffs |
| 5 | M2 hex nut | 4 | Alternative if no heat-set inserts |
| 6 | M3 × 8 SHCS | 2 | Belt clip to enclosure back |
| 7 | M3 hex nut | 2 | Captured in clip back plate |

### Assembly sequence — tag

1. Install TP4056 board in body, micro-USB port aligned with cutout
2. Solder TP4056 leads to 18650 spring contacts (or use 18650 holder PCB)
3. Snap 18650 into battery cradle (+ end toward spring contact at X+)
4. Seat MaUWB PCB on M2 standoffs; tighten M2 × 6 bolts (0.3 N·m — soft)
5. Route USB data + power cable from MaUWB to TP4056 B+ / B− pads
6. Press power switch into cutout (Y− face)
7. Close lid — press corners until 4 snap clips engage (audible click ×4)
8. Slide TPU bumper sleeve onto body from below
9. Attach belt clip to Y− face with 2× M3 × 8

---

## Part B — Anchor Mounts (`uwb_anchor_mount.scad`)

### Printed parts (per mount × 2 mounts)

| # | RENDER | Qty per mount | Total | Material | Notes |
|---|--------|---------------|-------|----------|-------|
| 10 | `collar_front` | 1 | 2 | PETG | Flat-face-down; has thumbscrew recesses |
| 11 | `collar_rear` | 1 | 2 | PETG | Has hex nut pockets + USB cable channel |
| 12 | `bracket` | 1 | 2 | PETG | Flat-face-down; back wall on bed |

### Anti-rotation

The front collar half has a **flat tab** (3 × 8 mm radial tab at +X) that
protrudes from the collar outer surface. This tab:
- Bears against the module bracket arm, preventing rotation during clamping
- Creates a positive mechanical register — mount always faces the same direction
- No modification to the stem required

### Anchor positioning on stem

```
TOP OF STEM
    │
  ──┼──  ← Sensor head (sensor_head.scad, at ~800–900 mm)
    │
  ══╬══  ← Upper anchor (ANCHOR 2)     ┐
    │                                    │ 250 mm
  ══╬══  ← Lower anchor (ANCHOR 1)     ┘
    │
  ──┼──  ← Battery carousel (stem_battery_clamp.scad)
    │
BOTTOM OF STEM (base plate)
```

Recommended Z positions (above base plate):
- Anchor 1: **450 mm** (just above battery carousel top)
- Anchor 2: **700 mm**

This places anchors in the mid-stem region, maximising horizontal separation
from each other and from nearby metal (battery packs, base plate).

### USB cable routing

Each anchor is powered via USB-A from the Jetson Orin. Cable routing:
1. Cable exits Orin USB hub, runs up stem through cable ties
2. Enters anchor bracket through USB notch on left side wall
3. Plugs into MaUWB USB-C port (programming and power)
4. Excess cable loops into rear collar USB channel groove, held with a cable tie

### Fasteners (per mount)

| # | Spec | Qty | Use |
|---|------|-----|-----|
| 13 | M4 × 25 SHCS (thumbscrew head) | 2 | Collar clamping bolts (tool-free: slot for coin) |
| 14 | M4 hex nut | 2 | Captured in rear collar half |
| 15 | M4 × 10 set screw | 1 | Collar height lock (front half) |
| 16 | M4 × 20 SHCS | 2 | Bracket to collar arm boss |
| 17 | M4 hex nut | 2 | Under collar boss for bracket bolts |
| 18 | M2 × 6 BHCS | 4 | MaUWB PCB to bracket standoffs |
| 19 | M2 hex nut | 4 | PCB standoff nuts |

### Assembly sequence — anchor (×2)

1. Press M4 hex nuts into collar rear half nut pockets
2. Press M2 hex nuts into bracket standoff counterbores
3. Seat MaUWB PCB in bracket on M2 standoffs; tighten M2 × 6 BHCS (0.3 N·m)
4. Bolt bracket to collar front-half arm boss with 2× M4 × 20
5. Align anti-rotation tab with bracket arm edge
6. Wrap collar halves around stem at desired height
7. Align micro-USB / USB-C port direction, tighten M4 thumbscrews finger-tight
8. Tighten set screw on front half to lock height
9. Route USB cable through rear channel, cable-tie every ~100 mm along stem

---

## Full Mass Estimate

| Part | Material | Est. mass |
|------|----------|-----------|
| Tag body + lid (PETG) | PETG | ~45 g |
| Tag TPU bumper | TPU | ~12 g |
| 18650 cell | Li-ion | ~47 g |
| TP4056 + MaUWB PCBs | PCB | ~20 g |
| Tag total | | **~130 g** |
| Anchor collar set × 2 (×2) | PETG | ~80 g |
| Anchor brackets × 2 | PETG | ~40 g |
| MaUWB PCBs × 2 | PCB | ~30 g |
| Anchor fasteners | SS | ~20 g |
| **Total (tag + 2 anchors)** | | **~300 g** |

---

## Bill of Materials Summary

| # | Description | Qty | Source hint |
|---|-------------|-----|-------------|
| A | MaUWB ESP32-S3 module | 3 | AliExpress / MakerFabs |
| B | 18650 Li-ion cell (≥2000 mAh) | 1 | Panasonic NCR18650B or equiv. |
| C | TP4056 micro-USB charger board | 1 | Standard TP4056 module |
| D | Slide power switch 13×7 mm | 1 | SS-12D00 or equiv. |
| E | M2 × 6 BHCS | 12 | (4 tag + 4 anchor-1 + 4 anchor-2) |
| F | M2 hex nut | 12 | |
| G | M3 × 8 SHCS | 2 | Belt clip |
| H | M3 hex nut | 2 | |
| I | M4 × 25 thumbscrew SHCS | 4 | Slot-head preferred for tool-free use |
| J | M4 × 20 SHCS | 4 | Bracket-to-collar |
| K | M4 × 10 set screw | 2 | Height lock |
| L | M4 hex nut | 8 | |
| M | USB-A to USB-C cable 1 m | 2 | Anchor power from Orin |
| N | PETG filament | ~200 g | Any brand |
| O | TPU 95A filament | ~30 g | For tag bumper |
| P | Loctite 243 blue | 1 | Structural M4 bolts |
| Q | Cable ties 100 mm | 10 | Stem cable management |
