Real-time firmware upgrades for the dishwasher - Embedded.com

Real-time firmware upgrades for the dishwasher

Click here for reader response to this article

This week The Register ran an article touting Esmertec's recent acquisition of Swiss start-up OOVM, a company that produces a virtual machine that upgrades small embedded systems while they run, with no reboot required.

Not quite an ultra-cool technology, though surely some applications can benefit from real-time software patches. But I was struck by a quote from chief guru Lars Bak: “”If you have say, a small router or a dishwasher you can upgrade the code while it's running.”

A dishwasher? How many upgrades does the old Maytag need? Will some dramatic new feature beamed into the appliance suddenly make plates sparkle like the detergent ads promise? (We use ours to store canned goods. By the time you muck off the grime and pre-wash flatware and bowls you're almost done cleaning up anyway.)

I suppose most appliances of the future will be on the 'net for a variety of reasons. Aren't toasters already connected?

When real-time firmware updates are the norm the world will be a very different place. The thought of a code change to ABS brakes while a panicked teenager stands on the pedal, skidding around a gaggle of kids at the bus stop, gives me shudders.

No doubt Boeing's upcoming 7E7 will exploit satellite software downloads to fix avionics problems. But this technology brings other threats. Is that kid in row 46 with a wireless laptop doing his homework — or hacking the inertial navigation system?

Or maybe the VM could provide a two way connection that signals failures to vendors, rather like how Windows XP transmits crash results to Microsoft.

Of course, now “crash” has multiple meanings.

The article in The Register breathlessly explains how the VM needs a paltry 128kb of memory. That is, of course, greater than the entire address space of 60% of all microprocessors sold. Why not focus on flushing out the bugs in the first place instead of adding an extra eighth of a meg of memory to manage upgrades to our 16k app?

Call me cranky but I'm frustrated enough with installing endless Windows upgrades. When all of my consumer products start clamoring for new code I'll dump the car, climb into that black buggy, and move to Pennsylvania's Amish country.

Perhaps the virtual machine is meant as a gateway into products so vendors can enhance features. Yet for consumer products feature upgrades are rare; vendors prefer to replace products with the Next New Thing. OOVM's virtual machine appears to be a bug swatter, a way to ship faster by shortcutting development.

Once upon a time embedded systems were those devices using an 8051. Today many are stuffed with Pentiums, PowerPCs or other processors originally destined for the desktop, often booting Windows or Linux variants. So how do we distinguish an embedded system from a PC?

Quality might be a pretty good indicator. If your PC crashes a couple of times a week tempers flare but there's little real problem. If your car's engine controller needs a manual reset at every traffic light, customers will flock to purveyors of higher-quality code.

Are firmware upgrades to consumer appliances a good thing? Or are they a back door that compensates for shoddy programming?

Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at . His website is .

Reader Response


I have a set-top box that updates its firmware from time to time. Sometimes itworks a bit better afterwards; other times, something stops functioning. But italways brings a little variety into my otherwise dull and dreary life. So itain't all bad.

BTW, my dishwasher UI is slightly flakey. It could do with a couple of tweaks. No, really!

– Colin Walls


Firmware updates have mostly been good to me — making all the pieces of my WiFi network play well together, for example. In many cases, the dynamic update is not a backdoor to bad code, but a way for the good code to come after the greed for market share has caused the original device to be released too soon (i.e., before it works).

So I'm all for updateable devices — as long as it is always an informed option. Windows update tells me what it thinks I need, why I think I need it, and lets me decide whether I want to proceed. This is an excellent model, Microsoft's general reputation notwithstanding.

Now, most users won't want to interact with their toaster so much. A simple configuration item (auto, prompt, none) for updates gives users the choice about whether they even care. Following that kind of paradigm, I think update-able devices are good.

Now, as for whether the kid in row 46 is hacking into the nav system … well … wouldn't you rather go to the tropical island paradise instead of your 3rd world outsource vendor anyway? 🙂

– Daniel Singer


Updates to embedded systems really aren't that rare, and they are often very expensive. Systems have to be updated for a number of reasons. Customers may purchase an upgrade, New hardware may be added that requires new drivers, and any system with a couple Meg of code probably contains some bugs.

The company I work for now is designing it's new product with two enough flash for 2 complete sets of firmware. Both sets are time stamped, and the startup code selects the most recent. The rational for this is that it will make updates cheaper.

I do wish we could make the code better to start with, but we would still need updates for other reasons.

– Bill Ames


I'd like to believe that the embedded systems in most “household” consumer electronics (toaster, dishwasher, microwave oven, refridgerator, etc.) have been tested sufficiently to not warrant an upgrade/patch. As such, I don't expect my dishwasher's update to fix something. And since manufacturers hope that we buy new devices after a period of time, I don't expect the update to upgrade the system and add new functionality.What I do expect is that some day when I start the dishwasher after an updated firmware load, is that the display will tell me that this wash was brought to me by Sundial Dishwasher Soap. “Sundial is the preferred dishwasher soap for use in the Maymore dishwasher series. We detected that you used Lightwash detergent, which won't get your dishes as squeeky clean as Sundial.” Of course, the obligatory jingle is in the background.Think about this the next time you're at an appliance store and you see the new refridgerators and dishwashers with the color LCD screen.Commercials, anyone?

– John Patrick


We bought one of the first Maytag Neptune washing machines, and they issuesa “silent” firmware upgrade to them.It was one of those “silent” recalls – we complained about some water in thewrong place after the last cycle, and they sent someone out with a newmicroprocessor board and updated software. It works a LOT better now…

– Maurice Bizzarri


I think, we cannot always say that “online upgrades are a back door that compensates for shoddy programming”. Some times the update of a firmware is required to work around a chip problem, which the vendor had come to know after the system was sold. In such case, if a firmware change can help the situation, that can be easily rolled out with a online upgrade. So, the online update is a good idea, in such cases.

– Vinod Eswaraprasad


Are firmware upgrades to consumer appliances a good thing? Or are they a back door that compensates for shoddy programming?

It's just another marketing strategey by big corporations to sell their products. These corporations are just playing to a tech-minded society and they are trying to convince us we NEED these features which we cannot live without. Sort of like Anti-Bacterial soap. The generations that came before us never had Anti-Bacterial soap… but media hype and paranoia make people think that Anti-Bacterial soap is better than reqular soap.

– Steve King

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.