Documenting the reasoning behind decisions and their execution is a challenge on any team project, but absolutely required if all team members is to be on the same page. I’m sure there were a lot of JPL documentation to make sure everyone understood exactly why everything on Curiosity rover (wiring included) was the way they were. But while spacecraft projects can have a documentation system the entire engineering team is expected to follow, a public project on the internet has to cater to a wider audience.
This was a problem I knew about as soon as I decided to share my Sawppy rover design with the world: I have to assume my readers will have varied backgrounds, and I would not know what is and isn’t obvious to other people. Everything seems simple and straightforward to me, since I designed and built this little motorized rover model on knowledge level I have. But if I want to make Sawppy available for others to build, I have to communicate my design so that someone who doesn’t live in my head (that should be none of you) can build their own Sawppy even if they didn’t know everything I did. And just as expected, I was not completely successful.
I created Sawppy piecemeal, designing and printing parts of a subassembly until they worked together before moving on to another part of the design. However, some rover builders would print all the parts I published before starting assembly, which meant they ran into a problem that caught me off guard: tracking these parts and their proper roles in assembly. I thought I addressed this by making sure Sawppy’s Onshape document is public for people to reference, but it was not quite enough. Some superficially similar parts still caused confusion.
For something like the JPL Open Source Rover, which is built from ServoCity Actobotics components, the instructions can assign designations to parts using Actobotics descriptions. However, for Sawppy’s 3D-printed parts, all I have are their names in Onshape which I carried through to the STL file names. But once printed, that association is lost. I had no problems with this since I knew each part by heart, but I neglected to consider others would not have that knowledge.
The solution is to make sure part identifiers are imprinted on the part somewhere, so they are readable after they are removed from the 3D printer and more importantly available for reference during assembly. This is something I hadn’t thought of but, upon reading the excellent article on Hackaday by Joshua Vasquez, I realized it is an excellent idea and I must incorporate it for future Sawppy parts.