Pieter Hijma - Fab Academy 2023

About me

Welcome to my personal Fab Academy 2023 website! My name is Pieter Hijma and I'm following Fab Academy at Waag Amsterdam with Henk Buursen as my instructor. I live near Amsterdam, have a girlfriend, my 2-year-old son and a cat named Turing .

As you may be able to tell by now, I'm a computer scientist. I have a PhD in the field of High-Performance Computing and my research interest was centered around how to program GPUs and supercomputers with GPUs effectively. In particular I was interested in how to satisfy the contrasting requirements of high-level programming for efficient programming and the requirements of low-level programming to achieve high performance.

I'm a strong proponent of Free Software and for pragmatic reasons I call it Open Source Software. This interest led me to Open Source Hardware and one year and half ago, I got a chance to do research in the context of the INTERFACER Project in Hamburg. I'm responsible for one of the work package related to software tools for Open Source Hardware.

In this project, I mainly focus on research into an important topic for Open Source Hardware, namely documentation. Another big part of my tasks in the INTERFACER Project is setting up the Open Toolchain Foundation in collaboration with Open Source Ecology Germany . I discuss these two topics below.

Automated Documentation for Open Source Hardware

I do the research on automated documentation together with JC Mariscal, a Fab Academy Alumnus . Our research is in collaboration with JC's instructor Daniele Ingrassia (his Fab Academy page).

Daniele is working on the Open Lab Starter Kit , a set of open source machines for Fab Labs. Together with two employees, Daniele created a beautiful assembly manual for the Fabulaser Mini laser cutter . Creating this manual took several months with three people to set up.

Our research tries to achieve the same level of quality by generating the assembly manual automatically based on a textual specification and the CAD design. This textual specification has "semantic links" with the CAD design of the machine or product and by combining the information from the textual specification and CAD design, we are able to automatically generate an assembly manual. Check our software and some other material including videos that demonstrate our work.

The Open Toolchain Foundation

The Open Toolchain Foundation is a non-profit foundation that aims to support the software toolchain behind manufacturing goods, from CAD software to firmwares. The foundation has now been established and will be officially opened in a month or so and we have funds available for software development. We are still in incubation phase but I'm really proud of our achievements so far.

My interest in Open Source Hardware is the motivation behind my efforts towards the Open Toolchain Foundation. For example, although Daniele's Open Lab Starter Kit is Open Source Hardware, they are still designed in proprietary CAD tools, therefore limiting the openness of these tools. I hope that in a timespan of ten years perhaps our foundation will have contributed to opening up the toolchain for production, manufacturing, and engineering, not only for Open Source Hardware, but for all kinds of engineering.

Motivation

My motivation to participate in the Fab Academy program stems from my research into automated documentation and my interest in open toolchains. Our research has only focused on assembly manuals, but Open Source Hardware requires much more information, such as machine settings, firmwares, user manuals, design motivation, schematics for electronics, etc. Following the whole Fab Academy program brings me into contact with all of these facets and allows me to study how to automate these things.

The fact that the Fab Academy program has a strong focus on documentation is also very interesting to me, although I seem to have a somewhat different opinion on documentation than the common opinion. I will discuss this below.

Another aspect I can study is the level of maturity of the Open Source toolchain that I will become acquainted with during the program. I can follow other students using proprietary tools, compare my progress with them and I can study the level of maturity of these tools first-handed. This will hopefully give me insights to direct the Open Toolchain Foundation towards the most pressing issues.

Documentation

In our research, we did an extensive review of the literature regarding documentation of physical artifacts. Firstly, documentation is crucial for Open Source Hardware: without documentation, no Open Source Hardware. I would even go so far to say that documentation is the Open Source Hardware. The physical artifact is merely the product of applying the documentation.

In general two means of documentation are described: "document-after-the-fact" and "document-while-doing". Fab Academy obviously focuses on the latter, but both have benefits and drawbacks. Document-after-the-fact has the obvious drawback that you may forget important information, but the benefit that you don't document unnecessary things. However, what may seem unnecessary, could be crucial to the understanding of someone else, so it is clear that there are trade-offs.

Document-while-doing has the obvious benefit that everything is documented at the moment that your memory is fresh. However, you may document irrelevant things and you may document much. Perhaps a larger drawback is the necessity to constantly switch between "designing mode" or "problem-solving mode" to "documentation mode", distracting you from solving problems. Additionally, document-while-doing requires much discipline.

The benefit of graphical information is undisputed, but a well recognized problem in the documentation process is taking pictures of the progress. With evolving designs in Open Source Hardware, the pictures tend to get outdated and keeping them up-to-date requires much discipline. In addition, it is well recognized that the process of incorporating pictures is very time-intensive. Therefore, in our research, we refrained from using pictures and used the CAD design for visual information.

In Fab Academy there seems to be a large focus on taking pictures for documentation purposes. I'm curious to discover if I can minimize the use of pictures and make use of CAD designs instead, for example.

For Fab Academy, I want to use the same system that we use for Open Source Hardware documenation, capturing semantic relations with CAD files, etc. Having my own system may allow me to automate the incorporation of pictures into the documenation.

It is a bit unclear what the purpose of documentation if Fab Academy exactly is: is it replication, is it checking your progress as a student? The assessment guide is actually quite clear why you document:

Imagine that one day you need to reproduce all of your assignments. You have no internet, no-one is able to help you. You have only your fab academy archive folder and the resources within the fab lab. Ensure that you have documented everything in enough detail in your archive so that you can do this easily.

So, this seems to focus on replication, but a less stringent variant than Open Source Hardware requires, where you document for someone else. This doesn't make a distinction between skills and information. To be able to do the above, you don't have to document skills that you acquire by practicing, for example soldering. Typically, if you document for Open Source Hardware, you would list the skills that are required to replicate the hardware.

I think I'm going to focus on documenting for someone else reproducing all of my assignments in my fab lab. This allows me to investigate the limitations of documentation more thoroughly and it allows me to make a distinction between what makes sense to document and what not.