In-Person Denver Meetup: When to Build Security Into Your IoT Device - Thursday, July 18th @ 6pm MT

Accelerating IoT Device Development through NPI and Firmware Milestones

The Internet of Things (IoT) continues to gain momentum and transform how we work and live, driven by expanded connectivity, new hardware capabilities, and innovative edge applications. Despite supply chain challenges, industry data indicates remarkable growth, with the number of connected IoT devices projected to hit 16.7B by the end of 2023.

As IoT device developers and manufacturers look to capitalize on the IoT opportunity, they must first navigate an evolving ecosystem with increasing complexity. With the steady increase of user expectations around IoT devices, launching a device with fancy new functionality alone is not enough. Today’s customers expect seamless integrations, continuous feature enhancements, and uncompromising ongoing performance.

With advancements in connectivity and hardware capability, the IoT product lifecycle necessitates IoT companies to balance four key elements for sustainable success:

  1. Product quality: End users expect to be delighted and for devices to work well. Products have to be built for long-term viability and reliability.
  2. Time-to-market: Given stiff competition, development teams are under incredible pressure to launch products quickly.
  3. Cultivating customers: Companies must build and nurture a loyal customer base at a time when users are increasingly intolerant of design flaws and performance issues—and increasingly vocal about their discontent.
  4. Security: Low-capability hardware introduces security risks amidst an industry with few strict regulations and requirements.

In this blog, we’ll offer an approach to the IoT product lifecycle with best practices and strategies to help you build, ship, and manage connected devices at scale.

Pursuing a New Product Introduction (NPI) Approach

Device developers know well the issues in launching a product on time. Nearly half of products miss their launch date. Electrical engineering, mechanical engineering, manufacturing, marketing, test automation—all of these are difficult to manage singularly and become exponentially more challenging when considering that each process has a discrete timeline.

By focusing on firmware practices while pursuing a new product introduction (NPI) timeline, teams can streamline development and meet their launch goals. First formulated by Apple engineers, the NPI timeline offers six milestones for hardware development teams, and those using it can expect a timeframe from prototype to launch of roughly 12-18 months. Using this model and simultaneously adopting some firmware best practices can help you get your IoT device shipped on time.

NPI Milestones for Hardware Development

Below are the six key milestones for hardware development and general time estimations for each. This cursory introduction establishes a solid framework for merging firmware milestones for accelerated, robust IoT device development.

NPI Timeline


Components of a robust test plan should:

  • Milestone 1 (Proto Phase, 12 weeks): During this—the longest—phase, engineers focus on defining the product, iterating through prototypes, and reaching a functional product architecture.
  • Milestones 2, 3, and 4 (8 weeks each): These three milestones, Engineering Validation Testing (EVT), Design Validation Testing (DVT), and Production Validation Testing (PVT), follow sequentially, each lasting about 8 weeks. They include build time and intervals for data analysis, design iteration, and issue resolution.
  • Milestone 2 (EVT, 8 weeks): EVT finalizes engineering designs, setting the stage for an on-time launch. While not cosmetically perfect, EVT devices resemble the final product and have configurations to derisk major subsystems. Firmware reaches “HW test complete,” allowing users to test key functionalities.
  • Milestone 3 (Design Validation Test – DVT, 6-8 weeks): DVT focuses on one final configuration that passes all tests and manufacturing stations, and manufacturing software must be locked between EVT and DVT.
  • Milestone 4 (Production Validation Test – PVT, 6-8 weeks): PVT optimizes manufacturing for yields and speed. Units produced during PVT are “revenue-able” and may be sold, requiring complete launch firmware.
  • Milestone 5 (Ramp, 4+ weeks): After EVT/DVT/PVT, teams enter the ramp phase to manufacture enough products for launch, often with a brief pause for final adjustments. Inventory accumulates as production runs 24/7, and devices are shipped to resellers.
  • Milestone 6 (Launch): The product is shipped and available for purchase.

Integrating Firmware for IoT into the NPI

Firmware supports the overall hardware roadmap and offers ways to optimize the process. Disentangling hardware and software is critical to saving development time and increasing the likelihood that your product will ship on time. The chart below shows where your firmware timeline should fit within your NPI.

Firmware in the NPI Timeline


The Five Milestones of Firmware Development

  • Milestone 1 (Bringup Complete): Before a prototype is ready, the development team will have a bringup complete, which means they’ll have written the minimal driver code for verification by each major subsystem. This verification, at the command line level, confirms that each subsystem is working and can communicate with the product’s software.  
  • Milestone 2 (Hardware Test Complete): Before exiting the EVT stage, teams must reach the hardware (HW) test complete milestone. This requires there be minimal firmware that allows a user to test out significant functionality. It doesn’t have to be perfect but needs basic capabilities (e.g., if it has audio, audio files play, or if it has a display, a simple UI is available).
  • Milestone 3 (Manufacturing Firmware Complete): Locking the manufacturing firmware between EVT and DVT is required.
  • Milestone 4 (Launch Firmware Complete): In PVT, launch firmware needs to be locked in the state appropriate for revenue-able units.
  • Milestone 5 (Day 0 Firmware Complete): The final milestone is Day 0 firmware, a release rolled out after the device has shipped but before the end user unboxes it.

Disentangling Hardware and Software for Faster Development

With different timing variables and the inherent complexity in design and engineering, adopting best firmware practices during your NPI allows you to reduce potential issues and make your product timeline less likely to slip. Follow these best practices:

Implement test-driven development (TDD)
Build software and firmware using a software test harness instead of relying on physical hardware. For instance, leverage unit testing frameworks like CppUTest or simulation tools like Renodes to emulate your hardware environment and develop software within this virtual context. This approach offers several advantages: it enables software development to begin even without fully prepared hardware, accelerates the iteration process, and establishes a resilient suite of tests to improve development.

Adopt Day 0 updates
A Day 0 approach involves a software update applied to devices immediately when the user turns on the device. It upends the traditional development schedule by shifting the completion of final firmware from the manufacturing stage to the moment customers receive the devices. This approach allows you to separate manufacturing dependencies and extend the software development timeline by at least four weeks—or more.

Implement a strong hardware abstraction layer (HAL)
Utilizing a robust hardware abstraction layer (HAL) is critical, and the Zephyr Project stands out as an exceptional open-source Real-Time Operating System (RTOS) option, well-supported by semiconductor and device manufacturers. Though it demands some initial effort, adopting a HAL offers three significant advantages:

  1. It facilitates decoupling firmware from the underlying hardware, streamlining test-driven development, and enabling isolated development.
  2. It provides flexibility, which proves invaluable during supply chain challenges. If you have to swap out a microcontroller or another component, the HAL simplifies the transition.
  3. It lays the foundation for code reusability in future projects, allowing you to leverage the software you’ve developed across multiple programs for faster, more efficient development.

Separate manufacturing and app firmware
Manufacturing firmware runs on the assembly line during device calibration and other testing phases. Conversely, application firmware is only loaded onto devices at the final test station on the assembly line, enabling iterative modifications to the application firmware without affecting the manufacturing firmware. This separation provides the freedom to make adjustments to elements such as UI displays without the risk of introducing a regression in the manufacturing firmware. Additionally, it allows for continued application firmware development even after locking the manufacturing aspects in the DVT stage. Finally, it lets you conserve code space by keeping manufacturing code outside of your primary application. Be prepared with a way to manage any unanticipated dependencies between manufacturing and app firmware, such as a sensor configuration.

Approaching development with an NPI timeline and firmware milestones lets you navigate the evolving IoT landscape with confidence, creating scalable, high-quality products that foster long-term relationships with loyal customers. To learn more about how Memfault can help you accelerate your product launch, build better products, or remotely debug before customers know there’s an issue, book a demo today.