jpl/open-source-rover · spec sheet
NASA JPL Open Source Rover specs
Build-it-yourself scaled-down six-wheel rocker-bogie rover modeled on JPL's Mars rovers, built mostly from goBILDA COTS parts with a Raspberry Pi.
Media
3 items · credited and licensed


Specifications
6/12 fields sourced| Heightspecs.heightCm | unsourced |
|---|---|
| Massspecs.massKg | unsourced |
| Degrees of freedomspecs.dof | unsourced |
| Payloadspecs.payloadKg | unsourced |
| Top speedspecs.speedMps | 1.6m/s |
| Runtimespecs.runtimeMin | 180min |
| Battery capacityspecs.batteryWh | unsourced |
| Pricespecs.priceUsd | 1,600USD~$1600 parts cost |
| Actuatorsspecs.actuators | 10 motors |
| Computespecs.compute | Raspberry Pi |
| Sensorsspecs.sensors | unsourced |
| Year introducedyear | 2017 |
| Licenselicense.hw / .sw / .docs | Hardware: Apache-2.0Software: Apache-2.0 |
Note · OSHWA certified (US002551). Runtime 'at least 3 hours' with a 7.2 Ah battery. Onshape CAD public. Around since 2017, many iterations. Rover software (ROS 2) is in nasa-jpl/osr-rover-code, which includes osr_gazebo: an osr.urdf.xacro model and a Gazebo simulation. No MJCF and no learned policies.
| Artifact | Public | Weight | Points |
|---|---|---|---|
| CADopenness.cad | yes | 25 | 25 |
| Bill of materialsopenness.bom | yes | 20 | 20 |
| Sim model (URDF/MJCF)openness.sim | yes | 20 | 20 |
| Firmwareopenness.firmware | yes | 15 | 15 |
| Softwareopenness.software | yes | 10 | 10 |
| Trained policiesopenness.policies | no | 10 | 0 |
| score = Σ weight × public | 90 | ||
BOM by category · USD from priced lines
| Category | Lines | Qty | USD |
|---|---|---|---|
| Structure | 39 | 131 | 838 |
| Actuators | 2 | 10 | 386 |
| Fasteners | 17 | 31 | 104 |
| Electronics | 37 | 224 | 85 |
| Power | 6 | 7 | 6 |
| Other | 4 | 4 | 2 |
| Cabling | 9 | 30 | — |
| Sensors | 2 | 2 | — |
| Compute | 1 | 1 | — |
Offers in GLOBAL · US from 10 vendors
Subsystems · assembly groups
| Group | Steps | Min | Safety |
|---|---|---|---|
| Procurement | 2 | — | — |
| Fabrication | 1 | — | — |
| Wiring | 1 | 300 | — |
| Control board | 7 | — | 3 |
| Power | 1 | — | 1 |
| Wheels | 2 | — | — |
| Rocker-bogie | 3 | — | — |
| Body | 2 | — | — |
| Integration | 2 | — | — |
| Software | 2 | — | — |
| Bring-up | 3 | — | 2 |
Fabrication: Laser cut ×7
Firmware
- Targets
- Raspberry Pi 3/4/5 (Ubuntu + ROS 2, osr-rover-code), RoboClaw 2x7A x3 (Basicmicro firmware, addresses 128-130), PCA9685 (I2C, corner servos on channels 0-3), INA260 (I2C 0x45, optional)
- Repo
- github.com/nasa-jpl/osr-rover-code
- Calibrate
- RoboClaws: Motion Studio, Packet Serial at 115200 with Multi-Unit on, quadrature encoders, direction and encoder sign set per motor, velocity Autotune per channel, then Device > Write Settings. Corner servos: `python3 calibrate_servos.py <0-3> 150`, remount, trim per channel and store the four centres in `centered_pulse_widths` in osr_mod_launch.py. Geometry and wheel radius overrides go in osr_params_mod.yaml.
- Notes
- RoboClaw firmware is updated from Motion Studio. The ROS 2 stack (osr_bringup, osr_control, osr_interfaces) takes /cmd_vel from joy_to_twist; `enable_odometry:=true` publishes wheel odometry. osr_gazebo holds a URDF and Gazebo Classic simulation (ROS 2 Humble, not built by default: remove COLCON_IGNORE). On a Pi 3/4, Bluetooth gamepads conflict with the UART used for the RoboClaws.
Caveats · stated by the package
- USD prices are the parts list figures (goBILDA per unit or per pack, DigiKey 4-20-2023 cart unit prices); goBILDA may change prices without notice. Parts-list total is $1421.18 before the 15% educational discount and shipping; extra parts add roughly $500 more (the main README says ~$1600 total).
- The extra parts (RoboClaws, regulators, PCA9685, INA260, battery, charger, Pi, connectors, wire, gamepad) have no USD price upstream; several links are store or category pages (Zeee battery store, cable-sleeve best-seller list) rather than products.
- The INA260 is reported as hard to find; without it you must bypass U1 with a 0 ohm link at R30 and lose the software current/voltage readout.
- PCBs are v2.0.3 but the assembly photos show v2.0.1; follow the written text where they differ. JLCPCB minimum order is 10 boards.
- Fastener conflicts: the body README says 'M8x16 button head screws' for the plates and the laser-cut README mentions M3 screws, while screws.md and the parts list use M4x16 button screws (34 for plates). The rocker-bogie README calls the 6 mm spacer 1514-0010-0060 but the parts list orders 1522-0010-0060.
- The rover bringup guide edits `osr_mod_launch.py`, which is not in the repo; copy it from `osr_launch.py` first (launch_osr.sh falls back to osr_launch.py when the mod file is missing).
- The 5-hole goRAIL nut was introduced in July 2026; older builds use three hurricane nuts per control arm instead.
- The Onshape model shows left and right wheel assemblies identical and may show rocker-bogie slits wrongly; the docs say to build mirror images.
- Corner servo gears can strip in a crash; a gear-replacement guide and goBILDA replacement gear sets exist (mechanical/servo_gear_replacement).
- Raspberry Pi 5 needs a separate USB-C 5 V feed; the ribbon-cable 5 V is not enough. Only the Pi 5 can use the RoboClaw serial link and Bluetooth at the same time.
- No torque values are published; the only time estimate is 'no less than 100 person-hours' (2-5 h of that for the wiring).
- Community support is an unofficial Slack group; JPL and Caltech are not affiliated with it.
Package jpl/open-source-rover@0.1.0 · upstream nasa-jpl/open-source-rover@0bea824015778922d4d7e373fbf56a112efea46d (2026-09-03; parts list total $1421.18, control board v2.0.3); nasa-jpl/osr-rover-code@6b17c22a900182f5339c23ba1f86739b5c9e8c1c (2026-09-15; ROS 2, Jazzy in the setup guide) · 21 package sources
Models, repositories, links
6 links- URDFgithub.com/nasa-jpl/osr-rover-code/blob/master/ROS/osr_gazebo/urdf/osr.urdf.xacromodel
- Repogithub.com/nasa-jpl/open-source-rovergithub.com
- Repogithub.com/nasa-jpl/osr-rover-codegithub.com
- Sitegithub.com/nasa-jpl/open-source-rovergithub.com
- Docsgithub.com/nasa-jpl/open-source-rover/blob/master/parts_list/README.mdgithub.com
- Videoyoutube.com/watch?v=exHqc_Vuifwyoutube.com
News and papers
0 stories · 0 papersNews mentioning JPL Open Source Rover
Papers using JPL Open Source Rover
Sources
last checked 2026-09-25- [1]OSR repo README (specs)github.com/nasa-jpl/open-source-roverchecked 2026-09-24
- [2]OSHWA certificationcertification.oshwa.org/us002551.htmlchecked 2026-09-24
- [3]osr-rover-code osr_gazebo (URDF xacro + Gazebo sim)github.com/nasa-jpl/osr-rover-code/tree/master/ROS/osr_gazebochecked 2026-09-25
- [4]OSR parts listgithub.com/nasa-jpl/open-source-rover/blob/master/parts_list/README.mdchecked 2026-09-25
Suggest a correction
Related
Nearest by size (height, mass)
Compare
Cite this page
humanoidrobots.systems. “NASA JPL Open Source Rover specs.” Hyperspawn, data revision 2026-10-08. https://humanoidrobots.systems/jpl/open-source-rover
Machine-readable: /data.json (record jpl/open-source-rover).