ATMega 328P-PU: 8MHz or 1MHz



  • Hello,

    What are the benefits of running the ATMega with only 1MHz instead of 8MHz when no external crystal is connected?

    I have some battery based sensors with a Si7021 connected running on two AAA batteries.

    Regards
    Stefan


  • Hardware Contributor

    Hello, running at 1MHz will consume less power than at 8MHz. In your case you won't have much advantage on this front at when the fuses are set to run at 1MHz the atmega will take much more time to wake up (45ms if I remember well) so during that time power will be wasted and you won't save much more during the short time needed to read sensor values and send them.

    But if you run from two AA/AAA you might want to run at 1MHz because it will allow the atmega to run without risks at low voltage (down to 1.8V). Sensor will fail before (it's min 2V I think) and nrf too(1.9V) but at 2V you will have used most of the energy in your batteries and that's not possible at 8MHz.


  • Mod

    To add to what nca78 already said, according to the atmega328 specs, the limit for 8MHz is 2.34V. Going below that often works, but running the mcu outside specs can cause all sorts of wierd problems that are hard to troubleshoot so it might not be worth it.


  • Hardware Contributor

    Do that means that the atmega328 can run on 1mhz without crystal ?
    This would solve some space constraints problems !

    Is the internal RC oscillator stable enough to communicate with NRF24 correctly ?


  • Hardware Contributor

    @napo7 said:

    Do that means that the atmega328 can run on 1mhz without crystal ?
    This would solve some space constraints problems !

    Is the internal RC oscillator stable enough to communicate with NRF24 correctly ?

    Yes, everything is fine with internal crystal (up to 8MHz) if you don't have any task needing precise timing.
    No problem with the NRF24.


  • Hardware Contributor

    Great !
    I've done a small quick desktop test this morning.
    I've managed to burn optiboot with 8mhz internal RC, it works ok with just the Atmega328 and no external parts 🙂
    But, I've searched for fuses settings for 1mhz. Found none !
    I suppose I have to choose "8Mhz int rc" and apply "clock divisor =8 " ?
    So, the int. RC will run 8mhz, but the cpu will be clocked 8 times slower, so 1mhz ?

    Am I right ?


Log in to reply
 

Suggested Topics

18
Online

11.4k
Users

11.1k
Topics

112.7k
Posts