Power Saving Tips for Battery-Powered IoT Devices
September 20, 2016
You’ve hit a big roadblock in your quest to design the ultimate battery-powered connected technology: Your device works perfectly, but it only works for half a day before running out of electricity.
Rest assured, you aren’t the only developer to run into this problem. Battery-powered connected devices, after all, aren’t easy to work with. First and foremost, they’re often used in areas with limited connectivity, which can drain battery life very quickly because the devices must work harder to find a signal. And they may transmit large volumes of data, especially if they are sending video, as is often the case with door phones, wearable cameras, drones and portable dashcams.
Here’s the good news: You can overcome these challenges and create energy-efficient solutions by adhering to the following battery-saving tips when developing your products:
Create flexible power modes: Consider how often your end users will be relying on the product throughout the day; in most cases, the device won’t always be on. For example, think of someone using a battery-powered security camera in his or her office. The camera may not have to be on while that person is present. Allow end users to take advantage of their devices’ idle periods by incorporating multiple use modes—like active, idle or sleep—into these products for dynamic power management. Also install sensors that can determine transmission strength requirements and automatically reduce power, along with duty cycle sensors that can switch from active to sleep states.
Write efficient code: Think of software code like a foot on the gas pedal of a car. Every time the code fires an instruction, the foot hits the gas pedal, so to speak, which results in a spike of power consumption. So make sure your code is efficient and have your software team see if it can be simplified, ensuring that it is only performing the tasks it needs to at any one time.
Use fewer push notifications: Push notifications often result in transmitting unnecessary amounts of data. Not only can push notifications be overwhelming for end users, they can also use a significant amount of battery power. Consider using fewer push notifications and use a system where end users can instead request data when they need it.
Set data rules: Another great way to reduce unnecessary data transmission is to set rules for when the device transmits data. For example, you could use a motion detection sensor so that a camera only transmits video when a door opens. For a wearable solution, the device could enter low-power mode when its user is at rest. This is a great way to avoid continuously transmitting unnecessary volumes of data.
Optimize data transfers: To save power, don’t make the device work so hard while sending and receiving data. Think about sending aggregated data or reduce transmission frequency based on your users’ needs. And for larger data files, like video, consider compressing the data locally before it gets transmitted. To do this, use H.264 or H.265 video compression standards that can free space and save critical bandwidth. One more thing you can do is to identify non-critical data, which can either be sent at a lower rate or not at all.
Use battery-friendly standards: The communications protocols you use will go a long way in determining the energy efficiency of your device. For wearables and smart sensors transmitting non-video data, look into Bluetooth Low Energy (BLE), ZigBee, MQTT, CoAP, Sigfox and LoRaWAN, which all cover several distinct application scenarios within the smart city, industry 4.0 and smart agriculture domains.