Development of Embedded Products

Development of products in the broadest sense of the word. Taking into account manufacturability, testability, mechanics, electronics, and firmware.

A selection of products and projects developed.

Projects

A bit more about myself

About

I’m Lukas, a developer of embedded systems who looks beyond just the firmware. My broad interest in technology has led me to work on not only the firmware for various circuit boards at Schoonderbeek Elektronica Systemen but also the design of the complete system architecture, aesthetics, and manufacturability. From discussions with our clients to ensuring a product is production-ready, I’m involved in every step of the process.

The products I’ve designed are manufactured in large quantities in-house at Schoonderbeek. Being so closely involved in both development and production allows me to quickly identify opportunities for improving manufacturability.

Another benefit of working so close to production is having access to production tools for experimentation. For instance, I frequently spend time working with the CNC milling machine to test out ideas.

Because no developer can ever have too many tools...

Tooling

With a well-stocked toolbox, you can tackle many projects. It's partly mental, but also physical. By using a wide range of tools — a compiler, 3D printer, CAD software, a soldering iron, and many others — I'm able to do my job and turn creative ideas into real solutions.

The Preferred Embedded Programming Language

C++

Most of the embedded software, or firmware, that I write today is in C++. Even in embedded systems, C++ offers several advantages. Features like lambdas, templates, and object-oriented programming allow for more efficient structuring of larger projects. However, the C++ Standard Template Library (STL) is not well-suited for embedded applications, so I prefer to avoid using it. Additionally, most of the applications I develop do not rely on the heap or exceptions.

While some believe C is better suited for embedded systems, I disagree. In my experience, C++ leads to clearer code and improved scoping, which enhances both development efficiency and the maintainability of firmware. By avoiding STL and exceptions, the runtime overhead of C++ becomes negligible, especially since modern compilers handle C++ exceptionally well.