Running ATmega328P on internal 8MHz clock
-
@BartE
Oh, didn´t know that 3 V automatically limits to 16MHz but good to know. I´ve already ordered a bunch of 16MHz Oscillators which I could still install and just run in 8MHz by powering with 2 AA batteries. Also I would stay flexible If I´d need 16MHz; Just use 5V!@tbowmo
thanks for your explanation! After I used up my 16MHz Oscillators I will test a setup using the internal clock. -
If you use an 16MHz oscillator and power the board with 3V, the board will run unstable as the ATMega does not support 16Mhz with 3V.
If you just change the power, will not change the oscillator frequenzy. You have to Switch to the internal clock signal when powering the board with 3V and you have a 16MHz clock installed. -
I think that there is a typo in your comment? I think you mean that "If you use an 16Mhz oscillator and power the board with 3V..."
That would make the most sense in my world :)
-
Have a look here:
http://www.gammon.com.au/breadboardThis is the easyiest way to bootload you Atmega328p with 8Mhz. Works like a charm.
-
Have a look here:
http://www.gammon.com.au/breadboardThis is the easyiest way to bootload you Atmega328p with 8Mhz. Works like a charm.
@HarryDutch Hu awesome link. Thanks!
-
a bit late but a word of warning for anyone embarking on this idea: the internal 8MHz clock is very inaccurate (%10 according to the datasheet), which likely will break asynchronous protocols like UART. As long as you are using only synchronous protocols like I2C you should be fine. More details can be found in this excellent thread on stackexchange https://electronics.stackexchange.com/a/32433/216828
-
Hi BartE,
I´ve read the internal clock at 8 MHz is not as good as an external 8MHz clock because the accuracy of the internal oscillator seems to be only 10% (Atmel Datasheet page 323). What are your experiences? Would you recommend using internal or external OScillator?
Also I am wondering why most people are running their custom PCB´s using 8MHz clocks instead of 16MHz. Is it only because of reducing the energy consumption? I think so.
I originally planned to use 16MHz clocks, but now, from the energy consumption point of view, I will probably switch to the 8MHz variant...
@siod yes, mostly because of power consumption. You can run an ATmega328P on a 3V battery, but then you need to use 8MHz instead of 16MHz according to the datasheet.
As I replied separately, you don't want to use an inaccurate clock for async protocols like UART that require precise timing. -
@siod yes, mostly because of power consumption. You can run an ATmega328P on a 3V battery, but then you need to use 8MHz instead of 16MHz according to the datasheet.
As I replied separately, you don't want to use an inaccurate clock for async protocols like UART that require precise timing.@eeichinger
Yes an old thread, but still useful.
well if you plan to run on a low voltage, you must disable BOD, else per default the 328 will switch off at 2,7V. And then you need to run 1 at MHz