Pro Micro (atmega32u4) shutdown Timer/Counter4

Hello there, I am hoping somebody has some incite on this and can help me out.

I am trying to power down sleep with the lowest power drain possible. I am at 65uA but should be able to go lower according to the spec (leds and regulator are already gone).

I have managed to disable everything on the PRR0 and PRR1 except PRTIM4 the spec indicates that it should be possible (the text says it’s writable the figure shows R not R/W which is weird).

I do:

#define PRTIM4 4
PRR1 |= (uint8_t) (1 << PRTIM4)
// disable more things
Serial.println(PRR1, BIN);
// Reads back 1001 binary so PRTIM3 and PRUSART1 are down but not PRTIM4

The value of PRTIM4 is always 0. I have tried disabling everything in TCCR4* but didn’t help. Has anyone been able to do this or knows what I might be doing wrong?


I'd say you've probably found a bug in the hardware; I don't see it listed in the errata as yet.
The fact that it is shown in the datasheet as an "r" bit and that there is no bit constant defined for PRTIM4 suggests that it is in some way different.

In your case I don't think it matters though:

7.7 Power Reduction Register
The Power Reduction Register, PRR, provides a method to stop the clock to individual peripherals to reduce
power consumption. The current state of the peripheral is frozen and the I/O registers can not be read or written.
Resources used by the peripheral when stopping the clock will remain occupied, hence the peripheral should in
most cases be disabled before stopping the clock. Waking up a module, which is done by clearing the bit in
PRR, puts the module in the same state as before shutdown.
Module shutdown can be used in Idle mode and Active mode to significantly reduce the overall power
consumption. In all other sleep modes, the clock is already stopped.

Could be a bug I guess, I was thinking maybe some kind of undocumending process to turn it off. Thanks for pointing out that I don't need it anyway. I will have to hunt for the extra micro amps somewhere else.