Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 6 of 6

Thread: 32U4 power consumption

  1. #1

    32U4 power consumption

    My apologies that this is about an older product, but here goes:

    On this page the idle current for the Teensy 2.0 is quite a bit higher than the 32U4 datasheet seems to suggest on page 396 (around 1.5 mA for 3.3 V/8 Mhz).

    I've gotten similar results to those shown on the Teensy page above, but I'm wondering why the datasheet shows such lower consumption in idle mode?

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,460
    Maybe you're looking at "idle" (CPU not running) current rather than "active"?

    Also pay close attention to the description of test conditions. Atmel specifies "active" current with all peripherals disabled. In some sense that may be useful to understand how just the CPU contributes to power usage, but if you're not careful it can paint a rather misleading picture of the power consumption you'll see in actual usage.

    The PJRC numbers are actual measurements with Teensy 2.0 running a program compiled by Arduino, where USB and other peripherals are active at running in the way the software actually uses them. Much of the reason that page was written so long ago was because people had very unrealistic expectations of the power consumption because Atmel's documentation was so misleading.

    However, those measurements were made in the early days of (now discontinued) Teensy 2.0 with chips Atmel manufactured at that time... about 12 years ago! Atmel was acquired by Microchip years ago, and whether they're even using the same semiconductor foundary to manufacture the chips is questionable at this point. If you were to find one of the last Teensy 2.0 before they were discontinued and repeat those measurements, odds are good you'd see some difference due to changes in manufacturing of the chips over the last decade.

  3. #3
    Thanks for this reply, Paul! I was beginning to think that the datasheet is indeed misleading. I am testing idle current with most peripherals (USB, ADC, SPI, etc. turned off), and still getting 4.5 mA, which is in the same ballpark as your number for 90% idle. Iím not really sure whatís still using power, but it seems like a far cry from the datasheetís 1.5 mA .

  4. #4
    Just in case anyone else has this question, I found that the LowPower library that I am using doesn't turn off the USB clock. When I do that using the code below before putting the MCU in idle mode, the consumption drops to 2.3 mA in idle mode, so quite an improvement, and much closer to the datasheet spec.

    USBCON |= (1 << FRZCLK); // Freeze the USB Clock
    PLLCSR &= ~(1 << PLLE); // Disable the USB Clock (PPL)
    USBCON &= ~(1 << USBE); // Disable the USB

  5. #5
    Senior Member BriComp's Avatar
    Join Date
    Apr 2014
    Location
    Cheltenham, UK
    Posts
    1,376
    Quote Originally Posted by amowry View Post
    Just in case anyone else has this question, I found that the LowPower library that I am using doesn't turn off the USB clock. When I do that using the code below before putting the MCU in idle mode, the consumption drops to 2.3 mA in idle mode, so quite an improvement, and much closer to the datasheet spec.

    USBCON |= (1 << FRZCLK); // Freeze the USB Clock
    PLLCSR &= ~(1 << PLLE); // Disable the USB Clock (PPL)
    USBCON &= ~(1 << USBE); // Disable the USB
    What should be used to turn it back on?

  6. #6
    Quote Originally Posted by BriComp View Post
    What should be used to turn it back on?
    I believe that this does the trick:


    USBCON |= (1 << USBE);
    PLLCSR |= (1 << PLLE); // Resume the USB Clock (PPL)
    USBCON &= ~(1 << FRZCLK); // Resume the USB Clock

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •