Microcontrollers for the IoT

Microcontrollers for the IoT

Many things have intelligence, but not all of these things have a way to share their knowledge or listen to our requests. In some cases, it just doesn’t make sense. For example, your door with a brain would be pretty useful to you, but perhaps not to your neighbor or someone living on the other side of town. But then, what if your street light had a brain? More intelligent street lights could yield more accurate weather maps or pollution data across the city. They could listen for car wrecks or gunshots to alert the appropriate first responders. In this case extracting more intelligence out of our devices does something for society, not just for the person who owns the device.

Adding to a device the ability to process data (or, “adding intelligence”) comes with some questions to address: how much processing capability is needed, and how do you add this without overdoing it (and going over budget) or under-doing it (and delivering a product whose ‘intelligence’ is in question)? How do you ensure a positive return on investment (ROI) even if you must address changing requirements once the device is installed? Will you have enough processing power and memory to add features?  

While we are surrounded by an invisible intelligence, installing devices to free that intelligence is risky and you want to make sure that you can maximize ROI.

A digital thermostat is just one example of a device that meets the three principles of invisible intelligence.

3 Key Principles of Invisible Intelligence

Invisible intelligence rests on three principles:

  1. The things we interact with and have relationships with have data, and when enabled by technology, this shouldn’t fundamentally change the way we interact with them.
  2. We shouldn’t notice that the smart device is fundamentally different from its ‘dumb’ counterpart (hence its invisibility).
  3. The data from our smart device needs to have value. Invisibly intelligent things will inherently be more expensive than their dumb counterparts.

Now, let’s take a look at how these three principles relate to our original question: how do we make sure our IoT devices have the right amount of intelligence?  

  • Interaction: Smart devices may need to be updated over time, but this burden shouldn’t fall on users. In addition, the device should have the processing horsepower and memory to support a seamless firmware upload.
  • Appearance: To encourage user adoption, a smart device should appear to have the right amount of intelligence
  • Data: Plan for excess processing horsepower and memory to support future features, but not too much so that device cost explodes

Is Your Microcontroller Smart Enough for an Intelligence Device?

When it comes to a smart, communicating device that may need to monitor multiple sensors and upgrade itself in the field, an 8-bit microcontroller that might be inside a traditional version of that device will quickly become overwhelmed handling the newer demands:

  • Running multiple algorithms: Compared to their 32-bit counterparts, which can do a lot in a single instruction cycle, 8-bit micros simply have to execute more instructions and, thus, burn more power
  • Microcontrollers with DSP or floating-point acceleration will be able to execute many algorithms faster than those without
  • Managing a network stack, which requires code and data memories to operate and, depending on the network, a potentially large amount of memory space
  • Using an operating system: As devices become more complex (more sensors, more applications, more network capabilities), using a real operating system to manage core resources like processor bandwidth and memory allocation makes sense
  • Securing data and commands: Security is a must for connected devices, and the algorithms used to secure data and commands are complex and highly math-intensive. Processors need enough memory space to store the algorithms, working memory for intermediate results, and processing horsepower to compute ciphers quickly.

Choosing the Right Microcontroller

There are many processing options available, including microprocessors and 8-, 16-, and 32-bit microcontrollers. But when it comes to meeting the requirements of the IoT, they are all quite different in terms of performance, power, and memory. For more in-depth insight into criteria to consider when evaluating processing options for your next smart device, read my white paper, Adding Intelligence to the Next Generation of Smart Devices.”