Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Open Source Rover | 7,279 | 18 days ago | 40 | apache-2.0 | Prolog | |||||
A build-it-yourself, 6-wheel rover based on the rovers on Mars! | ||||||||||
Ur5_ros Gazebo | 230 | 2 years ago | 25 | Python | ||||||
Universal Robot (UR5) Pick and Place Simulation in ROS-Gazebo with a USB Cam and Vacuum Grippers | ||||||||||
Blockly | 87 | 13 days ago | 29 | gpl-2.0 | C | |||||
Otto Blockly; a fully integrated graphical programming for any type of Arduino projects, including robots, ready to install in your computer, it works offline and also online | ||||||||||
Viomi Rooting | 77 | 4 months ago | 11 | Shell | ||||||
Tool for rooting the Xiaomi STYJ02YM (viomi-v7) and Mijia STYTJ02YM (viomi-v8) vacuum robot | ||||||||||
Lego Mindstorms | 73 | 2 months ago | 1 | Jupyter Notebook | ||||||
Hints, tips, and tricks for the LEGO Mindstorms products (RCX, NXT, EV3, Robot Inventor). | ||||||||||
Toastapi | 68 | 6 years ago | 11 | other | Java | |||||
An Open Source robot API for FRC - The Best thing since Sliced Bread | ||||||||||
Open Robot | 48 | 6 years ago | bsd-2-clause | CMake | ||||||
The main ROS package of open source robot | ||||||||||
Pynq Bot | 22 | 5 years ago | bsd-3-clause | Tcl | ||||||
Sumochip | 18 | 6 years ago | 3 | August 27, 2016 | 15 | mit | JavaScript | |||
Sumorobot platform on top of CHIP board | ||||||||||
Lewansoul Xarm | 12 | 4 years ago | 1 | mit | C# | |||||
Experiments and APIs for LewanSoul xArm. |
The JPL Open Source Rover is an open source, build it yourself, scaled down version of the 6 wheel rover design that JPL uses to explore the surface of Mars. The Open Source Rover is designed almost entirely out of consumer off the shelf (COTS) parts. This project is intended to be a teaching and learning experience for those who want to get involved in mechanical engineering, software, electronics, or robotics.
![]() |
![]() |
![]() |
![]() |
A gallery of some community builds can be found here. Drive a simulated rover around straight from your browser: opensourcerover.jpl.nasa.gov
JPL is always looking to inspire the next generation of scientists, engineers, and roboticists to help us explore and learn about our solar system (and beyond!). We release the plans for this rover as a way to try and give budding enthusiasts a fun robotics project that will help teach them and get them involved in robotics sooner and at a lower cost.
The specific attributes of the robot you build will depend slightly on the type of electronics and motors you buy for the system. The numbers shown below are for the version of the robot that contains exactly the parts that we suggest in our build documents and parts list. Below, you can see which parts could be changed for which spec upgrades.
Attribute | Value [imperial] | Value [SI] |
---|---|---|
Weight | 28 [lbs] | 12.7 [kg] |
Footprint | 24x14 [in] | 60.96x30.48 [cm] |
Battery Capacity | 5200 [mAh] | 5200 [mAh] |
Battery Discharge Rate | 8 [A] | 8 [A] |
Nominal Current Draw | 1.2 [A] | 1.2 [A] |
Operating time | 5 [hrs] (continual use) | 5 [hrs] (continual use) |
Approximate Max speed | 68.8 [in/s] | 1.75 [m/s] |
Maximum 90 deg vertical scale | 12 [in] | 30.48 [cm] |
Maximum height differential between sides | 14 [in] | 35.56 [cm] |
Communication (in this guide) | Xbox Controller | |
Cost (*) | ~ $2,500 |
Again, the above statistics depend on which components you select when buying parts. One potential change is for the motors; you can, for example, select higher RPM motors (to drive your rover faster) at the sacrifice of max stall torque, which would potentially limit your rover's ability to climb. A selection of motors that would integrate easily with the rest of the suggested rover design can be found at GoBilda.
(*) Other open-source, cheaper alternatives exist but are slower, less strong, and are more fragile. See Additional Projects.
The best way to ask questions, reach maintainers, learn about modifications, and join the community of Open Source Rover builders is to join our Slack group:
Note: JPL and Caltech have no official affiliation with this forum; it is run by individuals of the general public. On these you can ask questions if you need help or clarification on any aspects of the project. Additionally, you can post and promote any modifications or addons that you have created on this project. We highly encourage additions and modifications to be posted so that this project and community can grow.
This rover is designed to function similarly to the 6 wheel rover designs on Mars and employs a few of the major driving mechanics that the mars rovers use to traverse rocky surfaces:
We chose a Raspberry Pi to be the "brain" of this rover for its versatility, accessibility, simplicity, and ability to add and upgrade your own modifications. Any method with which you can communicate with a Raspberry Pi (bluetooth, WiFi, USB devices, etc) can be interfaced into the control system of the robot.
In addition, here are the open communication ports and hardware on the Raspberry Pi:
Using the above ports, you could theoretically drive the rover autonomously from the camera, via a USB dongle attached to anything (your own video game controller, a USB microphone, or many others... be creative!), or through any interface using the Pi's GPIO ports (distance sensors, accelerometers, and much more). We've only given you two simple ways to control the rover to start... we want you to come up with even more!
For the power system of the rover, there is also ample spare power which can be used for your own addons and upgrades. See the Electrical subsystem documentation for more specific details.
As an open-source hardware project, the rover is continuously improving. Please check ongoing projects, issues, pull requests, and the forum (see below) to see if any big changes are expected soon.
NOTE: A major mechanical and electrical revision of the OSR is due for July 2023. While the current version of the rover will remain supported, consider waiting for this new version. For details on this new version and its status, please join the Slack group and look for the #osr-upgrade
channel. You can also see the latest documentation on the v2 branch.
There is also an Onshape model of the Open Source Rover. The model includes the state of the rover at each individual step throughout our build instructions! Therefore, you should be able to reference the online 3D model in addition to the photos in the build instructions as you are building to ensure your build is going well. NOTE: The most updated model and single source of truth are the SolidWorks assemblies and the OnShape model may be out of date.
Thank you to Lauren Schooley for creating a mission patch for the project. The patch is free for use as a team patch, for stickers, or decorating your rover. The design is released under the Creative Commons Attribution-NoDerivatives public license. A variety of file formats is available.
This project has elements in mechanical assembly/fabrication, uses a host of electrical components, and has software that will run it all. In order to complete this project, you will need to have some experience in the following:
Most of the above are skills that you can learn and pick up fairly quickly from watching videos and doing research on the internet, and throughout the project we try to give supplemental information on some of these as well. See the build documents for more information.
This project assumes you have some standard tools to help assemble the project. If you do not have any of the optional tools, we provide examples of online services that you can use to have the parts fabricated and sent to you.
In our experience, this project takes no less than 200 person-hours to build, and depending on the familiarity and skill level of those involved could be significantly more. Experienced builders may be able to build this project in this amount of time. However, this project is generally meant to be a teaching and learning tool. Throughout the documentation, we try to give supplemental information for those who might be new to this kind of project.
Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology. Government sponsorship acknowledged.
By downloading, cloning, or otherwise using the contents of this repository, you agree to the terms specified in the attached DISCLAIMER.txt file.
The Master Parts List contains all the parts necessary to build the entirety of the robot as it is listed in our documentation. We recognize that you may want to change, add, and redesign some sections, so each of the individual build sections also contain a parts list for that corresponding section of the project. Note that these individual parts list recommend buying quantities necessary only for that section. Be sure to assess the quantities you need for common items (particularly screws, nuts, bolts, and other common hardware) if you are changing subassemblies.
In order to help this ordering process we have compiled a few links of a large number of these together already, if you wish to build exactly what is in our build documentation. Note that some of these parts might not be available or outdated. Please check the master parts list for the most up-to-date list of items.
McMaster | Amazon | Pololu | Adafruit |
---|
Electronics
The easiest way to buy the electronics parts is to use the links (to e.g. Digikey) on the Kitspace pages:
Another way to order from Digikey is to upload the Digikey Bill of Materials at Digikey.com.
In addition to ordering all of the parts on the parts list, we recommend that some pieces be 3D printed and laser cut. If you do not have access to a 3D printer or laser cutter, we've added some online services as examples for where you can get those manufactured and shipped to you. You'll find instructions on this in the Body Build Doc, Corner Steering Build Doc, and Head Assembly Build Doc.
The main electrical system of this rover relies on a custom printed circuit board (PCB) that handles the routing between the majority of the electrical components. This board greatly simplifies the build process and eliminates the need for you to route all the wires yourself. You can find the PCB board files at PCB Files.
The easiest way to order the PCBs is through the links (to e.g JLCPCB) on the Kitspace pages:
You can also download the "Gerber" files there (a typical file format for PCBs) and upload them to any other PCB service that doesn't have a direct link on Kitspace.
Above is an example roadmap of how you can build the rover and which parts of the build are dependent on the other sections. It is broken down into 5 stages:
Stage 1: Start getting all the parts!
Stage 2: Once you have all the parts, everything in stage 2 can be completed in parallel. It is highly recommended to start on the electrical testing of components outside the robot before doing any electrical work inside the completed robot body. You can also work on the software at any stage between here and the end.
Stage 3: During stage 3, the mechanical subassemblies should all be assembled and start to be integrated together. There should be some amount of testing done on the electrical system, as well as some progress on the software.
Stage 4: The rover is mechanically built and all subassemblies integrated together. During stage 4, you begin the integration of the electrical components and the various power and data wires that run throughout the rover.
Stage 5: Once the electronics are all powered and communicating, you need to test and calibrate all the motors in the system.
Stage 6: After everything has been tested and calibrated and the software is up and running, the robot will be fully functioning and built!
Stage 7: Add your own upgrades! We chose Raspberry Pi as the brain of the project so that it should be easy to add, change, and upgrade to build exciting things on top of this already cool robot. Some upgrade ideas to get you brainstorming: sonar for collision detection, IMU for orientation / closed-loop driving / obstacle mapping, camera for object identification and tracking, sensor packages (temperature, pressure, humidity), solar panels, or even a robotic arm!
If you have any questions or run into problems during your build, please search for answers and/or reach out on Github Discussions. Please also take a look at the list of open issues. If you think there is an error or a part is missing, please create a new issue.
These were the original creators of this project. Now, this open-source repository is run by volunteer maintainers from the community.
Michael (Mik) Cox
Eric Junkins and Olivia Lofaro
Magdy Bareh, Michelle Viotti, Tom Soderstrom, Dave Gallagher, Jim Rinaldi, Molly Bittner, Christine Fuller, Billy Allen, and Charles Dandino
We recognize that there might be a some individuals, hobbyists, and groups that might be hesitant or unable to build the Open Source Rover due to skills/tools necessary, or budgetary constraints. Here are some other open-source alternatives.