feat: UWB anchor mount bracket (Issue #564) #569

Merged
sl-jetson merged 1 commits from sl-mechanical/issue-564-uwb-anchor-mount into main 2026-03-14 12:15:44 -04:00
Collaborator

Summary

  • Wall/ceiling mount bracket for ESP32 UWB Pro anchor — supersedes Rev A stem-collar design
  • 4-part parametric OpenSCAD system: backplate, articulating tilt arm, PCB cradle, cable clip
  • Adjustable tilt angle 0–90° in 15° detent steps (0° = ceiling/face-down, 90° = wall/face-out)
  • USB-C cable routing channel through tilt arm + exit slot in cradle back wall
  • Rear label card slot for printed anchor-ID strip (e.g. "UWB-A3 NE-CORNER")

Parts

STL export Description
uwb_wall_base.stl Backplate, 2× countersunk M4/wood-screw holes, pivot ears with 7-step detent arc
uwb_tilt_arm.stl Pivoting arm with M3 knuckle + detent plunger pocket, USB-C groove
uwb_anchor_cradle.stl PCB cradle, 4× M2.5 standoffs, USB-C slot, label window, antenna keep-out cutout
uwb_cable_clip.stl Snap-on arm cable clip, print ×2–3 per anchor

Hardware BOM

  • 2× M4 × 30 mm wood screws / #6 drywall screws (wall fasteners)
  • 1× M3 × 20 mm SHCS + M3 nyloc nut (tilt pivot)
  • 4× M2.5 × 8 mm SHCS (PCB to cradle standoffs)

Parametric overrides

  • TILT_DEG — per-anchor tilt (0–90°, 15° steps); override at export time
  • UWB_L / UWB_W / UWB_H — adapt to different PCB sizes

Test plan

  • Render all RENDER targets — no geometry errors
  • Verify detent arc: 7 notches at 15° steps on base ear inner face
  • Verify label slot dimensions fit 1.0 mm laminated card strip
  • Verify M2.5 standoff height + pattern matches ESP32 UWB Pro PCB holes
  • Print uwb_wall_base.stl, screw to test block, verify tilt detent feel
  • Print full set, assemble, fit PCB, route USB-C cable through arm channel

🤖 Generated with Claude Code

## Summary - Wall/ceiling mount bracket for ESP32 UWB Pro anchor — supersedes Rev A stem-collar design - 4-part parametric OpenSCAD system: backplate, articulating tilt arm, PCB cradle, cable clip - Adjustable tilt angle 0–90° in 15° detent steps (0° = ceiling/face-down, 90° = wall/face-out) - USB-C cable routing channel through tilt arm + exit slot in cradle back wall - Rear label card slot for printed anchor-ID strip (e.g. "UWB-A3 NE-CORNER") ## Parts | STL export | Description | |---|---| | `uwb_wall_base.stl` | Backplate, 2× countersunk M4/wood-screw holes, pivot ears with 7-step detent arc | | `uwb_tilt_arm.stl` | Pivoting arm with M3 knuckle + detent plunger pocket, USB-C groove | | `uwb_anchor_cradle.stl` | PCB cradle, 4× M2.5 standoffs, USB-C slot, label window, antenna keep-out cutout | | `uwb_cable_clip.stl` | Snap-on arm cable clip, print ×2–3 per anchor | ## Hardware BOM - 2× M4 × 30 mm wood screws / #6 drywall screws (wall fasteners) - 1× M3 × 20 mm SHCS + M3 nyloc nut (tilt pivot) - 4× M2.5 × 8 mm SHCS (PCB to cradle standoffs) ## Parametric overrides - `TILT_DEG` — per-anchor tilt (0–90°, 15° steps); override at export time - `UWB_L / UWB_W / UWB_H` — adapt to different PCB sizes ## Test plan - [ ] Render all RENDER targets — no geometry errors - [ ] Verify detent arc: 7 notches at 15° steps on base ear inner face - [ ] Verify label slot dimensions fit 1.0 mm laminated card strip - [ ] Verify M2.5 standoff height + pattern matches ESP32 UWB Pro PCB holes - [ ] Print uwb_wall_base.stl, screw to test block, verify tilt detent feel - [ ] Print full set, assemble, fit PCB, route USB-C cable through arm channel 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sl-jetson added 1 commit 2026-03-14 11:44:49 -04:00
sl-jetson force-pushed sl-mechanical/issue-564-uwb-anchor-mount from 6358c60f92 to f061207bc4 2026-03-14 11:52:18 -04:00 Compare
sl-jetson force-pushed sl-mechanical/issue-564-uwb-anchor-mount from f061207bc4 to 7b75cdad1a 2026-03-14 12:15:18 -04:00 Compare
sl-jetson merged commit 5a1290a8f9 into main 2026-03-14 12:15:44 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#569
No description provided.