The Strongest Constraints Perceived in Embedded Projects

9/2/2024

The embedded systems world offers a dynamic landscape where development teams, driven by the rapid rise of new technologies and constrained by environmental requirements, face numerous challenges and opportunities.

To better understand them, we engaged with several professionals from industries beyond software alone. The experts we interviewed came from a variety of sectors — banking, healthcare, industry, automotive, defense, robotics — each offering a perspective that is at once shared, yet unique and specific to their field.

“The Major Challenges of the Embedded World” is a series of articles based on a qualitative analysis of interviews with embedded systems professionals. We highlight significant trends and specific issues encountered, allowing us to envision the future of this field.

This theme takes us deep into embedded systems trends, giving companies a voice on how they overcome the sector’s obstacles and challenges. The first article in the series focuses on the most pressing constraints perceived in embedded projects.

1. Verifying software robustness: a time-consuming but essential task

Robustness testing is a major concern. Though often seen as repetitive and burdensome, it is increasingly demanded — particularly in medical devices, as well as in the automotive and aerospace sectors where software is more and more present in embedded systems.

Testing is often considered a constraint, adding extra time to overall product development. In addition, the relatively recent rise of software testing in these domains raises a key question: how do you test software performance on the hardware platform that will run it, and ensure traceability between product requirements and technical implementation?

Yet testing is crucial: it determines whether software is robust and functioning correctly, and it demonstrates the product’s safety and reliability.

Ensuring software reliability helps prevent blocking bugs, such as concurrent access issues, shared variable problems, external peripheral conflicts, or memory access contention. To avoid such bugs, static analysis verification tools are essential. Even if testing feels time-consuming, clients may ultimately demand additional testing, making this phase unavoidable.

Testing is perceived as a burden, but it remains indispensable to prove software is robust, reliable, and secure.

2. A lack of expertise slows project progress

One limitation that emerged strongly in discussions with experts: a shortage of expertise and available resources.

The embedded world requires diverse, specialized skill sets, yet the market struggles to keep up with demand. Companies need knowledge in firmware, hardware, applications, testing, and cybersecurity — but it’s rare to find individuals proficient across all domains with deep expertise in embedded systems.

Meanwhile, systems themselves are growing increasingly complex — microcontrollers, microprocessors, and FPGAs are more sophisticated than ever. Few professionals are capable of programming complete chains end-to-end (UI, sensors, servers, etc.).

Even when talent is available, time is lacking. Developers face high workloads and difficulties in scheduling. This shortage of expertise and resources significantly impacts embedded project development, making it a critical challenge for the industry. Engineering training programs and targeted skill development are urgent needs.

3. The rapid rise of new technologies causes concern

The explosive growth of new technologies also raises alarms.

Artificial Intelligence (AI) is a factor to reckon with. While some companies integrate AI into their tools, concerns are widespread about data collection by third parties, cybersecurity issues, and the quality or ownership of generated code.

Communication between subsystems within complex systems is another reported constraint. For example, vehicles often require multiple communication standards across different hardware (e.g., ISO 15118). Wireless standards are still lacking, and additional complexity arises when linking embedded systems to cloud services.

In transportation, onboard networks such as CAN and Ethernet add further constraints when communicating with control units.

4. Balancing application performance with costs

The demand for application performance can be challenging, even with powerful devices. In industrial sectors, performance requirements often lead to rising costs.

Some reduce costs by choosing cheaper components (especially in high-volume production), while others maximize functionality within limited compute and memory capacities. Real-time requirements, particularly in networking or signaling systems, impose further heavy performance demands.

Developers must therefore find compromises: for example, selecting the processor core best suited to required computations rather than using a resource-hungry x86 architecture for something as simple as a FIR filter.

Performance vs. cost remains a delicate balancing act in the embedded world.

5. Constraints unique to specific domains

Some constraints are highly specific:

  • Incomplete specifications can waste time during development.
  • Electronics supply chain challenges can slow projects.
  • Code quality affects development time: the lower the code level, the deeper the expertise required for energy-efficient design.
  • Environmental factors such as high operating temperatures limit heat dissipation.

Other challenges include project autonomy, long software development cycles, and strict environmental requirements.

Let’s discuss!

This article is part of the series The Major Challenges of the Embedded World. It is based on a qualitative analysis of interviews with embedded systems professionals. We thank them for sharing insights that highlight the key trends and challenges shaping the future of embedded systems.

Sources: Florian Tachon, Sébastien Salmon, Olivier Marliac, Thomas Bernard, Julien Caulier, Romaric L’hernault, Alexandre Lanquar, Ghais Fanari, Mathieu Muller, Eric Pages, Dahbia Agher, and Pierrick Boissard.

Ready to optimize your embedded code?

Get started with WedoLow and see how we can transform your software performance