SaltyRover Chassis — BOM + Assembly Notes
Rev A — 2026-03-01 — sl-mechanical
Issue: #73
Overview
SaltyRover is the stable 4-wheel variant of SaltyLab.
Low CG, wide track — designed not to tip over.
Reuses the 25 mm vertical stem, sensor head, RPLIDAR, RealSense,
IMX219 camera mounts, and roll cage from SaltyLab without modification.
Top view (schematic):
Forward (+Y)
│
◉─────────────────────◉ ← front axle (AXLE_BASE/2 = 170 mm forward)
│ [Orin NX] │
│ [battery] │ ← flat packs below deck (low CG)
│ [battery] │
│ [FC] │
◉─────────────────────◉ ← rear axle
│
stem (centre)
Dimensions (approx):
Robot width (tyre-to-tyre): ~810 mm (TRACK_W=540 + 2×TIRE_W/2)
Robot length (axle-to-axle): ~340 mm (AXLE_BASE)
Deck width: 480 mm
Deck length: 500 mm
Ground clearance: ~50 mm (deck bottom to ground)
Overall height (with 550 mm stem + sensor head): ~800 mm
Height Stack
Z from ground:
Z = 0 mm — ground
Z = 50 mm — chassis bottom (battery tray floor)
Z = 109 mm — deck bottom face
Z = 117 mm — deck top face (Z=0 in SCAD coords)
Z = 127 mm — motor axle CL (+10 mm above deck top)
Z = 139 mm — deck stem collar top (117+22)
Z = 145 mm — stem adapter flange top (139+6)
Z = 173 mm — stem clamp top (145+28)
Z = 723 mm — stem top with 550 mm rover stem
File Index
| File |
Description |
RENDER |
saltyrover_chassis.scad |
Main deck plate, stem collar, standoffs |
assembly / deck / deck_2d |
rover_motor_mount.scad |
L-bracket + axle clamp plate, 4× |
assembly / bracket / clamp_plate / bracket_2d |
rover_battery_tray.scad |
Slide-out battery tray, 2–4 packs |
assembly / tray / rail / latch / tray_2d |
rover_stem_adapter.scad |
Flange + split clamp, locks stem to deck |
assembly / base_flange / clamp_front / clamp_rear |
Part A — Deck Plate (saltyrover_chassis.scad)
Structural parts
| # |
RENDER |
Qty |
Material |
Process |
Notes |
| 1 |
deck_2d |
1 |
8 mm 5052-H32 Al |
Waterjet or CNC router |
480×500 mm blank |
| — |
— |
— |
or 8 mm PETG FDM |
Print in sections, bolted lap joints |
Prototype only |
Fasteners (deck to motor brackets)
| # |
Spec |
Qty |
Use |
| 2 |
M5×20 SHCS |
16 |
Motor bracket flange to deck (4 per corner × 4) |
| 3 |
M5 hex nut |
16 |
Captured on deck underside |
| 4 |
M4×16 SHCS |
4 |
Stem adapter flange to deck collar |
| 5 |
M4 flat washer |
4 |
Under bolt head |
Part B — Motor Brackets (rover_motor_mount.scad)
Print or CNC 4×. Each bracket handles one drive motor.
Printed parts
| # |
RENDER |
Qty |
Material |
Settings |
Notes |
| 6 |
bracket |
4 |
PETG or PC |
5 perims, 60% infill |
Print flange face down; add M5 inserts or use nuts |
| 7 |
clamp_plate |
4 |
PETG |
4 perims, 40% infill |
Axle retention; print flat |
CNC alternative: bracket_2d → DXF, CNC route from 10 mm 6061-T6 Al plate.
Fasteners
| # |
Spec |
Qty |
Use |
| 8 |
M4×20 SHCS |
8 |
Axle clamp plate to bracket (2 per motor × 4) |
| 9 |
M4 hex nut |
8 |
Captured in bracket |
| 10 |
Axle lock nut |
4 |
Axle tip retention — verify axle thread before ordering (BOM.md: Ø≈10 mm tip) |
| 11 |
M5×20 SHCS |
16 |
Bracket flange to deck (from item 2 above) |
⚠ Axle note: BOM.md caliper values: base OD 16.11 mm, D-cut OD 15.95 mm, flat chord 13.00 mm.
Verify AXLE_D / AXLE_FLAT / BEARING_OD in rover_motor_mount.scad before printing.
Part C — Battery Tray (rover_battery_tray.scad)
Printed parts
| # |
RENDER |
Qty |
Material |
Settings |
Notes |
| 12 |
tray |
1 |
PETG |
4 perims, 30% infill |
Print open-top face up; no supports |
| 13 |
rail |
2 |
PETG |
5 perims, 40% infill |
T-slot slide rail; print top-face down |
| 14 |
latch |
1 |
PETG or TPU 95A |
4 perims, 30% infill |
Spring retention clip; TPU gives better snap feel |
Fasteners
| # |
Spec |
Qty |
Use |
| 15 |
M4×12 FHCS |
6 |
Slide rail to deck underside (3 per rail, countersunk) |
| 16 |
M4 T-nut or nyloc |
6 |
Captured under deck for rail bolts |
| 17 |
M3×10 SHCS |
2 |
Spring latch to tray end |
| 18 |
Velcro strap 25 mm × 500 mm |
4–8 |
Battery pack retention (1–2 per pack through tray floor slots) |
Batteries
| # |
Part |
Qty |
Spec |
| 19 |
Battery pack |
2–4 |
24 V, 420×88×56 mm (BOM.md caliper-verified) |
| 20 |
BMS board |
1 |
Matched to cell chemistry; mount to deck underside near Y+ wall |
Part D — Stem Adapter (rover_stem_adapter.scad)
| # |
RENDER |
Qty |
Material |
Settings |
Notes |
| 21 |
base_flange |
1 |
PETG |
5 perims, 40% infill |
Print flat; add M4 brass inserts or use through-bolts |
| 22 |
clamp_front |
1 |
PETG |
5 perims, 40% infill |
Flat-face down |
| 23 |
clamp_rear |
1 |
PETG |
5 perims, 40% infill |
Mirror; flat-face down |
Fasteners
| # |
Spec |
Qty |
Use |
| 24 |
M4×20 SHCS |
2 |
Stem clamp clamping bolts |
| 25 |
M4 hex nut |
2 |
Captured in clamp rear half |
| 26 |
M4×8 set screw |
1 |
Rotation lock (front half) |
| 27 |
M4×16 FHCS |
4 |
Flange to deck collar (countersunk) |
Stem tube
| # |
Part |
Qty |
Spec |
Notes |
| 28 |
Vertical stem |
1 |
25 mm OD × 1.5 mm wall 6061-T6 Al, 550 mm length |
Cut from 1 m stock; SaltyLab uses 1000 mm |
Sensor head, RPLIDAR, cameras, and roll cage from SaltyLab mount
directly onto this 25 mm stem — no modifications required.
Motors
Same hoverboard hub motors as SaltyLab. 4× required for rover.
| # |
Part |
Qty |
Spec |
| 29 |
Hub motor |
4 |
10×2.125" tire, 36V nominal, ~350W; axle OD 16.11mm (caliper) |
| 30 |
Motor cable extension |
4 |
6-pin JST-PH 300 mm hall sensor + 3-phase power |
Mass Estimate
| Assembly |
Est. mass |
| Al deck plate |
~1.4 kg |
| Motor brackets × 4 (PETG) |
~0.5 kg |
| Hub motors × 4 |
~7.2 kg |
| Battery packs × 2 |
~1.4 kg |
| Battery tray (PETG) |
~0.3 kg |
| Stem + sensor head (from SaltyLab) |
~1.5 kg |
| Electronics (FC + Orin + wiring) |
~0.6 kg |
| Stem adapter + hardware |
~0.2 kg |
| Fasteners |
~0.3 kg |
| Total estimate |
~13.4 kg |
Wide 540 mm track + low 117 mm deck height → tip-over angle > 45°.
CG is at approximately Z = 200 mm with packs flat and full payload.
Assembly Sequence
- Deck plate: Cut or print
deck_2d. Waterjet preferred for Al.
- Motor brackets: Print (or CNC) 4×
bracket + 4× clamp_plate.
- Test-fit axle D-cut bore before assembling to deck.
- Slide rails: Print 2×
rail. Bolt to deck underside.
- Stem adapter: Print
base_flange + clamp_front + clamp_rear.
- Insert stem through deck collar bore; seat flange on collar top.
- Bolt flange with 4× M4×16 FHCS.
- Slide clamp halves on stem above flange; tighten M4 clamping bolts (1.5 N·m).
- Tighten M4 set screw.
- Motor brackets: Slide flange into deck edge slot; 4× M5×20 bolts.
- Do not torque until axle alignment is confirmed.
- Motors: Drop axle into bracket dropout slot. Install clamp plate.
- Tighten clamp M4 bolts. Axle lock nut finger-tight + ¼ turn.
- Battery tray: Slide tray in from +X with packs loaded.
- Latch snaps at full insertion.
- Sensor head + stem accessories: Install from SaltyLab as-is.
- Recommend 550 mm stem for rover (sensor head at ~720 mm, stable).
Tools Required
- M3/M4/M5 hex drivers
- Torque wrench: M5 structural bolts 4 N·m, M4 clamp bolts 1.5 N·m
- Thread locker (Loctite 243 blue) on axle lock nuts and stem clamp set screw
- Dial caliper — verify axle dimensions before bracket print/CNC