# How to choose a low power Microcontroller?

Cortex-M0+ from NXP and Freescale claim they have world leading energy efficiency.

TI Wolverine also claim they cuts power consumption in half and have the lowest power in memory, peripheral, standby and active.

In some data logging application which platform consume less lower? I have 3 channel sensor with a sampling rate about 3200hz.

TI's MSP430 is well known for its low-power: I've used the MSP430F1101 in an application which included the microcontroller, a voltage regulator and a reset circuit, which, with the controller active, consumed less than 5$\mu$A typical.

It depends on your needs. My controller didn't need high speed, so I could operate it on a 32.768kHz crystal, which saves a lot of power compared to for instance 4MHz. You say you have an update rate of 3200Hz, then a 32.768kHz crystal may be too slow; you can only execute 10 instruction per sample.
The MSP430F1101A is specified at 160$\mu$A at 1MHz and 2.2V. This current is almost linear with frequency, so at 100kHz you'd have about 16$\mu$A. That's 48$\mu$W at 3V. Then it will run for 250 days on a single CR2430 coin cell rated at 290mAh. That's even without using powerdown modes. If you can put the microcontroller in the 0.7$\mu$A standby mode most of the time you can extend this easily to several years.
If you would need an opamp with that, there's the LPV521, which needs a miserly 0.4$\mu$A. Also discussed here.

Be careful with the Cortex-M0 figures on the ARM website. 52$\mu$W/MHz and lower is indeed spectacular, but that's just the core, a complete controller needs more. The LPC1102, for instance, consumes 2mA at 12MHz and 3.3V, that's 550$\mu$W/MHz. Ten times the ARM figure, and almost twice what the MSP430 needs.
The Wolverine doesn't seem to be a real product yet.

Edit 1:

3$\times$3200 bytes/s is a lot for a standalone low-power application. You'll fill a 64Mb Flash in less than 15 minutes. If your data is 16-bit, less than 7 minutes. And what are you going to do next? I presume you have no connection with a PC to collect the data, otherwise you probably wouldn't need that very low power. But if you're finished in 15 minutes low power is a silly requirement, let alone that the Flash needs a lot more than the microcontroller.

Edit 2:

Aha, wireless! That's new. This may be much more of an issue than the microcontroller. We've seen that < 1mA is achievable, but a RF transceiver will often require 100 to 150mW when active. Try to find a solution for this. You'll have to switch off the transceiver for most of the time, but it may need some time to become active again. Even at a 1% duty cycle it will consume much more than the microcontroller. Do you have specs for the transceiver yet?

• How to calculate the instruction per sample? 1MHz/3.2KHz/Average cycle per instruction=instruction per sample? – pstan May 26 '12 at 11:45
• @pstan - Yes. Cycles per instruction is for many controllers 1, so at 1MHz you'll have 320 instructions time to do something with the data. If you want to write it to Flash, you'll probably collect a numbers of samples in an array, and dump them in a page write. Can you comment on the edit of my answer? – stevenvh May 26 '12 at 11:53
• my sensor have a FIFO buffer build in so I have enough time to do a page write, I also have a network processor to download the data via wireless. The sensor will record an event and transfer it later. – pstan May 26 '12 at 12:06
• According to the datasheet: 15mA Active TX peak current, 17mA Active RX peak current and 5.9mA average for 20kbps Burst mode. – pstan May 26 '12 at 12:30
• @pstan - the 20kbps burts mode won't do; you have at least 80kbps of data (presuming 1 byte/sample/channel). If I presume you'll need bidirectional communication you'll have 32mA, at what, 3.3V? That's 105mW. How fast can you transmit? If that's for instance 250kbps you transceiver will have to be on for 1/3 of the time to send 80kbps. The average power will be 35mW, or a 100 times more than the microcontroller uses. The CR2032 battery will be drained in a day. – stevenvh May 26 '12 at 13:58

In some data logging application which platform consume less lower?

How long is a piece of datalogger?

"In some data logging applications which X does Y" depends on both X & Y.

You need to define your requirementy more tightly, and the manufacturers need to provide some real data sheets and not just promotional techo wishlists. (These may be available but it seems you have to request them specifically).

In a data intensive one it's the lowest mW/MHz processor probably.

In a sleep-usually mode it may be the one with lowest sleep + RTC + NMI mode.

The Wolverine claims about 360 nA on standby with RTC running. That's 3.2 mAh/year.
The smallest Lithium coin cell available would probably run the processor in styandby for the sensible shelf life of the battery. You could probably run one off a large Weston standard cell for 100 years.

The M0 comes in many many flavours and a good number of them are low power but not exceptionally low power. It's likely that the top end M0's will have more processing power than the Wolverine (maybe not) and based entirely on promo material they seem to claim far less uW/Mhz operating, but it seems unlikely that they will achieve a better standby current.