saltylab-firmware/chassis/uwb_assembly.md
sl-mechanical 61c716ee58 feat: UWB tag enclosure + stem anchor mounts (#57, #61, #62)
3× MaUWB ESP32-S3 follow-me UWB system: 1 wearable tag, 2 robot anchors.

chassis/uwb_tag_enclosure.scad
  Belt-clip enclosure for MaUWB PCB (~50×25×10 mm) + TP4056 micro-USB
  charger + 18650 cell. Snap-fit PETG shell + TPU 95A bumper sleeve.
  IP44-ish 4 mm overlap + 2-turn labyrinth seam. Open antenna window in
  lid (no PLA within 10 mm of UWB antenna). Power switch cutout (Y− face),
  micro-USB port (X− face), LED window hole (Y+ face). Belt clip integrated
  (PETG spring arm, 42 mm belt slot). RENDER: body/lid/tpu_bumper/assembly.

chassis/uwb_anchor_mount.scad
  Stem-mounted anchor bracket for 25 mm OD stem. Split D-collar with M4
  thumbscrews (tool-free), M4 hex nut pockets, M4 set screw height lock.
  Anti-rotation flat tab on front half prevents axial rotation without stem
  modification. USB cable routing channel in rear half. Module bracket tilted
  10° outward — antenna faces horizon, clears stem metal. Back-wall cutout
  behind antenna section (10 mm clearance). 250 mm anchor spacing (RENDER
  "pair" shows both on stem section). RENDER: collar_front/collar_rear/
  bracket/assembly/pair.

chassis/uwb_assembly.md
  Full assembly notes: antenna clearance rules, IP44 seam description, stem
  positioning diagram (anchors at 450 mm + 700 mm), USB cable routing,
  complete BOM (~300 g total, tag ~130 g).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 00:41:45 -05:00

7.6 KiB
Raw Blame History

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 ~800900 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