Learning the tools of the trade in Embedded Linux

Embedded Linux
When Johan Oedzes embarked on the Embedded Linux course at High Tech Institute, he wasn’t an absolute novice in the topic. However, reflecting on his journey, he confides, “I regret not taking the course earlier.”

“The combination of software and electronics has always piqued my interest due to the interaction with the tangible world,” says Johan Oedzes. This interest led him to the University of Twente, where he completed his Bachelor’s degree in electrical engineering and subsequently delved deeper into the field with a Master’s in embedded systems.

After graduating, Oedzes secured a position at a big company in Hengelo, focusing on C++ software engineering on Linux, albeit not in the embedded sense, he explains. “Although I learned a lot there, it started to bother me that I wasn’t working on embedded systems. I also felt that I was operating within the constraints that other people had thought out. I wanted to do the innovative and exploratory part of engineering too.”

One of his more experienced colleagues shared Oedzes’ sentiment and moved to Beeliners, based in Hengelo as well. The two kept in touch and his ex-colleague asked Oedzes whether he could share his contact information with the company’s owners. When commercial director Dennis Wissink called two years ago, Oedzes decided to take the plunge and he joined Beeliners as an embedded software engineer.

E-mobility

Beeliners immediately resonated with Oedzes’ interests, he says. “All our products combine a hardware design with embedded software engineering to create a prototype or deliver a proof of concept for our clients. Such projects may encompass compact medical appliances, intelligent gym equipment or innovative e-mobility devices. I’m currently working on a product in the e-mobility sector.”

One of Beeliners’ clients wasn’t satisfied with an externally sourced e-mobility control unit and approached the company for a solution. Upon the client’s request, Beeliners embarked on the venture of creating their own. The control unit links to two external systems: the e-mobility device on the one hand and the internet on the other. The internet connection enables communication with a backend server and reception of firmware updates.

“We separated the system into two parts,” Oedzes explains. “Everything that needs real-time behavior and has strict timing requirements runs on a subsystem with a microcontroller, interfacing with the e-mobility device. The code for the backend connection, the web interface and the product’s business logic run on an embedded Linux system with a C++ application.”

''Jasper asked me the right questions, like: what problem are you trying to solve, what threats do you want to protect against, is your web interface externally accessible? It’s actually all quite logical, but I learned a lot by reasoning about our product with him''

Flexibility

Despite having some experience in using embedded Linux systems from his studies at the university, setting one up was uncharted territory for Oedzes. It was during the e-mobility project at Beeliners that he self-educated and successfully created a tailored embedded Linux system based on the Yocto project. “You can find a lot of information about tools to create embedded Linux distributions, such as Yocto and Buildroot. It took some searching and experimenting, but eventually, we had a working system, even including functionality for remote updates.”

“At that time, Yocto felt like the most widely accepted solution. Renowned companies working on embedded Linux were using it and many software providers offer a Yocto recipe to create packages of their software with Bitbake. Recipes are a powerful concept, and it’s one of the reasons for choosing Yocto for this project.”

Because this was the first time that they created an embedded Linux system, Oedzes and his colleagues had some questions: “How do I know that my product is good? Does my embedded Linux system do what it’s meant to do? Is it secure?” Beeliners had progressed to initial field testing with a functioning prototype, but they wanted some validation of their approach before finalizing the product.

Embedded Linux

Initially, Beeliners thought of hiring external expertise for a comprehensive evaluation. However, they wanted a quicker, lighter approach and preferred building this expertise internally, Oedzes emphasizes. “This quest for knowledge led us to explore training options. Given a prior positive experience by one of our colleagues with High Tech Institute’s ‘Good software architecture’ course, we went looking for a similar program for embedded Linux, and we found that they had one.”

''If I had enrolled in the course earlier, maybe we would have still chosen Yocto, but we would have certainly given more consideration to Buildroot.''

As Oedzes wasn’t an absolute novice in embedded Linux, he wondered whether the course was relevant for him. “We engaged in a conference call with Jasper Nuyens, the course’s trainer, who listened to our questions. He concluded that we were well on our way but had some knowledge gaps on embedded Linux basics and rules of thumb in this domain. He also reassured us of the course’s flexibility to accommodate our specific questions.” Consequently, Oedzes enrolled in the embedded Linux course.

Better decisions

While attending the embedded Linux course, Oedzes continued to benefit from Nuyens’ experience. It revealed to him that Buildroot would’ve possibly been more suitable for his use case. “If I had enrolled in the course earlier, maybe we would have still chosen Yocto, but we would have certainly given more consideration to Buildroot.”

Yocto excels in use cases where various devices each require some hardware-specific configuration as well as a common part. You can then build a Yocto project with various subconfigurations for each device to create a custom Linux image, Oedzes explains. “This is a powerful approach, but we didn’t need this for our use case: it has one device and just a couple of minor hardware revisions. Yocto wasn’t a bad choice, but in the course, I learned that Buildroot would have been a better fit.”

The course also allowed Oedzes to discuss various security aspects of his e-mobility project. “Jasper asked me the right questions, like: what problem are you trying to solve, what threats do you want to protect against, is your web interface externally accessible? It’s actually all quite logical, but I learned a lot by reasoning about our product with him.”

In retrospect, Oedzes would recommend potential participants to start earlier with the embedded Linux course than he did. “If you know that you need an embedded Linux system in your product and have some C/C++ programming experience, the course has immense value. Jasper covers various options and explains for which use cases each of them is suitable.”

Oedzes also found Nuyens’ explanation of cross-compiling software for another target architecture quite good for beginners. “Yes, figuring this out yourself is possible, but if you’re starting with embedded Linux, a course like this provides an encouraging head start and warns you about common errors.”

Even though Oedzes had previous experience with embedded Linux, the course armed him with important tips and insights. “I familiarized myself with new tools and gathered Jasper’s valuable advice about our e-mobility project. The experience of our current project coupled with the insights from this course gives me much more confidence for making better decisions for Beeliners’ future embedded Linux projects.”

This article is written by Koen Vervloesem, freelancer for Bits&Chips.

Recommendation by former participants

By the end of the training participants are asked to fill out an evaluation form. To the question: 'Would you recommend this training to others?' they responded with a 8.5 out of 10.

Quantifying the ROI of secure coding trainings

Return on Investment for secure coding trainings
How do secure coding trainings influence real-world ROI? Delve into a transformative approach and its tangible business outcomes.

In the business domain, agility is essential. A transformative approach is to perceive employees as human capital rather than mere resources. The critical investment lies in focused training – especially when it comes to secure coding tranings. The returns are multifaceted, as it nurtures a workforce equipped to steer the organization toward progress. By valuing and developing the human element, organizations pave the way for sustainable growth and success.

By filling out this form you will be redirected towards the online article about how to measure your business outcomes from Secure coding trainings.

 

“Technical knowledge wasn’t enough, I needed to see the big picture”

Sebastian Pricking from the German company Trumpf knows what he’s talking about when it comes to lasers. Yet when he was promoted to lead the development of a new fibre-based laser, technical knowledge alone wasn’t enough. He had to step into the world of system architecting. That’s why he took the Systems architect(ing) course at High Tech Institute.

Trumpf is one of Germany’s hidden champions. Even though it’s not a household name, the Trumpf Group builds high-tech machines for clients all over the world, and employs more than 16.000 people doing so. Key to the group’s success is that since their founding in 1923 they have been family-owned.

“We work on innovations where we might have to wait five to ten years before we see a return-on-investment”, says Sebastian Pricking. “If your company is listed on the stock market, looking that far ahead isn’t always possible.”

system architect(ing)
Photo credit : André Boden (Trumpf)

Pricking works in the laser development department at Trumpf. “We develop the concepts and do basic research”, he says. “We have other colleagues that specialise in the CAD designs and software. My team takes care of the system interfaces, the fundamental principles, and the basic concepts.”

They for example design the optical layout of a new laser. “We decide which kinds of mirrors to use, the coatings on the lenses, and so on, based on simulations and lab experiments”, says Pricking. “The actual mechanical integration is done by another team.”

''This course gave me the tools and the framework which allowed me to see the big picture, and make sure I hadn’t forgotten anything.''

Fibre laser

Pricking’s team works on solid-state lasers. These include YAG-based disks, but also fibre-based lasers, where the active medium is an optical fibre. Pricking currently heads a team that designs a new fibre-based laser.

The main applications of Trumpf’s lasers lie in industry, where they are generally used to treat metals. “Welding and cutting are some of the main applications of these lasers”, says Pricking. “One of the biggest industries we serve is automotive. Electromobility in particular is driving growth here. In the construction of batteries and electro-motors a lot of laser processes are needed. That market is growing significantly now.”

Lasers have been used for a while in those applications, but that doesn’t mean there isn’t more technological development to do. “Parameters like power and beam quality are still improving”, says Pricking. “We are also focusing on new features. We for example develop pulsed lasers. Here the light isn’t continuous, but comes in pulses with a higher peak power. That means that we need to time the pulses exactly right for the customer’s application.”

“We are definitely capable of offering suitable power levels for all the standard processes”, he says. “Solid-state lasers provide a broad range of power levels with an excellent wall-plug efficiency. One of our designs is a disk laser, which offers up to 24 kilowatt of infrared laser light.”

A disk laser has a thin active medium, which is placed on top of a heat sink. This solves issues around cooling. “In the past the active medium was often shaped like a rod”, says Pricking. “But that caused problems with the cooling, because it’s harder to apply a proper cooling to get the heat away. There are two possible solutions to this. Either you take the rod, and press it into a disk-shape, so the heat escapes more easily due to the increase surface. Or you take it and pull it, so that it becomes a fibre-based laser. We offer both of these designs to customers.”

''The entire experience was very entertaining. Me and the other students had dinner in the evenings, which allowed us to exchange experiences on how they do things in their companies.''

Architect

Pricking only recently took on the position of lead in the fibre-based laser team. Which is why he followed the Systems architect(ing) course at High Tech Institute.

“I’m originally an experimental physicist”, says Pricking. “I can do the lab work, I can simulate and calculate all the necessary effects. But when I took over the team, my work changed. I had to collect the requirements from the stakeholders. I had to make chains of tolerances. I had all these interfaces which I had to organise. I had to make sure everything fit together. I needed to be a system architect. The issue was not the technical aspects of the job, but how to organise the design. The training ‘Systems architect(ing)’ gave me the tools and the framework which allowed me to see the big picture, and make sure I hadn’t forgotten anything. The framework showed me where I was on the right track, and where something was missing. It allowed me to close the gaps.”

The course taught the student how to apply the CAFCR framework.

“It allowed me to orient myself”, says Pricking. “I assume there are other, competing, frameworks as well. But this one fits our way of working nicely. It confirmed we were on the right track.”

Besides the content, Pricking also liked the way the course was taught. “I liked the mixture between, on the one hand, the experimental and group work, where you for example present the group’s results to solve a given challenge. And on the other hand, theoretical presentations about the model and how it works. The course took a week, and it was filled quite nicely. The entire experience was very entertaining. Me and the other students had dinner in the evenings, which allowed us to exchange experiences on how they do things in their companies.”

During the course ‘System architect(ing), the teaching team was responsive to the questions from the students. “I for example asked about which software can be used to apply this framework”, says Pricking. “The teacher mentioned that it wasn’t part of the course, but he still offered me a list of software tools we could use, together with the advantages and disadvantages of each.”

The lessons he learned during the course he now applies to his job. “With this new background, I checked everything again”, says Pricking. “I applied the model to the project. I saw that there were a few gaps, which we closed rapidly. This course helped us improve our laser concept. Our next project will for sure use this framework from the start.”

This article is written by Tom Cassauwers, freelancer for High-Tech Systems.

Recommendation by former participants

By the end of the training participants are asked to fill out an evaluation form. To the question: 'Would you recommend this training to others?' they responded with a 8.4 out of 10.