Will a programmed Mini still work if I replace the 16 MHz Crystal with 32 kHz

I wish to save power in a simple Arduino Pro Mini control system (only digital inputs and outputs, no analog interfaces) by running with a very slow clock - 32kHz instead of 16MHz.

It appears that if I turn off the pull-up resistors and the brown-out system and remove the voltage regulator and power LEDs the power consumption at 32kHz will drop by a factor of 500 (i.e. 0.2% of normal) from that at 16MHz.

If I program the Mini with its original crystal, check for correct operation in the original setup, and then remove the unnecessary stuff and change the crystal it appears to me that it will still work - but 500 times slower and at approximately 0.2% or the original power. I've searched to see if anyone has done this but have not found anything (but, of course, I may have asked the wrong question or looked in the wrong place).

Obviously it will be slow, and delays will be increased by a factor of 500 (1 mS delay programmed delay will become half a second), but can anyone tell me if [A] I need to do anything else, and is it likely to work?

If you just swap the crystals,it wont work. However you may want to take look at this.

Thank you for this - it was very useful.

But I still do not understand why a 32kHz crystal will not work.
Can you explain, please?

16MHz means it will oscillate 16000000 times in a second and
32KHz means it will oscillate 32000 times in a second

Notice the difference in the orders.....

MalharD:
16MHz means it will oscillate 16000000 times in a second and
32KHz means it will oscillate 32000 times in a second

Notice the difference in the orders.....

Has anyone ever seen a "32 kHz" crystal that does not oscillate at 32768 Hz?

AWOL:
Has anyone ever seen a "32 kHz" crystal that does not oscillate at 32768 Hz?

No.

There are options in setting up the oscillator that control crystal drive levels; this is hardware level stuff that involves programming the microcontroller registers at startup. The 328P datasheet discusses this in section 8. The drive levels are much lower for the 32khz crystal so it would be badly overdriven if the chip were originally configured for a 4-16MHz crystal and a 32kHz crystal is subbed. I'm not even sure how you would change these settings within the Arduino system - probably would need to edit some header files for the hardware; the Arduino system is not really optimized for this type of thing; you'll be fighting "the system" all the way. Best to embrace the Arduino for it's simplicity, ease of use and high-level programming.

dac621:
There are options in setting up the oscillator that control crystal drive levels; this is hardware level stuff that involves programming the microcontroller registers at startup. The 328P datasheet discusses this in section 8. The drive levels are much lower for the 32khz crystal so it would be badly overdriven if the chip were originally configured for a 4-16MHz crystal and a 32kHz crystal is subbed. I’m not even sure how you would change these settings within the Arduino system - probably would need to edit some header files for the hardware; the Arduino system is not really optimized for this type of thing; you’ll be fighting “the system” all the way. Best to embrace the Arduino for it’s simplicity, ease of use and high-level programming.

Maybe not, Include the <avr/sleep.h> in your sketch and put everything on sleep as said be @NickGammon on his website.

Reducing the clock speed by a factor of 500 will NOT reduce power usage by a comparable factor!

While the microprocessor does use a good bit of power as the clock state changes - it does much of it's work on the rise and fall of the clock signals - it also uses a good bit of power just maintaining those signals even as the clock state stays steady.

I would guestimate that reducing clock speed by a factor of 500 would only reduce power usage by a factor of maybe 100 or so.

The proper answer to your problem is indeed to use the sleep function. Power conservation is exactly what sleep is intended for. And/Or consider a different microcontroller platform. The 3.3v 8MHz Arduino Mini is a good choice. I have tinkered with some of the MSP430's which are extremely low power, there are many others as well.

There is one particular advantage to a 32khz crystal - at least some time ago with a project I was working on, when you are trying to deal with EMI specifications, the regulations are much more relaxed if the clock is 32khz or less (which was part of the reason we used a Motorola 68332 - you ran the oscillator at 32khz then using the internal PLL, ran the cpu at 25mhz ). That processor was originally developed for the auto industry and I suspect that was the same issue they were working with - external clock at 32khz meant much less in EMI testing and certification (it had a whole bunch of features in the chip designed specifically for engine control type applications - Motorola made millions of the chips).