Payload Bay BOM — Issue #170
Agent: sl-mechanical | Date: 2026-03-01
Modular dovetail payload rail system. Tool-free slide-and-click module swapping.
Cross-variant: SaltyLab, SaltyRover, SaltyTank (same rail profile).
A. Rail Hardware
| # |
Description |
Spec |
Qty (per robot) |
Notes |
| R1 |
Aluminium bar stock |
50×12 mm, 6061-T6, 200 mm length |
1–2 |
Preferred over printed rail for 2 kg load rating. CNC mill or route dovetail slot per payload_rail.dxf profile. |
| R2 |
M4×10 FHCS |
Stainless, countersunk |
4–8 |
Rail to adapter plate (or direct to deck); FHCS sits flush below rail bottom face |
| R3 |
M4 heat-set insert |
M4×5.7 L, Ø5.6 OD |
4–8 |
Into deck adapter plate |
| R4 |
Detent ball bearing |
Ø6 mm, chrome steel (GCr15) |
2 per module |
Module spring detent; standard bearing ball |
| R5 |
Detent spring |
Ø5.5 mm OD, 12 mm free length, ~2 N/mm |
2 per module |
Lee Spring LC 055A 06 S or equivalent; behind ball in plunger |
| R6 |
M4 thumbscrew (knurled) |
M4×12, knurled head Ø14 mm |
1 per module |
Safety lock; threads into M4 nut pressed into module side |
| R7 |
M4 hex nut |
DIN 934, stainless |
1 per module |
Captured in module body for thumbscrew |
B. Power + Data Connector
| # |
Description |
Spec |
Qty (per rail) |
Notes |
| C1 |
Pogo pin |
P75-E2 style, Ø2 mm, 6 mm travel, rated 2 A |
4 |
Rail-side spring contacts. AliExpress "P75-E2 pogo pin" or Mill-Max 0906 series. |
| C2 |
Brass target pad |
Ø4 × 1.5 mm disc |
4 per module |
Module-side contact pads. Machine from Ø4 mm brass rod or order PCB pads. Press-fit with Loctite 603. |
| C3 |
JST-XH 2.54 mm header |
4-pin, right-angle |
1 per rail |
Rail-side connector to power harness |
| C4 |
JST-XH housing + crimps |
4-pin female |
1 per robot |
Wires from robot PSU (5 V, 12 V, GND, UART) |
| C5 |
20 AWG silicone wire |
Red / black / yellow / white, 300 mm each |
4 |
Rail connector to robot bus |
| C6 |
Connector housing |
payload_connector_stl |
1 |
Press-fit into rail pocket |
Pin Map
| Pin |
Signal |
Wire colour |
Max current |
| 1 |
GND |
Black |
Return |
| 2 |
+5 V |
Red |
2 A |
| 3 |
+12 V |
Yellow |
2 A |
| 4 |
UART (3.3 V) |
White |
0.5 A |
UART note: Half-duplex (single wire). Module firmware connects to Jetson Orin NX UART2. Use RS-485 transceiver if module cable > 500 mm or multi-drop needed.
C. Deck Adapters
| Part |
File |
Qty |
Print |
Mass est. |
| SaltyLab adapter |
payload_bay_rail.scad lab_adapter_stl |
1 |
PETG, 5 perims, 60% infill |
~30 g |
| SaltyRover adapter |
payload_bay_rail.scad rover_adapter_stl |
1 |
PETG, 5 perims, 60% infill |
~35 g |
| SaltyTank adapter |
payload_bay_rail.scad tank_adapter_stl |
1 |
PETG, 5 perims, 60% infill |
~35 g |
D. Printed Parts
| Part |
File |
Qty |
Print |
Mass est. |
| Rail section (prototype) |
payload_bay_rail.scad rail_stl |
1 |
PETG, 5 perims, 60% infill, 0.2 mm layer |
~85 g |
| Connector housing |
payload_bay_rail.scad connector_stl |
1 |
PETG, 5 perims, 100% infill |
~4 g |
| Detent plunger |
payload_bay_rail.scad detent_plunger_stl |
2 per module |
PETG, 5 perims, 80% infill |
~2 g each |
| Module base (universal) |
payload_bay_modules.scad base_stl |
N |
PETG, 5 perims, 60% infill |
~18 g |
| Cargo tray (200 mm) |
payload_bay_modules.scad cargo_tray_stl |
1 |
PETG, 4 perims, 30% infill |
~180 g |
| Camera boom |
payload_bay_modules.scad camera_boom_stl |
1 |
PETG, 5 perims, 50% infill |
~95 g |
| Cup holder |
payload_bay_modules.scad cup_holder_stl |
1 |
PETG, 4 perims, 25% infill |
~55 g |
Dovetail Rail — CNC Specification
For aluminium production rail (preferred over printed for 2 kg rating):
Material: 6061-T6 aluminium
Stock: 50 mm × 12 mm flat bar, length to suit (200 mm, 300 mm, 400 mm)
Dovetail slot (top face, centred):
Slot open width at top: 37.2 mm
Slot width at bottom: 28.0 mm
Slot depth: 8.0 mm
Wall angle from vertical: 30.0° (60° included angle)
Surface finish: Ra 1.6 µm (smooth for low-friction sliding)
Detent dimples (slot floor):
Diameter: 4.9 mm (ball seats in)
Depth: 1.5 mm
Pitch: 50 mm
First dimple: 25 mm from each end
Safety-lock groove (both side faces, continuous):
Groove diameter: 4.5 mm
Depth: 1.5 mm
Z position: RAIL_T/2 - DOVE_H/2 = 8 mm from top face
(CNC with Ø4 mm ball-nose end mill, single pass at Z = -4 mm from top)
Mounting holes (bottom face, countersunk):
Diameter: 4.3 mm (M4 clearance)
C/sink: Ø8 mm × 82° (M4 FHCS)
Pitch: 50 mm
First hole: 25 mm from each end
Connector pocket (slot floor, centred in rail length):
Width: 26 mm (X), Depth: 8.4 mm (Y), Height: 7 mm (Z into slot floor)
Tolerance: +0.2 / 0 mm (press-fit housing)
DXF cross-section: export payload_rail.dxf for supplier drawing.
Load Analysis
| Mode |
Load |
Safety factor |
Method |
| Static payload (detent only) |
0.5 kg |
2× |
Ball detent retention force ~10 N |
| Static payload (thumbscrew locked) |
2.0 kg |
2× |
Dovetail shear area ~800 mm² Al |
| Dynamic (robot motion, 2 m/s²) |
2.0 kg |
1.5× |
Inertial force = 2 kg × 2 m/s² = 4 N; detent holds 10 N |
| Dovetail shear (PETG printed) |
1.2 kg |
1.5× |
PETG tensile ~50 MPa; recommend Al rail for rated 2 kg |
⚠ For 2 kg payload: use machined aluminium rail. Printed PETG rail is prototype/light-duty only (<0.8 kg payload).
Module Developer Guide
Adding a new module in 5 steps
- Copy the template at the bottom of
payload_bay_modules.scad.
- Set
MY_LEN — must be a multiple of 50 mm (detent pitch) for repeatable positioning.
- Call
_module_base(MY_LEN, n_detents) as the first statement in your module.
- Build payload geometry starting at
Z = 0 (rail top face). Keep total height ≤ 200 mm for robot clearance under doorways.
- Verify connector alignment — when module is slid to its operating position, the 4 target pads on the tongue bottom must align with
CONN_Y on the rail (default: 100 mm from rail entry end). Adjust conn_offset if needed.
Constraints
| Parameter |
Limit |
| Module length |
Min 60 mm, max 400 mm |
| Module height above rail |
Max 200 mm (clearance) |
| Payload mass |
≤ 2 kg (Al rail + thumbscrew locked) |
| Module width |
Max 120 mm (robot shoulder clearance) |
| Connector draw |
Max 2 A per power pin (5 V or 12 V) |
Export Commands
# Rail DXF (for CNC / waterjet machining)
openscad payload_bay_rail.scad -D 'RENDER="rail_2d"' -o payload_rail_profile.dxf
# Rail STL (PETG prototype)
openscad payload_bay_rail.scad -D 'RENDER="rail_stl"' -o payload_rail_200mm.stl
# Rail accessories
openscad payload_bay_rail.scad -D 'RENDER="connector_stl"' -o payload_connector.stl
openscad payload_bay_rail.scad -D 'RENDER="detent_plunger_stl"' -o payload_detent_plunger.stl
# Deck adapters
openscad payload_bay_rail.scad -D 'RENDER="lab_adapter_stl"' -o payload_adapter_lab.stl
openscad payload_bay_rail.scad -D 'RENDER="rover_adapter_stl"' -o payload_adapter_rover.stl
openscad payload_bay_rail.scad -D 'RENDER="tank_adapter_stl"' -o payload_adapter_tank.stl
# Example modules
openscad payload_bay_modules.scad -D 'RENDER="cargo_tray_stl"' -o payload_cargo_tray.stl
openscad payload_bay_modules.scad -D 'RENDER="camera_boom_stl"' -o payload_camera_boom.stl
openscad payload_bay_modules.scad -D 'RENDER="cup_holder_stl"' -o payload_cup_holder.stl
openscad payload_bay_modules.scad -D 'RENDER="target_pad_2d"' -o payload_target_pad.dxf