RoverNASA Jet Propulsion Laboratory2017US
JPL Open Source Rover
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.
Difficulty index
5.9/13| Class | rover | +1.5 |
|---|---|---|
| Cost | $1,421 BOM | +1.2 |
| DOF | unknown · midpoint | +1.5 |
| Parts | 449 parts | +1.7 |
Specimen photographs
3 itemsSpec card
7/13 known- Speed
- 1.6 m/s
- Runtime
- 180 min
- Price
- $1,600 · ~$1600 parts cost
- BOM total
- $1,421 · 92/117 lines priced
- Part count
- 449
- Actuators
- 10 motors
- Compute
- Raspberry Pi
Not in the registry: degrees of freedom, height, mass, payload, battery, sensors. Left blank rather than guessed.
What you learn building it
- +Differential drive and odometry
- +Battery sizing and power budgets
- +Reading IMUs, encoders and range sensors
- +Navigation and mapping
- +Laser cutting: 9 parts
- +Tools used: Laser cutter or an online service (SendCutSend premade cart, Sculpteo), Crimping tool (JST, DuPont, Molex), Wire strippers, Heat gun, Multimeter, Marker, Soldering iron, Solder +18
- +26 assembly steps across 11 subassemblies
- +Flashing firmware for 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)
- +Testing in simulation (URDF/MJCF) before touching hardware
Openness
- publicCAD
- publicBOM
- publicFirmware
- publicSim model
- publicSoftware
- not publicPolicies
Score 90/100 computed from what is public: CAD 25, BOM 20, sim 20, firmware 15, software 10, policies 10. Hardware license: Apache-2.0. Software license: Apache-2.0.
Repos & models
Build it
Has an ORP build package.- BOM total
- $1,421
- Lines priced
- 92/117
- Parts
- 449
- Steps
- 26
- Version
- 0.1.0
25 lines have no price yet, so the real total is higher.
Largest BOM lines
| Part | Qty | Unit |
|---|---|---|
| 5203 Series Yellow Jacket Planetary Gear Motor (26.9:1, 24mm length 8mm REX shaft, 223 RPM, 3.3-5V encoder)5203-2402-0027 | 6 | $42.99 |
| Wasteland Wheel (144mm Diameter, 52mm Width)3616-0014-0144 | 6 | $24.99 |
| 2000 Series Dual Mode Servo (25-2, Torque) (corner steering)2000-0025-0002 | 4 | $31.99 |
| ServoBlock (Standard Size, 25 Tooth Spline, Hub Shaft)3202-0001-2501 | 4 | $29.99 |
| 1604 Series 2-Side, 2-Post Pillow Block (32mm Bore)1604-0043-0032 | 4 | $12.99 |
| 1310 Series Hyper Hub (8mm REX Bore)1310-0016-4008 | 6 | $7.99 |
| 1401 Series 2-Side, 2-Post Clamping Mount (43mm Width, 36mm Bore)1401-0043-0036 | 6 | $6.99 |
| 1120 Series U-Channel (2 Hole, 72mm Length) (6 for the wheels + 2 for the body)1120-0002-0072 | 8 | $4.99 |
- 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.
Simulate
humanoidrobots.training/jpl/open-source-rover
URDF (xacro) and a Gazebo Classic sim in osr-rover-code (osr_gazebo, skipped by colcon unless you remove COLCON_IGNORE). No MJCF, no learned policies.
Next rung
SO-101 (SO-ARM101) →The Robot Studio / Hugging Face · arm · index 3.7Easiest buildable arm, the next class up from rover. Adds forward and inverse kinematics.
NoteOSHWA 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.
Sources
- [1]OSR repo README (specs)checked 2026-09-24
- [2]OSHWA certificationchecked 2026-09-24
- [3]osr-rover-code osr_gazebo (URDF xacro + Gazebo sim)checked 2026-09-25
- [4]OSR parts listchecked 2026-09-25


