SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: How much power does the ARM M0 consume?
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

How much power does the ARM M0 consume?

David Moore
Last updated: September 15, 2023 8:40 am
David Moore 7 Min Read
Share
SHARE

The ARM Cortex-M0 is an ultra low power 32-bit RISC CPU core designed for microcontroller applications. It is the smallest and most energy-efficient Cortex-M processor from ARM. The M0 core is optimized to provide an efficient solution for applications requiring minimal power consumption, with high performance and small code size.

Contents
Typical Power ConsumptionReducing Power ConsumptionComparison to Other Cortex-M CPUsExample M0 MicrocontrollersUse CasesOptimizing Software for Low PowerConclusion

The power consumption of the M0 core can vary significantly depending on the specific implementation, operating frequency, supply voltage, peripherals enabled, and workload. However, ARM provides typical power consumption estimates that can be used as a general guideline.

Typical Power Consumption

According to the ARM Cortex-M0 processor datasheet, the typical power consumption of the M0 core at 1 MHz and 0.9V supply is just 9 μA/MHz. This extremely low power consumption makes the M0 well suited for battery-powered and energy harvesting applications.

At higher frequencies and voltages, the power draw increases. At 48 MHz and 1.2V, the typical core power consumption is 48 mA. So as a rough estimate, the M0 core consumes approximately 1 mA per MHz when running at 1.2V.

However, the total power draw depends on the specific implementation and which peripherals are enabled. A typical Cortex-M0 MCU with 16KB SRAM, 256KB flash, core @ 48MHz, peripherals enabled might consume around 100 mA at 1.8V while active, and less than 1 μA in sleep mode.

Reducing Power Consumption

There are several techniques that can be used to reduce power consumption of an M0-based system:

  • Operate at lower clock frequencies when possible
  • Use lower supply voltages when speed is not critical
  • Disable unused peripherals and clocks
  • Minimize switching on I/O pins
  • Use sleep/low power modes when idle
  • Reduce unnecessary wakeups from sleep modes
  • Design software for minimal processing requirements
  • Use DMA transfers instead of CPU loading
  • Implement clock gating in custom designs
  • Choose low-power external components

Careful consideration of both hardware and software design can enable an M0 system to operate for years on a small battery or energy harvester.

Comparison to Other Cortex-M CPUs

Compared to other Cortex-M series processors, the M0 has the lowest power consumption by design. For example:

  • ARM Cortex-M0+: Slightly higher power than M0 but adds some features
  • ARM Cortex-M1: Higher performance but also higher power
  • ARM Cortex-M3: Widely popular MCU core, more power hungry than M0
  • ARM Cortex-M4: Supports DSP instructions, even higher power
  • ARM Cortex-M7: Highest performance MCU core from ARM

The M0 gives up some performance and features compared to these cores in order to reach ultra low power operation. But it still provides good processing capability for basic applications in exchange.

Example M0 Microcontrollers

Many microcontroller manufacturers offer Cortex-M0 based MCUs. Here are some examples with typical power consumption estimates:

  • STM32L011 (STMicroelectronics): 1.65 μA in standby, 200 μA to 2 mA active @ 32 MHz
  • EFM32TG840 (Silicon Labs): 1.2 μA in deep sleep, 113 μA/MHz active
  • SAM L10 (Microchip): 1.38 μA in sleep mode, 169 μA/MHz active @ 48 MHz
  • MSP430FR2000 (TI): 0.4 μA in standby, 116 μA/MHz active @ 8 MHz
  • NRF51822 (Nordic): 2.5 μA in deep sleep, 9.7 mA RX/TX @ 16 MHz

This shows the wide range of power consumption possible. Factors like operating voltage, peripheral choice, and process technology all contribute to differences between chips.

Use Cases

The Cortex-M0 is well suited to a variety of low power embedded applications including:

  • Battery-powered and energy harvesting devices
  • Smart meters and smart grid devices
  • Environmental sensors
  • Wearable health trackers
  • Low-power wireless IoT endpoints
  • Home automation and smart home devices
  • Toys and other consumer products

The ability to operate for long periods on small batteries or harness low levels of ambient energy makes the M0 a very flexible choice for product designers. It provides enough performance for many simple tasks while sipping power.

Optimizing Software for Low Power

To fully realize the low power potential of the Cortex-M0, software should be designed with power in mind:

  • Avoid unnecessary polling loops, use sleep modes and wake only when needed
  • Minimize use of power-hungry peripherals like RF transmitters
  • Manage clocks and power to unused sections of the MCU
  • Use DMA transfers instead of CPU loading for bulk data movement
  • Choose low-power peripherals when possible (like LPUART instead of UART)
  • Use flash memory efficiently to reduce reprogramming cycles
  • Process data algorithmically instead of taking more measurements
  • Operate at lower voltages/speeds when real-time demands permit

Efficient firmware can often have a bigger impact on power reduction than hardware optimization alone. The Cortex-M0 provides flexible sleep modes and clock control peripherals to enable energy-friendly software architectures.

Conclusion

The ARM Cortex-M0 achieves remarkably low power consumption through an efficient RISC architecture, extensive clock gating, and advanced process technology. Core power draw ranges from around 10 μA/MHz at 1V up to around 1 mA/MHz at 1.2V.

Total system power depends on the MCU chosen, peripherals enabled, operating frequency, supply voltage, and software. But with careful design, an M0-based system can operate for years on a small primary battery or even energy harvesting sources.

The M0 is highly competitive in low power applications needing basic microcontroller performance. It forms the basis of many energy-friendly connected devices. With proper optimization across hardware and software, the M0 will continue to enable innovative ultra-low power products.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Can ARM Cortex-M processors do division?
Next Article How to get started with ARM Cortex-M and RTOS?
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

How Instructions are Fetched in Cortex M Processors?

Overview of Instruction Fetch in Cortex M The IFU fetches…

7 Min Read

What is Thumb instruction set in ARM Cortex M3 processor?

The Thumb instruction set is a compressed 16-bit instruction set…

6 Min Read

What is the processor boot sequence?

When a processor powers on, it goes through a series…

7 Min Read

stm32 bootloader example

A bootloader is a small program that runs when a…

6 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account