Hi all! I want to run atmega 328p on 3.3v for my project and for doing the same I gathered some information. As far as I understood, I will have to program the extended fuse bits of the 328 so that i can disable brown out detector (BOD), so that I can run the chip on 3.3V and I will have to program the low fuse bits for the clock if I want to use an external clock of 8mhz (8 mhz coz it is recommended that for voltage of 3.3V the clock should be set at less than 10 mhz). However, when I read the datasheet of 328 chip, i found that the BOD is disabled by default (pg 296 and 320), and that if an external clock is not used then the chip uses its default internal clock of 8 Mhz. All this is for a case when I have not burnt the bootloader into the chip . I guess the bootloader changes the fuse settings, for an external clock of 16 mhz and BOD is enabled. These were the observations when I ran a bootloaded as well as not bootloaded chip on a breadboard with the blink program in both the chips OBSERVATIONS 1.a bootloaded chip with bootloading done for uno, does not run without external clock. Probably because the fuse settings done by the bootloader demand an external clock. 2.a bootloaded chip also does not run on 3.3V, again probably because of the fuse settings done by the bootloader. 3.a non bootloaded chip runs at 3.3v as well as 5v but it runs only in presence of an external clock(i tried 16 mhz), but does not work when the clock is removed.
Now comes the list of questions - 1. In case of non bootloaded chip, why does the chip demand an external clock? Why is it not using its internal clock? 2. Am I right about the inference i made in the first two observations? 3. What is the best way to program a chip such that it uses 3.3V , with an external clock. 4. What is the best way to program a chip such that it uses 3.3V, using it's internal clock.
Here is a link to the datasheet - http://www.atmel.com/Images/doc8161.pdf