Flash memory and over-the-air firmware updates

By Pål Kastnes May 18, 2016

ota-firmware-update.jpg

When designing your product, it’s crucial that you choose a memory technology that lets you update your firmware easily. Otherwise, you may have to scrap a lot of products if you find errors. If this happens after they've been shipped to end customers, the negative impacts will be severe.

Firmware is held in non-volatile memory such as ROM, EPROM or flash memory. Let’s take a closer look at one of them: flash memory, which enables device firmware updates (DFU) and the advantages that this gives.

Improve your product on the fly

In the past, firmware was hard-coded into the ROM and not intended to be changed after manufacture. Before Internet access became commonplace, faulty products would either have to be returned to the manufacturer to be upgraded, or simply become obsolete. Having to rebuild the product from scratch could lead to serious economic problems, perhaps even bankruptcy. Thanks to updatable firmware this situation can be avoided. At the same time, you are operating in a high-speed industry where competitors will constantly improve their product on the fly in order to beat yours.

> Read also: Are you ready for the new industrial revolution

Why do I need to release updates for my product? I’ve already tested it!

Even if you consider your product 100% complete, secure and bug-free, product updates will always be necessary. Problems will appear sooner or later. And you also have to prepare for potential third-party issues, such as the annual update of Bluetooth specifications, updates to IOS and Android.

The Bluetooth Smart chips from Nordic Semiconductor support Over The Air – Device Firmware Update (OTA-DFU) in a way that uses less memory than other solutions. This allows you to run OTA-DFU on smaller memory devices, to update the entire program memory if you want to. But you don't have to update the entire memory in one go; you may update only parts at a time.

If a smartphone operating system makes changes that require you to update your product, your customers won’t care who caused the problem, they will just want and expect your product to work as promised. Even when working with third-party technology, keeping your product functional may be seen as your responsibility.

If Apple or Android say that your product is not safe for the end user, you will have an obsolete product. Unless you have built in the capability to make updates.

Benefits of a firmware update for smart technologies

  • Short time to market
  • Apply patches for your product on the field
  • Adapt to market changes 

Quick time to market

To stay competitive in your market, keep a close eye on current trends and take quick action on opportunities that arise. If you spend all your time planning and making everything perfect before launch, your competitors might already be far ahead of you. When taking advantage of OTA-DFU, you will be able to launch your product into the market before it is 100% finished, then polish your product out in the field.

Apply patches for your product in the field

No software is perfect. Before we had OTA firmware upgrades as an option, long periods of testing were required in order to establish that a product was launch-ready. Today, you can launch your product early and still keep your customers happy, by quickly taking care of security holes and bugs on the fly. The beauty of OTA–DFU is that you are able to release bug fixes and other patches for your product, without retracting it from the market.

Adapt to market changes

Do not consider your product finished, even if your customers seem happy with it and the software seems to run smoothly. Competitors will add new and exciting features to their products, and your customers will notice. By using OTA-DFU, you can apply new features to your product instantly. Listen to the market and make sure that you keep your product competitive.

> Read also: Internet of Things: Beyond the hype

Send push messages to the end user

One key point with flexible and updateable solutions, is to take care of actually performing the update. There are several ways to do this.

One method is to program the product to poll your servers itself, to periodically check for firmware updates. This requires a direct internet connection for the product, which may not be feasible or interesting.

> Read also: Is the Internet ready for IoT

Another option is to have the product connect to a mobile app instead of directly to the internet. The app, in turn, checks if there are updates available. This has the advantage to ensure that compatible software versions are installed on the product and the mobile app.

If the end-user registers the product, you can use email, SMS or other messaging services to distribute update notifications. The user takes the necessary action to update the product. A semi-automatic approach that leaves the user in charge, but should be designed to require a minimum of manual effort.

If your product is popular, consider releasing your OTA updates in staged roll-outs. Divide your subscribers into batches, and notify them group by group over the course of a few days or weeks. This relieves server strain as downloads are distributed over time instead of happening all at the same time.

 

 

 Getting started with Bluetooth low energy development Download the free eBook now

 

 

Topics: flash memory, OTA, Over-The-Air Updates


Pål Kastnes's photo

By: Pål Kastnes

Pål Kastnes joined Nordic in March 2015. He has 18 years of experience from the embedded systems market working in several areas. This includes IC design, system verification, production testing and device specification on the factory side. He spent 6 years as a key account manager embedded within the sales organization for the Asian market based out of Tokyo, Japan. The last years he has been driving training programs globally as well as providing key account support for EMEA. His main focus now Trainings and user experience, focusing on ease of use of all the elements involved in the design process of connected devices.

Epost

Comments

Get Connected Blog

This blog is for you who are new to the connected world of the Internet of Things (IoT) - whether you are a senior executive, in product development, or simply a curious soul.

Our goal is to inform you, keep you updated and help you understand the opportunities and challenges of IoT for your industry.

If you are a developer, you may want to check out our blogs and developer guides in the DevZone

Visit www.nordicsemi.com

Free eBook: Getting Started with Bluetooth low energy development

Latest Posts