Skip to content

JPL Open Source Rover

A build-it-yourself, six-wheeled rover scaled down from the JPL Mars rover design, made from consumer off-the-shelf parts.

  • Wheeled
  • Open source
  • ROS
  • 3D printable

Suggested by Robotheca, created by @nasa-jpl (opens in a new tab), from github.com/nasa-jpl/open-source-rover (opens in a new tab). Pinned to commit 0bea824 (opens in a new tab).

Photo and 3D model

JPL Open Source Rover, photo from its repository
Photo:@nasa-jpl (opens in a new tab)Apache-2.0source file (opens in a new tab)

3D preview converted from github.com/nasa-jpl/open-source-rover at 0bea824, under Apache-2.0. View the original files from GitHub (629 KB) (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Driving over rough terrain with a six-wheel rocker-bogie suspension that keeps all wheels in ground contact.
  • Differential pivot that shifts weight from one side of the rover to the other while climbing.
  • Six-wheel Ackermann-style steering where each wheel's direction and speed are governed by the control system.
  • Can be extended with sensors, cameras, a head display or a robot arm; a Raspberry Pi serves as the brain and can be reached over Bluetooth, WiFi or USB.
  • Around 1.6 m/s top speed according to the spec table, subject to motor selection; about 3 hours of drive time from a 7.2Ah battery on rocky terrain.
  • Powers down when battery voltage drops below roughly 13-14V.

Bill of materials

34 parts

34 of 34 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
11 CAP CER 10000PF 50V X7R RADIAL20$0.16≈ €0–
22 CAP ALUM 100UF 20% 50V RADIAL10$0.25≈ €0–
33 CAP CER 0.1UF 50V X7R RADIAL10$0.21≈ €0–
44 CAP ALUM 10UF 20% 50V RADIAL10$0.16≈ €0–
55 DIODE SCHOTTKY 25V 10A TO220AC2$1.93≈ €2–
66 DIODE GEN PURP 75V 300MA DO3510$0.11≈ €0–
77 FUSEHOLDER BLOCKS - PCB - CLIP C1$0.68≈ €1–
88 CONN HEADER VERT 12POS 2.54MM4$1.50≈ €1–
99 CONN HEADER VERT 8POS 2.54MM4$0.47≈ €0–
1010 CONN HDR 20POS 0.1 TIN PCB1$1.30≈ €1–
1111 CONN HEADER VERT 40POS 2.54MM2$0.73≈ €1–
1212 CONN HEADER VERT 6POS 2MM2$0.36≈ €0–
1313 CONN HEADER VERT 20POS 2.54MM1$2.52≈ €2–
1414 CONN HDR 2POS 0.1 TIN PCB5$0.32≈ €0–
1515 TERM BLK 2P SIDE ENT 5.08MM PCB2$0.73≈ €1–
1616 CONN HEADER VERT 6POS 4.2MM6$2.27≈ €2–
1717 TRANS PNP 40V 0.2A TO92-310$0.29≈ €0–
1818 RES 100 OHM 5% 1/4W AXIAL10$0.06≈ €0–
1919 RES 10K OHM 5% 1/4W AXIAL10$0.06≈ €0–
2020 RES 4.7K OHM 5% 1/4W AXIAL25$0.04≈ €0–
2121 RES 0 OHM JUMPER 1/4W AXIAL10$0.08≈ €0–
2222 RES 68 OHM 5% 1/8W AXIAL10$0.05≈ €0–
2323 RES 82 OHM 5% 1/4W AXIAL10$0.06≈ €0–
2424 RES 1K OHM 5% 1/4W AXIAL10$0.06≈ €0–
2525 RES 680 OHM 5% 1/4W AXIAL10$0.06≈ €0–
2626 RES 220 OHM 5% 1/4W AXIAL10$0.06≈ €0–
2727 SWITCH SLIDE DIP SPDT 50MA 24V1$1.25≈ €1–
2828 LED BAR GRAPH 10SEG 570NM GRN2$3.26≈ €3–
2929 IC REG LINEAR 3.3V 750MA TO220-32$3.02≈ €3–
3030 FUSE GLASS 10A 125VAC 5X20MM2$1.21≈ €1–
3131 SWITCH TOGGLE ON-OFF-ON1$3.28≈ €3–
3232 TERM BLOCK HDR 24POS VERT 5MM1$3.33≈ €3–
3333 TERM BLOCK HDR 6POS VERT 3.5MM3$2.02≈ €2–
3434 TERM BLOCK PLUG 6POS STR 3.5MM3$2.59≈ €2–

≈ € amounts use the ECB reference rate of 14 Oct 2026, for comparison only.

Parts total: $90.80. Read from parts_list/digikey_bom.csv at the pinned commit.

Build guide

The creator's steps, each with its instructions.

  1. 1Order parts
  2. 2Create the wiring
  3. 3Make the electronics
  4. 4Make the mechanical assemblies
  5. 5Set up and configure the operating system rover code

The guide appears here as you scroll.

Guide by @nasa-jpl (README.md), under Apache-2.0.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Raspberry Pi as the main computer (the rover's brain).
  • Custom control PCB boards: a brain board and a motor board.
  • Ten motors in total: drive motors with quadrature encoders and corner servo motors with built-in absolute encoders.
  • Motor driver and power supply circuitry on the motor board, including fuses, diodes, a 3.3V linear regulator and a toggle power switch.
  • LED bar graph and DIP switch on the board.
  • LiPo battery (a 7.2Ah example is mentioned).

Connections

  • Each cable harness connects a motor to the motor board, carrying drive motor power (M+ and M-), encoder signals (channel A, channel B, ground, +5V) and servo control signals.
  • Drive motor encoder cables run from corner motors through the rocker-bogie to a 6-pin PCI-E style connector on the PCB, with front, middle and back cables marked to prevent misplacement.
  • Drive motor power cables use bullet connectors on the motor side and Molex connectors on the PCB side.
  • Corner servo cables carry PWM signal, positive and negative power in a fixed order matching the PCB headers.
  • Wire color coding is kept consistent across all cables, e.g. red for motor positive and black for motor negative.

Cables and connectors

From the parts list.

  • 21 RES 0 OHM JUMPER 1/4W AXIAL × 10