The IoT will have a great impact on the economy by transforming many enterprises into digital businesses and facilitating new business models, improving efficiency and increasing employee and customer engagement.
Gartner, Inc.[1]
Now that the heavy lifting has been done, the only missing pieces of the puzzle that is world domination, are - engineers that can build the darn things.
However, the ways in which enterprises can actualize any benefits will be diverse and, in some cases, painful.[1]
Yes. Because non-marketing people - like engineers have to obey the laws of physics.
Anatomy of an IoT device
It’s a thing. It’s connected. In order for it to perform a useful task, it will have to be able to sense or affect something in the environment. It has to be able to send or receive data. It has to be able to do some processing.
By definition, an IoT device is a generic connected device (you could replace “IoT Device” with “Cell phone” or “Computer” and the diagam is still valid), but the expectations to such devices are also heavily influenced by the “low power” branding of IoT radio technologies.
Don’t believe the hype
IoT devices necessarily have to be constructed from parts. The radio transciever is only one of these parts. All parts require power in order to operate and this power has to come from somewhere. If I’d hazard a guess, it would be that real life deployment scenarios of most IoT devices don’t include a nearby wall socket. This translates to mandatory battery operation and a heavily restricted power budget.
However…
Low power sensors are still few and far between. Fortunately (not counting active sensors), there is a steady influx of new and exciting low power components, that can be used in various other aspects of the design of IoT devices. Devices will normally require a voltage regulator, and power hungry components will have to be controlled by power management ICs.
Don’t listen to your boss, telling you that you can optimize later. Incorporate low power everything into your IoT design from the get go (unless you want to corner the market for AA-cells now and make a business later, selling these at a premium to your IoT customers).
Power
What is “low power” ?
To be honest, I’m not quite sure.
The term is used heavily in marketing, but no one has bothered to define what it means. It sure sounds good when you say it out loud, though. “Low Powah!”.
The one thing we do care about is battery lifetime. Mostly because batteries are expensive, and beacuse it is really annoying having to replace batteries in the one gazillion devices in the IoT sphere - every two weeks (Unless you have cornered the market for AA cells, that is).
“Power”, on the other hand, is really well defined. In an electrical circuit, it is defined as the rate at which energy is absorbed within the circuit. The unit of measurement for power is Watt and the formula for caluclating power consumption is:
$$Power = Voltage \times Current $$
For our purposes (lacking a rigid definition), in order to be able to claim to be “low power”, our device has to be able to run off a reasonably small (IoT devices are supposed to be small, remember) battery pack long enough, so that no one will complain if the battery runs out.
Your circuit will typically operate on 3-3.3V, which means that the only remaining parameter you can tweak, is the average current draw (by transducer selection and by determining an acceptable duty cycle).
In order to avoid any nasty (and potentially expensive) surprises, you will have to measure the current drawn. You may get an indication from data sheets, but the only way to be certain, is to measure. If you are on a budget, I would recommend getting a Yocto-Amp or a uCurrent Gold
Which leads us to world of batteries.
Battery selection
Battery cell voltage and capacity on a given time is mainly dependant on three factors,
- Battery chemistry.
- Temperature.
- The given time…
Batteries have a shelf life. Promises of 10+ years of battery life are bound to be broken, if you rely on your own interpretation of data sheets and on what you “know” the battery capacity is. Go measure!
Batteries have a shelf life. Even if you don’t use it, a 5 year old battery won’t have the same capacity as a brand new battery.
Batteries self discharge. The self discharge rate is dependant on battery chemistry. One example is alkaline batteries, that will lose 2-3% each year, another is lead acid batteries that will lose 5% each month [2]
You could of course use rechargeable batteries and dive into the rabbit hole (abyss…) that is “energy harvesting” for running the charger circuitry, or - if you live in the nordics - you can do the math.
Batteries do of course not provide the voltage stated on the battery. This is an illusion. A 1.5V alkaline battery is not 1.5V when it leaves the factory floor, nor is it 1.5V when you measure the cell voltage. The discharge curve for the battery will however pass through 1.5V at one time.
The battery also has a capacity, rated in ampere hours (Ah) or milliampere hours (mAh). This number is depending on the ambient temperature your IoT device is operating in. The battery lifetime will be significantly different for devices operating in temperature controlled indoor environments, compared to devices operating in outdoor environments.
Batteries also have a specification on how much current you can draw at any given time. Some even have a peak number, and a number for “normal” draw. So it will allow shorter high peaks, but not the same high draw over a longer period of time.
Example: Under ideal conditions you may be able to draw 20 mA from a 2000mAH battery for 100 hours. This does not necessarily mean that you can draw 2A for one hour or 2 mA for 1000 hours. Battery capacity (depending on chemistry) is also a function of current draw.
Finishing with the amps (for now), we can now move over to the volts.
Assuming that you can use two 1.5V batteries to power a 3V device directly is a bad idea, since the cell voltage will drop over time, as you draw power from the battery. The shape of this discharge curve is a function of (current draw and battery chemistry). In order to reliably drive your circuitry, you will need a…
Voltage regulator
A regulator will accept input from a voltage source, within a specific range and provide (usually with the assistance of a few passive components) a stable voltage output for your circuit.
There are many to choose from. Unfortunately, none of them are ideal circuits. There are losses, and some regulators are much more efficient than others. At the time of writing this post, DigiKey has 30702 DC-DC switching regulators in their catalog. You would probably want to go for switching regulators and not linear regulators (67234 to choose from), since these tend to be more efficient.
The one attribute you care about for low power devices, is “quiescent current”. This is the amount of current that is wasted when there is no load. Unfortunately, this is usually not part of the set of filter criteria when searching for components on supplier sites.
Let’s say that you are designing an IoT device that will have a battery life of 10 years and that it is running on two industrial alkaline D-cells. Assuming ideal conditions and no self discharge, your average current consumption during these 10 years has to stay below 200 microamps.
A good regulator will have a quiescent current in the low tens of microamps. In comparison, a typical “hobbyist” regulator, like the good old linear 7805 will have a quiescent current of 4-6 mA, which alone is 25 times your entire power budget - without any additional other circuitry attached. No microcontroller. No sensors. No radio. Just the battery and the regulator.
So, regarding regulators, you will have to choose wisely. But, you will still have to beware of
Datasheets…
Regarding datasheet, a few rules applies: 1) Read the entire datasheet. 2) Don’t trust reference schematics or “typical” application examples. 3) Trust what you measure, not what you read.
Modern devices also tend to have internal logic and different modes of operation. A stated quiescent current of 25 microamps may turn out not to be true for the typical application example in the datasheet. Discovering that your power budget is off by a factor of 100 reduces the expected battery lifetime from 10 years - down to one month. A concrete example of this is the TPS63030 regulator. This has a quiescent current of 25 microamps in power save mode, and a quiescent current of 2 milliamps in normal operation mode (according to my measurements. This number does not appear explicitly in the datasheet). The typical application example does not configure the regulator for power save mode.
I can blame the technical writer for not spoonfeeding me this information - or I can blame myself, for not reading the datasheet thorougly enough and for not measuring this current before assembling my circuit boards.
Microcontrollers
These are quite mature low power devices. In an IoT device they will only have to be active during Tx/Rx cycles or when sampling sensor data. You will have no problem finding one that consumes only a couple of microamps in sleep mode.
No! The Arduino UNO and the Raspberry are not a low power devices.
Radio
You will most likely use an existing IoT module. There are relatively few modules to choose from and you will have very little control of the power consumption of the device, except for being able to put it in sleep mode and then waking it up again when needed. For power budget purposes, you should assume the worst case scenario current draw for Rx/Tx for the duration of the transmission.
Transducer(s)
Being able to sense or create effects in the real world is a prerequisite for a useful “T” in “IoT” (unless you are a Haskell programmer, that is…)
Let’s focus on sensing for now. What do you want to sense ? Let’s pick some totally random sensors from the shelves of our favourite suppliers and look at the current consumption.
Temperature / humidity sensors
- Chip Cap 2 : 750 microamp active (almost 2x our 10 year power budget). 0.6 microamps in sleep mode.
- HDC2010 : 550 nanoampere (1Hz samplerate) active and only 50 nA in sleep mode.
- Si7021-A20: 160 microamp active. 60 nanoamp in sleep mode.
Particle sensors
- HPMA115S0: 80 milliamp active, 20 milliamp standby.
- OPC-N3: 180 milliamp active, 45 milliamp standby.
- GP2Y1010AU0F: 21 milliamp
These are just a few examples, but, as we see already, the current consumption can easily vary by several orders of magnitude. Optimal sensor selection is critical for battery life.
A fun aspect of some sensors is also that you can’t power manage some of them in any sensible way. I have a sensor sitting on my desk right now. In operating mode it draws 60mA at 12V and it requires one hour to stabilize. In the deployment scenario, it will have to be run on batteries (no wall sockets to be found anywhere). Eight D-cells (1.2 kilo battery pack) may be able to run it for almost a year if I run it on a 4% duty cycle.
And speaking of power management…
Power management and bandwidth considerations
This may come as a shock to some, but your IoT device will most likely spend most of its lifetime being offline, in order to conserve power. Even if your power budget and power management circuitry allows for a near real time data stream, your device will have bandwidth constraints. Either regulatory, or implicit, because of bandwidth cost.
The need for frequent sampling/measurements directly conflicts with the need for conserving battery power.
PS. Beware of switching power to digital devices with I/O-lines. It is tempting to “just insert” a transistor or a mosfet to do low side switching, but this will shift the ground level for your I/O lines. Communication between your microcontroller and your transducer will probably not work. For this type of devices, a load switch / high side switch will work fine.
To put things in perspective: “20 milliamps” doesn’t seem like a lot of current, but it is more than enough to warrant proper power management. Let’s use our favourite device as a hypothetical example, namely …
The Red LED
“The long-term goal of a wide-area IoT network is to deliver data rates from hundreds of bits per second (bps) to tens of kilobits per second (kbps) with nationwide coverage, a battery life of up to 10 years, an endpoint hardware cost of around $5, and support for hundreds of thousands of devices connected to a base station or its equivalent.”, Gartner Inc. [3]
Let’s assume that you have a device that is going to be powered by alkaline D-cells for 10 years (87600 hours). Industrial cells will typically be 1.5V / 18000mAh. Using 4 cells, you will have a whooping 36000mAh at your disposal for a 3V circuit. The battery will weigh in at about 0.6 kilos and one might expect this to be more than an ample amount of juice (ignoring self discharge and temperature conditions).
For this battery to last 10 years, you can only draw 400 microamp on average. This is an order of magnitude less current than can be measured on a reasonably expensive multimeter.
Let’s put this in perspective. Let’s say you only want to power a red LED for 10 years. How big will your battery pack have to be? (ignoring boring stuff like self discharge and temperature etc) Well, turns out the most power efficient light source known to man, isn’t particulalrly “low power”. A red LED will draw 20mA under normal operating conditions. That is 50 times our power budget. 30 kilos of industrial alkaline D-cells should do nicely.
Now, go sell that as an IoT battery pack.
Real life IoT
I have built a handful of battery operated IoT prototypes some prototypes during the last two years. I have used LoRa and I have used NB-IoT. It has been good fun all around, but the one common challenge for all devices has been finding a sensor / transducer with a power consumption that doesn’t kill my power budget - in a kind of Total Nuclear Annihilation sense of the word.
Using actual low power microcontrollers and actual low power radio transcievers doesn’t help until sensor manufacturers start delivering actual low power sensors for your domain.
“Alternatively, the industry can develop better ways of replacing batteries”,
McKinsey & Company [4]
References
- “Leading the IoT”, Gartner Insights on how to Lead in a Connected World, 2017
- “BU-802b: What does Elevated Self-discharge Do?”
- “Gartner Identifies the Top 10 Internet of Things Technologies for 2017 and 2018”
- “The Internet of Things: Mapping the Value Beyond the Hype”, McKinsey 2015