An Open Source: Firmware for Dummies

Pieter Kruger, Firmware Director

Pieter runs the LIFX firmware team and makes decisions every day that impacts the consumer far more than most know. Here he tells us how his team’s decisions make a difference to the user experience, and what role he believes firmware engineers will have in the Smart Home industry in the future.

Head shot of Pieter Kruger. Wearing a green Tshirt and smiling into the camera. Background blurred out.

 

How is firmware different to software?

Software is typically applications that run on our desktops & phones and can easily be updated by the user. Firmware, on the other hand, is the application that runs on everything else, i.e. medical equipment, microwave ovens, cars, even aeroplanes and is not so easy for the user to update - hence the name firm-ware. This is less true nowadays where most products can be updated in the field easily (often automatically), but the name has stuck. Firmware also differs from software in that it usually runs in a very specific environment, on specific hardware with strict constraints. Depending on the product, firmware can often be mission and safety critical, i.e. if it fails there is a serious risk of injury or even death.

Firmware works closely with the device’s hardware and has direct control of hardware elements. This means firmware needs to be acutely aware of the constraints of the hardware and its environment. So it needs to take into account power consumption, speed constraints, memory constraints, operating temperature etc. and has to work within the limits set by these. Firmware is at the heart of a product and as close to the hardware as you can get. It is specific to the hardware, while software is a little more generic and independent of the hardware to a greater extent.

 

Between bug fixes, scheduled updates, and innovating, how does your team prioritise? 

Priorities are ultimately set by the business and our priorities for bug fixes, updates and innovation align accordingly. Because firmware is required to manufacture most products, our priorities are influenced by other teams, i.e. hardware, production, apps, cloud and even supply chain. Within the business priorities, we weigh up when the next deadline for other teams are and work back from there.  Bug fixes are worked into this mix based on the severity of a bug and customer impact. The priority of innovation depends very much on the product or technology we are investigating. As engineers, we are inherently curious and view innovation as a way of life. Rather than a task with a priority, a start and an end, it is something that is constantly happening.

 

Where has the impact of firmware been greatest in day to day life, but people didn't realise it was firmware?

Firmware has played a huge part in making vehicles safer and more fuel efficient over the years. Even cheap small vehicles today have several microcontrollers that each run their own unique firmware. This firmware controls the engine, airbags, mirrors and ABS brakes and does so seamlessly. In the home space, firmware controls our washing machines, microwave ovens, air conditioners, WiFi routers and even our shavers. We expect these devices to “just work” and have grown accustomed to that without realising that firmware is what is behind it all. The LIFX product range is no different, each light bulb, Z strip, switch etc. has its own firmware controlling it based on what the user wants. With the trend in consumer electronics for more functionality in ever smaller, cheaper, faster products we can expect firmware to make our lives even easier, safer and better in the future.

 

Where do you see the smart home industry in 5 years?

I’m excited to see collaboration between the big players, Google, Amazon and Apple, in the smart home market. More common standards, like CHIP, will mean customers are even closer to seamless interoperability between products of different vendors. In 5 years, I see Smart Home as a mature, user friendly, secure technology customers take for granted. In other words, we’ve fully migrated from the past where IoT is the gimmick of the tech nerds, into something that anyone can use in our daily lives without noticing. For customers, Smart Home must be easy to set up, it must solve a problem for them and must “just work”.

 

If you weren’t a firmware engineer, what would you be doing right now?

What?  Being a firmware engineer is in my DNA! It’s being one of around 500 000 firmware engineers in the world that have a superpower and responsibility to do amazing things - or at least that is how I like to think about it. If I weren’t a firmware engineer, I would probably be studying to become one right now or I would be in my home lab busy building some firmware project. I think you see my dilemma.