I spent a bit of time looking at the low power features on the new ARM Cortex M0+ based LPC800, keeping in mind several years of (positive) experience with the M0-based LPC1100. Similar to the way that the LPC1347 impressed me as being everything I wish the LPC1343 had been
, NXP seems to have learned from some of the low-power shortcomings on the LPC1100 on their latest low power 32-bit M0 chip.
One of the biggest shortcomings of the LPC1100 (and it's cousin the LPC1343) was that fact that if you wanted the lowest possible power consumption you were limited to using the +/-40% WDT oscillator for SW-based wakeup from sleep or deep-sleep modes
, and SW-based wakeup wasn't possible at all from the lowest 'power down' mode. Having SW-based wakeup is nice, but with tolerances like that you really have no control over the wakeup timing without using external HW so it's really a 'ballpark estimate' for timing.
The biggest low-power improvement in the LPC81x in my opinion is the inclusion of the new wakeup timer (WKT) that exists in the 'always on' power domain, and can perform a timer-based wakeup in any power mode, including the lowest 'deep power down' mode. You have the flexibility to choose between the 1% IRC as a clock source (except in deep power down where the IRC is disabled), or a low power +/-40% dedicated oscillator available in any power mode. It's still +/-40% in the lowest power mode, but given the longer wakeup times I tend to use the 'power down' mode most of the time (equivalent to deep sleep on the LPC1100), and I can choose between 1% for quicker wakeup and more accurate timing, or 40% but the lowest possible power when timing is less critical and I can accept longer wakeup times.
The key here is that NXP has put more options on your plate, and you get to decide which tradeoffs to make, and clearly low power is all about tradeoffs.
If you're curious about my thoughts and a quick survey of the key low power features on the LPC800, feel free to have a look at my blog post over at lpcnow.com: LPC800 Low Power Features
I've started playing with the LPC812 a bit and working on a simple project structure for it, and it will take me some time to really build up an informed opinion on the chip in practice, but I can definitely see it filling a gap on the low end when I just need to do some basic I/O like reading some sensors and logging some data or some basic motor control logic, etc., and while it's not a replacement for the LPC1100 series, it does compliment it nicely in the right situation and extra options are always welcome.