Sawppy the Rover
A motorized model of Mars rovers Curiosity and Perseverance that reproduces Rocker-Bogie suspension, built with 3D-printed parts and serial bus servo wheels.
- Wheeled
- Open source
- arduino
- 3D printable
Suggested by Robotheca, created by @Roger-random (opens in a new tab), from github.com/Roger-random/Sawppy_Rover (opens in a new tab). Pinned to commit 16eccd0 (opens in a new tab).
- Hardware license
- MIT (opens in a new tab)
- Software license
- MIT (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Photo and 3D model

3D preview converted from github.com/Roger-random/Sawppy_Rover at 16eccd0, under MIT. View the original files from GitHub (9.9 MB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Drives six wheels with serial bus servos, with four corners steering and two middle wheels fixed
- Reproduces Rocker-Bogie suspension kinematics like Mars rovers Curiosity and Perseverance
- Wired control option running on an Arduino, with HTML-based wireless teleoperation, R/C control, and ROS variants described
- Servos assigned unique addresses so each can be commanded individually on the shared serial bus
Bill of materials
39 parts39 of 39 parts shown
| # | Component | Quantity | Est. price | Supplier |
|---|---|---|---|---|
| 1 | Clip2n125 | 88 | – | – |
| 2 | Clip3n20 | 12 | – | – |
| 3 | Wheel Hub | 6 | – | – |
| 4 | LX-16A - Coupler | 10 | – | – |
| 5 | LX-16A - Bracket | 10 | – | – |
| 6 | Wheel | 6 | – | – |
| 7 | Steering Knuckle | 4 | – | – |
| 8 | Body Corner | 4 | – | – |
| 9 | DiffBrace | 2 | – | – |
| 10 | DiffLink | 2 | – | – |
| 11 | DiffLower | 1 | – | – |
| 12 | DiffUpper | 1 | – | – |
| 13 | Rod Support | 2 | – | – |
| 14 | Power Panel | 1 | – | – |
| 15 | Fixed Knuckle | 2 | – | – |
| 16 | Front Corner | 2 | – | – |
| 17 | Rear Corner | 2 | – | – |
| 18 | Bogie Wheels | 2 | – | – |
| 19 | Bogie Body | 2 | – | – |
| 20 | Rocker | 2 | – | – |
| 21 | Rocker Body Mount | 2 | – | – |
| 22 | DiffEnd | 2 | – | – |
| 23 | Battery Tray | 2 | – | – |
| 24 | Differential Shaft | 1 | – | – |
| 25 | Wheel Axle Shaft | 6 | – | – |
| 26 | Steering Shaft | 4 | – | – |
| 27 | Suspension Bogie Pivot Point | 2 | – | – |
| 28 | Suspension Rocker Pivot Point | 2 | – | – |
| 29 | LX-16A Servos | 10 | – | – |
| 30 | 608 Bearings | 30 | – | – |
| 31 | M3x8mm socket head screws | 300 | – | – |
| 32 | M3x16mm socket head screws | 28 | – | – |
| 33 | M3 washers | 300 | – | – |
| 34 | M3 nuts | 300 | – | – |
| 35 | M3 threaded inserts | 100 | – | – |
| 36 | 5/16" external retaining clips (E-Clips) | 100 | – | – |
| 37 | M3x8 set screws | 22 | – | – |
| 38 | Turnbuckles | 2 | – | – |
| 39 | 1/4" long Philips #2 brass screw | 40 | – | – |
39 of 39 parts have no price in the source, so there is no parts total. Read from docs/Parts List.md at the pinned commit.
Build guide
The guide appears here as you scroll.
Guide by @Roger-random (README.md), under MIT.
More guides
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- 10 LX-16A serial bus servos: 4 for steering the corner wheels, 6 for driving the wheels
- An Arduino board for the wired control option
- A Raspberry Pi for the wireless and R/C control software options
Connections
- All servos share one serial bus, with each servo given a unique address
- The Arduino wiring diagram is contributed by Martin and shown in the repository's docs images