Rapid prototyping is a great way of researching concepts for new products. Recently I got the task of making a proof-of-concept for a Bluetooth device that needed to communicate with smart phones. In a matter of weeks I could present a interface hardware written in C++ and Arduino, together with a rather simple but fully functional mobile app.
When developing new features for marine applications now and then I have the opportunity to work with solving complex problems. Sometimes the solution to those problems are sufficiently good to be patented. I have written numerous internal innovation declarations and a few of them have made it further than others. Right now I am the sole inventor of one patent which is pending in Sweden, and also co-inventor of two patents being filed by one of our company partners (patents also pending).
I have been responsible for automating a large portion of the software build environment for Cpac Systems marine products. Basically new software is built by an automated build server every time someone commits new code to the software repository, but also on request when a software release needs to be done. I have automated the build and release processes piece by piece and now (with a few exceptions) we can release a new software for a large batch of products in a matter of minutes, compared to before when a software release could take a day. The reason for this is Python scripts that handle the complete build and documentation process of every software, which is done in parallell for a multitude of products. Before this process would be done by individuall software programmers for "their product" on build day.
I like automating boring tasks, and one of them sometimes is integration testing. At Cpac Systems I have been writing scripts and configuring hardware for automatic testing of Electronic Control Units (ECUs). Basically connecting the essential control units for running a boat to the same system, and writing automatic test cases that perform hardware-in-the-loop (HIL) tests. All of it connected to Jenkins Continous Integration server.