Smaller, more capable embedded controllers are making simple products smarter. What are you doing with all that intelligence?
I've been covering the embedded control industry for a long time, and engineers were weighing the relative advantages of dedicated embedded controllers versus small general-purpose CPUs in control applications back in the 1980s. Today, though, small workstation and server packaging like the Raspberry Pi make it physically and economically possible to put very capable computers in very small and simple products. Let's take a moment to think about why you might (or might not) put something like the Raspberry Pi in a product when you're also considering a more traditional embedded controller.
First, let's look at why the embedded controller is still appropriate for many applications. Embedded controllers can still be somewhat smaller and less expensive than more capable general computers. It's also true that programming embedded controllers tends to be simpler, since there is far less OS overhead to deal with in the simpler units.
It's also true that embedded controllers tend to have easier-to-access functionality for dealing with analog-to-digital conversion and interrupt handling. If you're coming from the world of general purpose programming, there's one more thing to consider; timing is often far easier on embedded controllers than general purpose computers, because you don't have to worry about stray processes coming in and stealing processor cycles -- embedded controllers are, as a group, blessedly simple devices to design around.
So with all the simplicity and straight-forward programming to recommend embedded controllers, why would you go to the trouble of putting a "real" computer inside a product? For a growing number of designers, the answer involves adding the product containing the computer to the rapidly expanding Internet of Things.
We've all heard customers provide feedback that has the form, "I'd love to know that the product is working the way it's supposed to work." Traditionally, designers provide that knowledge by way of indicator lights, status displays, or simple text-display panels providing simple messages. All these methods are fine -- if the user happens to be standing next to the device. Given that we're all living more mobile lives these days, extending the blinky lights and text displays from the living room wall to the coffee shop across the country is a valuable service. That's where the Internet of Things comes in.
Of course, sticking a web server into a microwave oven seems a bit extreme to many people, but we've begun a process that will end in Internet-carried status updates and control mechanisms considered the norm rather than a high-geek extra. The question isn't going to be whether that micro-web server is in the product, but how it's implemented.
The fact is, there are embedded controller-based web server solutions becoming more available. How you choose to implement the web server will depend on cost and basic design issues -- in other words, traditional design engineering considerations. As an OEM designer, your customers will give you basic instructions -- how are you going to meeting the requirements? Do you have a favorite solution today? I'd love to hear about it -- and about what you think of the Internet of Things that's growing by leaps and bounds.