NASA RAP Robotics Design Guide

CD Community,

Hey!!! The NASA Robotics Alliance Project (RAP) ( is pleased to announce the release of the Robotics Design Guide ( This design guide is a living document that has been created to help robotics teams build robots. NASA thanks all the robotics teams that have contributed to this endeavor.

118e^10 SECONDS UNTIL KICKOFF!!! :smiley:



Can’t even begin to explain how incredible of a resource this is. Thank you to you and the RAP team for always going above and beyond!



Well I know what I will be reading cover to cover over the Holidays! This looks like a fantastic resource. Thank you to everyone that clearly worked hard and put a huge amount of effort into this for the benefit of all teams!


This is beautiful


Thanks, Lucien for yet another thing you and your team have done to benefit the community. That is a very comprehensive document that would make a great basis for orienting new team members and mentors.


This paper is so hot my laptop can’t even open it, anticipation is
through the roof
(edit: after a while it opened, now I can get to learn how to make awesome bots)


as an FYI it works better to download the PDF and view it through your PDF program rather than loading the PDF in a browser like chrome (or at least that’s true for me).


I’m not sleeping tonight. Or tomorrow night, for that matter.


The world needs my collection of frc resources.

For once maybe this isn’t just ego speaking :stuck_out_tongue:

Parts I’ve seen look solid. Can’t wait to find an excuse to dig into more.



I might add some of this information to my own guide.


This is pretty great—a lot of time went into this I’m sure, and it shows. Great work to all the contributors!


Having now read this I can not only safely say that I will be getting sleep tonight, but also that I am bookmarking this for future reference. It’s been a great read, and thanks to all the contributors who put in the time to make it. Definitely learned a ton.


This is AWESOME!!! Lots of great product ideas in here too :slight_smile:


I can only imagine how much time went into this. Thank you, thank you, thank you!


Cool resource for mechanical folks, but the software resources could use some work. First, a general comment.

You might want to run ghostscript on the pdf to slim it down. I was able to reduce it from 236MB to 17MB with no discernible loss in image quality (the images are way higher dpi than they need to be). You generally only want highest res when sending it to a publishing company.

gs -sDEVICE=pdfwrite \
  -dCompatibilityLevel=1.7 \
  -dPDFSETTINGS=/ebook \
  -dEmbedAllFonts=true \
  -dSubsetFonts=true \
  -dFastWebView=true \
  -dPrinted=false \
  -dQUIET \
  -dBATCH \
  -sOutputFile=nasarap-rdc-v101-compressed.pdf \

There’s other PDFSETTINGS options for various use cases like “printer” or “prepress”.

There’s a lot of outdated links in the software resources (especially for C++). The software section links to “FRC Programming Done Right”, but that project has been dead for a while. There were multiple issues filed on GitHub questioning its factual accuracy, and it was eventually taken down once gained critical mass. I’d remove the link.

The software resources links for C++ could use some cleanup as well. “Official C++ Tutorial” is not actually official, and it’s severely outdated (it was written before 2011 and C++11). In fact, a lot of the things that tutorial encourages like pointers and manual memory allocation are frowned upon in many scenarios in modern C++ by actual official sources (C++ Core Guidelines). I’d suggest the links on Introduction — FIRST Robotics Competition documentation instead for various C++ books and tutorials.

“971 C Programming” was last updated in 2012 and references WPILib materials that are no longer relevant, let alone supported. Based on the content, it’s only really intended for 971 as some of the stuff it mentions isn’t what an average FRC team should be doing. I’m fairly certain 971 doesn’t even use that page themselves anymore given how outdated the information is.

“FRC C Programming” looks vaguely like the PDF output of ScreenSteps, which was superseded by for the 2020 season, so it should be removed. The PDF in question was last updated in 2018, and the WPILib setup instructions all mention Eclipse, which was retired for the 2019 season. Several of the examples don’t even compile because WPILib has either deprecated or removed features and replaced them with better things.

Maybe this would benefit from having the source in GitHub so people can make PRs to fix up some stuff? I can say from experience that having a CI pipeline for book publishing is super nice. :slight_smile:


I want to say this is the best resource for the FRC community, but that already belongs to the Everybot. Regardless, thanks to everyone who was part of the development of this guide. I envision it becoming the go to document for all FRC teams, especially new mentors and students.


Having had an afternoon to read, and re-read, and thumb through again, I’m flabbergasted and still at a near loss for words. This is an incredible project, I immensely admire the effort that’s gone into this and the sheer quality of the whole document. Congratulations to all involved in it’s development for a successful launch, and for being another compendium I’ll reference, and I suspect many others will reference with alarming frequency.

Any chance I can order a paperback copy some time in the future? :stuck_out_tongue:


Can anyone who worked on this speak to how long this took from start to finish? How many teams were involved (I’m not sure if it was just 118 but it would make sense)? How often do you think this document will be updated?

By the way, this looks great! I haven’t even gotten halfway through and I’ve already learned so much.


First off, I just want to say this is by far the most comprehensive resource I’ve seen in a while for FRC, and I’m 100% going to be implementing this in our team’s training curriculum going forward. A lot of my praise echoes what others have said here, so I’m just going to voice a pretty large concern I had:

My biggest concern right now is that, like all works, this book is heavily influenced by the perspective of its authors. While that doesn’t take away from the contents of the book, a few of the mechanisms/solutions/design tips offered in the book are very much things only 118 could implement. While these are still extremely cool design ideas, and every team could definitely learn from them I’m worried that like Karthik mentioned, this is bound to become a go-to resource for new teams and students, and they may be inspired to try some of these things (and inevitably fail).

A good example might be the offset gear solution to mitigate arm backlash, or some of the more advanced construction styles mentioned, which would require a lot of experience to implement well, ignoring the machining capabilities required to make them precisely. Having been a rookie team not so long ago, I could definitely see us trying to implement something funky mentioned in the book, without the experience or manufacturing capabilities to do so with any degree of success.

I don’t necessarily know how this issue could be solved well (perhaps adding a section on designing for low resources and some sort of “don’t copy this unless you’re 100% confident” disclaimer on some of the mechanisms), but I thought it was worth mentioning.

That being said, this is an amazing resource, and I’m looking forward to reading over it from cover to cover!


We originally started the document in the fall of 2017. In the fall of 2018 we sent it out to the NASA house teams to collaborate with them on creating additional content. This summer we had a large push to get the document ready for public release which included writing the software section and additional mechanical and electrical sections.

All of the content was written by members of NASA house teams and by our summer Robotics Academy interns at JSC.

There is not a current schedule for updates but we will be updating as we see fit to add additional sections. Due to the busy nature of build season we likely won’t be doing many major updates during the spring. The most up-to-date version will always be at the link Lucien posted in the original post.

We would love people’s input on updates we should make and any additional sections that we should write.