Modular Documentation for Open Science Hardware

Hello all, I am hoping to pick the brains of some of you who are more informed than myself on the topic of OSH. I am currently working on an open science hardware project, we obviously want the project to be reproduceable, however there will be a lot of flexibility and variation in the potential end product.

We want to allow these other users to document and publish their own instructions for their “modules”, the end goal being a UI which will pull the correct documentation depending on the setup the user has.

I have delved into different software such as DocuBricks which would allow people to create their own “Bricks” which could then be pulled. This tool was almost perfect. The issue here is that it lacked a method for multiple people to update the same “Repository” and add their own bricks to a project without downloading the entire project and reuploading themselves. As far as I can see it also seems to have ceased development.

Are there any tools which work in a similar way to this? I have also looked at WikiFactory and GitBuilding.

I have considered other traditional options such as GIT, this tool however can be intimidating for those who are not familiar with the tool. I could build a program that handles the creation of documentation but pushing their work may still prove to be awkward for some users.

Any help guidance would be greatly appreciated, and I hope any discussion from this might be useful for others looking at platforms to use.


Hi Matt,

Modular documentation is the focus of the next release of GitBuilding.

While GitBuilding did support different configurations of the same device reusing instructions, there was a lot of work when doing modular documentation to manually track what goes into each piece. This was a known issue for some time.

In GitBuilding v0.15 (there is an alpha release with these features) we have added functionality which allows you to to document the assembly of each possible module, and then create a final assembly page which tags these modules. GitBuilding will then automatically include these instructions into the documentation, sorting out the order.

The functionality is not well documented yet. But there is an example of it being used in this merge request for the Nimble example documentation

A few details of the new functionality can be found in the associated merge requests, (MR187 and MR195).

Would be happy to chat about the new functionality in Gitbuilding, and how it may help with this project.


Wow thanks Julian,

I really appreciate you taking the time to reply.

This sounds very promising. I had mentioned GitBuilding as it was definitely a tool we are considering for the project. The project is currently EU funded for the next three years and at this stage my team must present as many viable solutions as possible, with a description on why they are/ are not suitable for our project.

As I am very new in the field of OSH, and in fact hardware in general, I’d definitely love to take you up on your offer to chat about the functionality in Gitbuilding.