I have a design where power savings is a huge issue and even the lowest power sleep mode of the \$\mu\$C is too much quiescent current (30 \$\mu\$A). I'm aware of many and have used \$\mu\$Cs in the past that are extremely low sleep current (in the nA range), but I don't have the luxury of moving to a different \$\mu\$C in my current design (I promise this is the case due to constraints imposed upon me by the design team, otherwise I would migrate to a more optimal). Basically, we're as good as we can get for the \$\mu\$C we have to use and it's not good enough. So I'm not looking for new \$\mu\$C recommendations. I need a way to eliminate the sleep current of the \$\mu\$C or at least bring it down into the nA range.

One thought I had was remove power from the \$\mu\$C completely. That solves the quiescent current problem, but my fear is the unknown resistance of the \$\mu\$C when it is off. As datasheets don't normally list this figure, I think it would be safer to just isolate any digital I/O connected to the \$\mu\$C so they don't back-feed the \$\mu\$C (causing possibly even more current draw than the sleep mode did). Are there any good, ultra low-power schemes for this? I need to be in the nA range for quiescent current.

The design has a CPLD that is always on. With some clever clocking & manufacturer optimizations my CPLD should end up in the low \$\mu\$A range as well. I'm aware of this and have accepted this hit in power consumption due to design constraints. Could I route signals through that & employ some tri-state methods inside of the CPLD if needed?

The digital I/O I have connected are:

  • SPI
  • I2C
  • Logic/interrupt lines
  • \$\begingroup\$ @stevenvh - So the current design we're using has roughly 30 uA in the lowest power sleep mode. I'm aware of many and have used uCs in the past that are in the single digit uA range (or even lower), but I don't have the luxury of moving to a different type in my current design. Basically, we're as good as we can get for the microcontroller we have to use and it's not good enough. \$\endgroup\$
    – Joel B
    Jun 23, 2011 at 15:33
  • \$\begingroup\$ I'm curious what controller you're using and what level of quiescent current you find acceptable. Several manufacturers have controllers with low power modes far less than 1 \$\mu\$A. The CPLD will consume much more than that. \$\endgroup\$
    – stevenvh
    Jun 23, 2011 at 15:34
  • \$\begingroup\$ @stevenvh - With some clever clocking & manufacturer optimizations my CPLD should end up in the low uA range as well. I'm aware of this and have accepted this hit in power consumption due to design constraints, what I do have the ability to change is the implementation of the uC. \$\endgroup\$
    – Joel B
    Jun 23, 2011 at 15:40
  • \$\begingroup\$ Given that you are talking about re-routing signals and thus creating a new pcb, you are not "stuck" with the current micro. Most families have newer members that are largely software compatible, and software can be reworked or have emulation layers added to account for the differences. More importantly, software is a one-time expense, hardware switching tricks may cost you on each unit. \$\endgroup\$ Jun 23, 2011 at 16:31
  • 1
    \$\begingroup\$ @JoelB, alot of your detail to your question is in these comments, could you please edit the relavent information into your question so posters can better answer your question? \$\endgroup\$
    – Kortuk
    Jun 24, 2011 at 6:18

1 Answer 1


My first reaction is that trying to externally turn off the micro is the wrong way to go about this. Perhaps you are using the wrong micro, but there are micros that take very little power when in full sleep mode. Take a look at some of the "nanoWatt" (marketing term) PICs and MSP430s. The latest PICs are basically down to a tiny amount of leakage current in sleep, less than 1uA for some.

How low a current do you need? What does the rest of the circuit draw. What is the CPLD current when it's not switching? It's hard to give a good answer without some real numbers.

Saying that something is a "huge issue" is no spec at all. For example, if you are trying to run something as long as possbile on a CR2032 battery, then 1uA sleep current is fine since the effective self-discharge current is more than that. If you want 3 years from a single AA battery, then even more would be acceptable.

EDIT: Something else I should have added. If you really are going to switch power to the micro (I still think that's a bad idea, get the right micro instead), you probably need to switch the ground instead of the power. You say there are IIC and UART lines connected to the micro. IIC has passive pullups, so these will either draw current or power up the micro thru the protection diodes if you try to switch off the power instead of the ground. Logic level UART signals idle high, so there could be a similar issue there too.

In any case, you can apparently redesign the board, so I don't understand how you're stuck on that particular micro, whatever it is. If power is really such a "huge issue", then everything else should be on the table.

  • \$\begingroup\$ @Olin - I asked the same. Apparently Joel is stuck with a controller which is less than ideal, see his comments to the question. \$\endgroup\$
    – stevenvh
    Jun 23, 2011 at 16:00
  • \$\begingroup\$ @Olin Lathrop - You're right, turning off the uC is not ideal. I do realize there are myriads of uCs out there designed for ultra low-power sleep currents. The designers who chose the hardware for me several years ago, when firmware development began, did not choose such a uC. I've amended my question to more adequately clarify desired quiescent current ranges. \$\endgroup\$
    – Joel B
    Jun 23, 2011 at 16:04
  • \$\begingroup\$ @stevenvh: The weird thing is that I can see he replied to you but I don't see your comment that he is replying to. It's probably a browser problem on my end, but this is the only place I see this symptom. As for being stuck, I'm not sure I buy that. He's asking how the circuit could be redesigned and current is a "huge issue", so chosing a different micro sounds like a possible solution. Again, real numbers would help. \$\endgroup\$ Jun 23, 2011 at 16:05
  • \$\begingroup\$ @Olin - I edited my comment. Had to make it a new one, so I deleted the old one, apparently just at the moment Joel's answer arrived. Otherwise I would have left the old comment in place. So my comment appears after Joel's answer. Yes, it's confusing. :-/ \$\endgroup\$
    – stevenvh
    Jun 23, 2011 at 16:36
  • 1
    \$\begingroup\$ @Joel B, if you can do that can't you just reduce the current in the future? \$\endgroup\$
    – kenny
    Jun 23, 2011 at 23:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.