Lessons Learned From A Global Chip Shortage

April 28, 2025

When I worked at Qr8 Health, the global chip shortage hit our medical device launch head-on. In 2020, we:

• Went to build the production run of our device, only to find the majority of the components were out of stock due to the chip shortage.

• Faced a complete firmware redesign—new silicon, new toolchain, and a launch date that wasn’t budging.

• Ported the entire firmware to Zephyr RTOS in just two months.

All of this has taught me a tremendous amount.

Here are the things I wish I had known going into this whole debacle:

A 3D rendering of the Stylus that I created in Blender.
  1. Choose tools that maximize flexibility. Using a real-time operating system like Zephyr allowed us to define our hardware in configuration files. Among other benefits, we could deploy the same firmware to different PCBs, each with their own specific components, dictated by the shortage.

  2. Abstract early. Before the migration from the nRF SDK to nRF Connect—Nordic’s new recommended platform—the previous developer had tightly coupled all of the system’s components. One change would lead to a dozen throughout the code base. With the rewrite, components now have clearly defined public interfaces and hide implementation details.

  3. Roll your own test bench. Building automated test fixtures allowed us to find bugs early. I would argue that this isn’t a bonus but a requirement of any hardware project. Without our test fixture, we could not have launched on time.

An example test fixture
  1. Document your code like the next person to read it will be an axe murderer with your address. Firmware projects don’t have the luxury of dozens (or hundreds) of ready-made Stack Overflow threads dissecting the same bug. When your GPIO-expander driver misbehaves, you’re blazing the only trail, so leave breadcrumbs for the next person to maintain it.

If you’ve had similar experiences, I’d love to hear how you came out the other end!