Why Is Embedded Software Development Still so Hard?

Homepage Why Is Embedded Software Development Still so Hard?

With all the advancements in tech and tooling, you would be forgiven for thinking that embedded software development was easy, or at least easier.

Sadly, this is not the case. What is happening in the world of embedded development and how can we simplify things for OEMs?

Fortunately for you, Witekio CEO Samir Bounab sat down with Olivier Bloch at the IoT show to discuss this, and more.

Discover the state of IoT in 2024, learn why embedded software development is still hard, and find out what Witekio is doing about it in this fascinating interview.

Samir also answers the question on everyone’s lips, what exactly is the edge?!

You can watch the full interview here,👉 or read the highlights below.👇

Defining 'The Edge'

Having worked in telecoms before embedded and IoT software development, Samir is well placed to understand customers’ needs and those of the solutions providers. One thing that can obstruct that learning is the lack of consensus on certain terminology, buzzwords especially.

For many, the edge refers to servers or gateways to networks. There is even a division between “light edge”, such as small gateways, and “heavy edge”, which can be routers or other big servers.

So what does Witekio mean when it talks about edge devices? For us, edge devices are simply devices at the end of a network. This could be a coffee machine, a handheld device, or even a crane, anything developed by an OEM who wants to innovate on a connected product. As edge devices are closer to the source of data generation, or even are the source, they can perform certain tasks locally at greater speed and efficiency than by relaying them to a cloud server and back again. Striking the balance between which tasks are better performed locally or on the cloud takes a detailed understanding of IoT development.

Need help with your embedded development?

The State of IoT today

When asked what he felt was the biggest shift in embedded development, Samir was quick to answer; MPUs!

Previously, the bulk of embedded development took place on MCUs. Lightweight, low power, limited function. Great for traditional embedded development. This has all changed, thanks to two main factors:

  1. The cost of MPUs has plummeted compared to what it was 10 years ago
  2. The market expectations of end users are much higher, with graphical user interfaces and smart features a norm


Together, these shifts have pushed MPUs into the limelight, giving OEMs more options to innovate. A product that would have had a mechanical interface 10 years ago now has a touchscreen and connectivity support. The more sophisticated the function, the more likely that an MPU will be the best way to power it. As you can imagine, the increasing demand to include high-end software in edge devices has led to some interesting software challenges.

Life at the edge is tough

Another common, and fair, misconception is that the increasing use of MPUs would lead to a greater likelihood of using operating systems like Windows and Linux, which in turn means using more well-known technology solutions.

More well-known = more easy, right? Sadly not. Despite this change, embedded is still hard. So why is it that this blending of worlds isn’t (yet) leading to a smoother ride for OEMs?

1. Form Factor

If there is one thing that helps explain the standardization problem, it’s form factor. Regardless of what’s inside, a laptop is always a laptop, the same goes for a mobile phone. But embedded devices vary wildly.

From cranes to exoskeletons to medical devices, there are so many variables in embedded development that demand custom solutions. Environmental conditions, space, weight, and use case all differ from project to project.

Standardization and innovation do not always go hand in hand.

2. Volume

Setting standards that apply across millions of devices isn’t so straightforward in embedded development, because there rarely are millions of devices!

On average, an OEM will produce around 5-10,000 edge devices per year, 100,000 max. This big difference in volume drives design choices that will be different from a laptop or smartphone where you have millions of devices or even a car where you have different scalability.

What about BSP development?

In years gone by, OEMs would take a ‘chip down’ approach, designing everything around their chip selection.

This could lead OEMs down bottlenecks or into traps, but things are simpler now. The introduction of system-on-modules (SOMs) has enabled some hardware standardization and saved OEMs months of hardware development time.

Surely these standardized modules have made BSP development easier? Well, yes and no.

Rather than standardizing software, SOMs tend to facilitate more sophisticated software instead. BSP development for modern edge devices must account for so many software aspects that need optimizing or customizing that time saved in hardware selection is often eaten up in software development.

This state of affairs is not ideal for OEMs, so what is the solution?

Witekio's Answer

While it is not a given, most embedded projects use Linux or Yocto, which afford more freedom in development. This freedom comes at a cost, namely customization complexity, lack of central editorial support, and long-term maintenance challenges.

To help ease this pain, Witekio has developed a toolkit for those who want to handle the bulk of their development in-house. Our Yocto-based solution, The Embedded Kit, gives OEMs the freedom they crave. Once purchased, you own the source code outright. This not only accelerates development but also addresses the ongoing challenges of maintenance, cybersecurity, and updates while ensuring that OEMs retain control over their intellectual property.

Embedded development is hard, but that’s because OEMs continue to innovate and drive technological progress. Witekio has supported OEMs in this quest for the past 20 years, from full-scale custom embedded development services to off-the-shelf toolkits.

However, developing and retaining the required skills to develop in-house is no easy task for device-makers looking for customization as well as speed. That’s why we have put together our Linux Fast-Track Service. With our Fast-Track Service, you get the best of both worlds, as we combine our embedded toolkit with a tailored setup, giving you your own custom Yocto kernel within a month! With our packaged service you have everything you need to get your device to market without sinking time and resources into in-house development. As always with Witekio, you keep full control of your IP no matter what you choose.

Whether you need comprehensive support with architecture and development or just need the tools to go it alone, Witekio is your end-to-end partner. Kick-start your embedded development today with Witekio.

Speak to an embedded development expert today

On-Page Form
Patrick HADDAD - Copywriter
22 January 2024