The Cost of Firmware Updates

Jun 28th 2018

I often work on projects where the customer is in a hurry and foregoes the ability to do firmware updates in the field.  The feeling is that the engineering time and cost to do firmware updates are high and are not worth it. 

I did some work for a company that felt this way.  They shipped a product with no means of firmware updates and with a warranty agreement I only wish I could get on items I purchase.  The problem they quickly found was they needed to do firmware updates to their product.  The issue was the product was large and required a technician to go out to customer's site, disassemble the unit to do the firmware updates.  Thus the cost for doing the firmware updates were $1000's of dollars per unit, in fact it was more than their profit margins on the product. 

Like a lot of companies they fixed this with volume, that it they shipped lots of units.... 

So even if they only had 100 units in the field and was conservative and said it cost $1000 to update firmware on each unit then one firmware update would cost $100k, two would be $200k...  Hence it is easy to see that they would quickly get into a situation where they could have hired an engineer to add in the ability to do firmware updates from the field and quickly come out ahead. 

When it comes to firmware updates it should be one of the first things that is developed, then as testing is done all new versions of firmware are loaded on the test units using the firmware update system. This way the firmware update code will be one of the most tested code in the system and reduce the chances the customer will have a problem doing a firmware updates. 

The company I worked for after paying the price to do field firmware updates a couple of times learned the value of firmware updates.  Unfortunately they also learned that they also needed a connection (USB slave or better USB host) to do the firmware update, which then cause them to do a major redesign.  Ironically the cost of the added hardware and firmware would have a been pennies per unit if added at the start of the project...