Best Practices in IoT Wireless Design

At Rigado we’ve successfully deployed hundreds of wireless projects across consumer, commercial and industrial markets and through this work, two clear areas of best practices have emerged. First, how to leverage pre-certified modules to reduce risk and time to market. And, second, how to plan for continuous iteration with remote updates. When you couple the constraints of IoT with growing market pressure to achieve early mover status, it’s clear how these best practices are important for building– and maintaining – a best-in-class IoT solution.

Best Practice 1: Reduce time to market with Pre-Certified Modules

In our years of working on IoT projects, we’ve learned that pre-certified modules are the best way to go if time to market is a factor in your product’s success. Indeed, we’ve found that pre-certified modules can save organizations up to six months of product development time.

A quick explanation: when you design your own radio, you fall under certain FCC rules that require in-depth performance and compliance testing and an application process for certification. This process can take months, and can drag on as any change to the design can trigger re-certification. However, with pre-certified modules, this legwork is already completed, leaving your team to focus instead on bringing the end product to market.

Best Practice 2: Reduce Risk with Pre-Certified Modules

Not only do pre-certified modules reduce time to launch and the risk of a competitor beating you to market, but they also ease regulatory risk. With a pre-certified module, your organization benefits from a market-tested design that has been pre-tested and approved by the FCC. And, the burden of any re-certifications for re-designs remains with the vendor as well. All of which means that meeting FCC regulatory burdens rests with the module provider, not your organization. Last, modules also reduce financial risk as they allow you to bring connectivity to a product for less than half the cost of designing a solution from the ground up.

Best Practice 3: Design for Iteration

A clear advantage to IoT is the ability to add new features or functionality to your IoT device over its lifetime. To ensure successful updates, it’s important that your product is designed for iteration. We have found that the key to success here is a well-designed bootloader coupled with a robust process for managing updates once your product is in the field. There are just a couple of features that when added to your bootloader will reduce update risk factors by up to 90%.

Specifically, a bootloader DFU that exists outside of the main application firmware ensures that the device can start up regardless of the state of the firmware. And, a double buffer allows you to verify updates before they are fully loaded. Last, encryption should be a key component to ensure the device against malicious code or theft of IP.

Best Practice 4: Manage Updates at Scale

A robust process is central to managing a successful IoT product that grows in value to customers over time. This process should be supported by a central device operations application that can communicate securely and effectively with your devices while giving you granular control. Ideally, we recommend that organizations use an app that can identify and group devices, allowing you to see which devices have which features enabled and where they are deployed. We also highly suggest that firms use an app that supports device tagging, such that they can group devices. This makes managing deployment of different update versions easier. Last, your process and app should support staggered roll-outs and the ability to ensure success of one group before moving on to the next.

As engineers, we appreciate the many nuances of creating and maintaining successful IoT products, which is why we have honed and are happy to share our best practice recommendations with you.

For more details on these and other best practices, please download our white paper, “De-Risking IoT wireless Design: Leveraging Certified Modules and Rapid Iteration”.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>