Backstage: Firmware Development

"This is an interesting field covering everything from software development to electronics."

Oliver, Software Team Leader | Anton Paar GmbH

Technology has always been fascinating to me. After completing a technical college with computer science focus, it was clear to me to start working in a company that has “technological DNA”. This is why I started to work at Anton Paar. The focus on technologically excellent solutions can be seen in all areas of the company, from mechanics and electronics to software and the measuring technology itself. Firmware development plays a central interface role for all these disciplines.

A sensor is at the heart of every Anton Paar measuring device or analytical instrument. This can be the oscillating U-tube in our density meters, the magnetron in our microwaves, or the motors of our rheometers. Our sensors consist of mechanics and electronics. These electronics are controlled via the firmware and in this way “come to life”.

Firmware development at Anton Paar means software development that is close to the hardware. As opposed to regular software development, those programs don’t run on the PC based on an operating system but directly on a microcontroller.

The requirements for firmware developers are in many areas similar to those for software developers. In this field, a solid knowledge of computer architectures, data structures, and algorithms is mandatory. Due to the fact that Anton Paar’s measuring instruments are produced and developed further over the course of several years, maintenance plays an important role in firmware as well as software development. This is why we pay close attention to quality and employ modern development tools such as unit and integration tests, continuous integration, and automatic code analysis.

What is more, firmware directly interacts with the electronic components of our devices. For this reason, firmware developers also have to have or develop an understanding of electronics. You can start a debugger to find errors when it comes to regular software but this isn’t as easy in firmware development. Although there is also support in the form of a debugger, very often we have to observe signals with a multimeter, a logic analyzer, or an oscilloscope. The reason for the error does not necessarily have to lie in the program, it may be found in the electronics.

And this is one of the biggest challenges in firmware development. On the one hand we have to understand the high-level customer side of the matter (what does the customer want to do with the instrument?) and on the other hand we have to see, design, and implement the entire technological solution down to the very depths of the electronics.

During my time at Anton Paar I worked in the field of software development for five years and then immersed myself in the fascinating world of firmware development. Step-by-step I acquired the additional skills that firmware developers need. Thanks to interdisciplinary project teams we can learn from each other and also enter other fields. And because of the many experienced colleagues from other areas of expertise there is always an opportunity for exchange across project boundaries.