the new gasoline
Embedded software brings cars to life. But creating the code that constitutes the nervous system of a modern vehicle is a complex process with no room for delay or error. For ESR Labs, this constant struggle is part of the appeal of embedded automotive.
When the Apollo 11 mission took humankind to the moon in 1969, the guidance computer installed on the command module and the lunar module ran on nearly 145,000 lines of code. Half a century later, a modern car – depending on who you ask – runs on around 150 million lines of code: three orders of magnitude more for driving to the office than for flying into space.
The debate over whether lines of code are an ideal measuring stick for the complexity of software can go on longer than the Apollo 11 mission itself did. But without a doubt, the complexity, as well as the relevance of embedded software in the automotive industry, is growing exponentially. Most people know software as something that changes pixels on a screen, like a smartphone app or a program on their PC. Embedded software is software that interacts with the physical world. Google Maps might show you the way to your next appointment, but it doesn’t get you there. Embedded automotive software tells the car what to do. But for this to work, the software has to take into account the driver’s input as well as signals from an increasing number of sensors in and around the car. From the front bumper to the back seat, from deep within the engine to an antenna on the roof.
An orchestra of
“There are dozens of Electronic Control Units (ECUs) in a modern car,” explains Julian, Head of Testing at ESR Labs. “One of our specialties is developing gateways that make all these individual minicomputers play together nicely without getting into a fight.” And just as the gateway has to orchestrate the various ECUs, ESR Labs has to orchestrate the various specialists it employs. There are experts for memory optimization and software architecture, for security testing, and for circuit board design. “The times of the generalist developer who can do everything are over,” says Frauke, Safety Engineer at ESR Labs. “But no matter how difficult a task or how stubborn an error, we will always find somebody on our team with the expertise to handle it.” Not every developer at ESR Labs can operate an oscilloscope or a Lauterbach debugger. But there is always someone within reach who can – and who is ready and happy to help. One project ESR is especially focused on is its platform for over-the-air (OTA) software updates. While it’s a given that nowadays many devices – from smart speakers to agricultural equipment – can gain new features or capabilities by wirelessly uploading new software, this is still impossible for most cars. ESR’s end-to-end update platform allows to keep a car’s software current and, therefore, safer and at the best possible level without taking the car in for an inspection.
In the field of embedded automotive, safety plays a critical role. While embedded software engineering has found its way into toasters and washing machines, the stakes are much higher if the software is responsible for keeping a family safe as they’re barreling down the Autobahn. “Even the slightest mistake, like releasing an airbag without it being necessary, can be deadly and has to be avoided at all cost, while at the same time making sure it is released 100% of the time an accident occurs,” says Julian. And while a washing machine can take a couple of seconds to figure out what exactly is going on when an error occurs, in embedded automotive everything has to happen in or near real time.
Making good software
a priority faster
The core team of ESR Labs first worked together at an automobile manufacturer and then at a tier 1 supplier before they started their own company in 2012. The automotive industry’s commitment to software development – and to making good software a priority – was going too slow for the group’s taste. Today, ESR is delivering results for companies from BMW to Volkswagen, from Bosch to Continental. In the years since their leap of faith, they have proved, again and again, that effective software solutions can be developed better without a huge overhead or the corporate politics of a traditional automotive manufacturing giant. “Embedded automotive used to be a very unattractive niche for software developers,” remembers Gerd, one of the founders and now CTO of ESR Labs. “It didn’t get any love – from the car companies or from the development community.” ESR Labs made a point of seeking out the best developers who otherwise might have taken on more prestigious jobs at a sexy startup or a powerhouse like Apple or AWS. Its method, then and now, is to offer them an ideal playground for their programming skills, technical curiosity, and love for tinkering – whether at a computer keyboard or with a soldering iron. “Thanks to autonomous driving and AI, the field of embedded automotive has become much more attractive in the last few years,” says Gerd. “But that doesn’t mean we aren’t still just as picky when it comes to selecting the best of the best.”
Time for play
ESR Labs is certainly profiting from the old rule that grade A developers attract grade A developers – and it’s doing everything in its power to keep it that way. Knowledge is shared in monthly lab sessions as well as in shorter rapid-fire talks called “5x10s.” New technologies are pushed forward – often long before customers demand them. Instead of relying solely on one-size-fits-all solutions like AUTOSAR, which in some cases are not optimally suited, ESR is permanently developing its own customized platforms and frameworks like its embedded container runtime called Northstar or a log viewing and analysis tool called Chipmunk. But there is also time for curiosity and playfulness: From time to time, the company gets together for special challenges like building and programming a space rover that can complete an obstacle course.
Compared to a slick music-streaming platform or a glossy shopping website, embedded automotive with its many constraints in terms of space, memory, and reaction time – to name just a few – is kind of an ugly beast. But that’s exactly what fascinates the developers at ESR Labs. Taking on challenges and overcoming them is the primary motivation, as is finding solutions for problems that have everybody else throwing up their arms. Seven years before the crew of Apollo 11 made it to the moon, US President John F. Kennedy gave a speech in Houston, Texas. In the speech announcing the endeavor, he precisely explained the same fascination that motivates ESR Labs: “We choose to go to the Moon in this decade and do the other things”, he said, “not because they are easy, but because they are hard.”