As explained in Part 1, IoT device designs that are overspecified with powerful electronic components and high-energy-consuming operating systems significantly add to carbon emissions. With a mandate to reach zero carbon footprint and with a prediction that the number of connected devices are likely to hit 30 billion by 2030, manufacturers are increasingly seeking out and adopting sustainable designs that reduce the environmental footprint of their products.
Overspecification—a Common Way to Resolve Complexity and Accelerate Development
High-level operating systems are an increasingly popular choice in embedded systems development for several reasons. They are easy to customize, user friendly, and have a massive development ecosystem. Their tools support modern development methods that can dramatically improve developer productivity and product quality while reducing development costs and risks.
Developers benefit from increased software portability, simulation (prototyping on virtual devices), continuous integration, and automated testing. The high-level OS minimizes hardware and software dependencies and leverages modular programming that ensures software applications can be reused and updated with new features.
The catch, however, is that embedded systems designed on high-level operating systems require lots of memory and processing power that exceeds typical SoCs or low-cost MCUs. Consequently, engineering teams turn to higher-end microprocessor-based solutions, sacrificing cost and power for more modern software development, scalability, and flexibility.
How IoT Device Manufacturers Can Balance Time-to-Revenue, Quality, and Sustainability While Growing Profits
These decisions makes sense, if high-level operating systems were the only game in town.
Consider the alternative: an optimized software solution that enables the same capabilities as a standard high-level operating system while dramatically downsizing resource usage.
That solution is available: optimized software containers for embedded systems, that leverage virtualization, edge computing, and AI on small processors by adapting technologies widely used in the IT world for over 20 years.
Caption for Figure 1: Solutions, such as the MICROEJ VEE optimized software containers, offer multiple advantages. Aside from their ability to reduce hardware requirements, containers also provide immediate efficiencies in computing performance and enable data processing at the edge.
Using software containers instead of a high-level operating system is the first step toward meeting sustainability goals. They limit carbon emissions and reduce production cost and power consumption. Electronic device manufacturers are then able to size the components for optimal usage and user experience with lower power and lower cost hardware.
Software containers support dynamic software updates and play an essential role in making a device more performant and resilient. The updates also extend product life with regular feature upgrades. These factors lower carbon emissions, greater efficiency, and cost savings.
10 Steps Toward Green Software Development for Embedded Systems
As SoC and MCU resources are limited to increase sustainability, engineering teams that seek to maximize performance and minimize power requirements must focus on careful up-front planning and smart development strategies. If this describes your team, here are the best ways to proceed:
- Minimize energy-heavy resources such as CPU cycles, peripheral access, read/write from memory, network updates (Wi-Fi, Bluetooth, etc.) and display updates.
- Use hardware acceleration (graphics, crypto, AI, etc.) to speed processing and reduce CPU workload.
- Use MCU low-power modes when appropriate, with the understanding that this level of hardware control tends to couple the application more tightly to the specific hardware implementation.
- For devices that support Arm big.LITTLE architecture, prioritize use of the MCU (rather than the MPU) for maximum power efficiency.
- Choose and adapt clock frequency for optimal CPU loads (e.g.,, some vendors offer dynamic frequency scaling).
- When possible, put the device and peripherals to sleep instead of using idle loops. Be aware that there is often a trade-off between energy spent during idle time and the device recovering from a sleep state.
- Dim display backlights where possible or use a dimming layer when rendering to reduce brightness.
- Adapt system voltage for optimal efficiency according to application need.
- Optimize assets judiciously, such as using lower-resolution images on small devices to reduce CPU cycles during rendering (not all content must be web-quality).
- Use software containers to enable low-power design and implementation. Solutions such as MICROEJ VEE containers are designed to provide acceleration, optimizations, and sleep modes out of the box, simplifying low-power operation for all developers.
To see an example of how MICROEJ VEE has been optimized for power efficiency, see this example of an NXP RT595 wearables application.
Software leaders can positively impact sustainability goals by making green software tactics central to the design and development process:
- Put power budgeting up front in the project plan and place reasonable limits on power consumption that drive software decisions and hardware selection
- Ensure software developers research and take advantage of the power-saving capabilities of their hardware (i.e., do not assume that the MCU’s default clock frequency is the most power efficient – sometimes, lower frequencies still meet application requirements)
- Adopt tools, such as MICROEJ VEE, that enable developers to create power-efficient applications, as well as techniques to measure and track power consumption throughout the development cycle
The Time for Action is Now
Our customers’ studies show that by switching from powerful MPUs powered by Linux or other high-end operating systems to MCUs powered small footprint solutions by companies like MicroEJ, manufacturers can provide the same capabilities and user experience with just one-tenth the carbon footprint, while also decreasing costs. Here are just two examples:
- A leading wearable manufacturer switched to a low-power microcontroller for its flagship smartwatch, reducing power consumption by a factor of 5 while cutting costs by $8 per device.
- An American smart meter manufacturer was able to use MicroEJ’s software container across a range of products, keeping a low-cost/low-power design while enabling dynamic application updates and cloud-to-edge services deployments.
The benefits of sustainable design are undeniable: lower carbon emissions and costs, enhanced marketability, and new ways of attracting customer interest. Industry visionaries see ESG and climate compliance for what they are: a giant opportunity to improve their corporate responsibility and economic performance together by differentiating and innovating while doing what’s best for the planet.
MicroEJ works with industry leaders to make the digital world more sustainable, starting with software.