Prototyping and code generation for product development
For product development I deliver a large share in the initial R&D up to code that can be directly integrated into an end product. The following phases are typically covered for each project:
1: Initial research
You have a fantastic idea or vision for a product to measure, calculate or make something. First you like to know if it will work at all. With my mechanical engineering and research background I am happy to help you understand the mathematics, physics and uncertainty of your idea. To study the manufacturability of your idea, I start with systems engineering to quickly minimize the risks of development. This phase mainly produces scripts and diagrams.
During the (continued) development of products I use prototyping software. These prototypes are often separate functions or entire dashboards with which sensor data can be processed quickly and in a reproducible manner. These dashboards are often part of the delivery to the customer as an integral part of the development. this enables the whole team to process new data and research results directly.
3: Code generation
Being an engineer, I usually work with Matlab because it allows me to switch very quickly in the first 2 phases and test new ideas. However, you cannot apply Matlab code 1 to 1 in embedded systems. Fortunately, Matlab offers very nice toolboxes to automatically generate C and C++ code that does exactly the same as the Matlab code. In this way I deliver C and C++ code that sometimes has to fit on a SoC with less than 128 kB and sometimes contains more than 60,000 lines of C without translation errors.
4: Integration with hardware
The C or C++ code needs to work in an embedded system or in other hardware such as smartphones or tablets. To ensure that the code is stable at all times and is implemented correctly by a third party, I provide version management and CI (continuous integration) solutions that are shared with third parties that process the code in their (embedded) products. In addition, I also help search for these types of parties if they are not yet present in the project.
Example: Werkman Black
I have been involved with this product since 2016 and it is still being developed. Thanks to the prototypes, Werkman is able to quickly investigate new possibilities and perform extensive analyzes. View the project on the Projects page: