I have a project running, which has cost me a lot of time and nerves.
I developed the whole project in the Arduino IDE and tested it on a Nano Clone with 5V/16Mhz (external crystal). So far all is well, the program runs.
Now comes the tricky part that "destroyed" me mentally for 2 weeks:
I now have several new Atmega328P-Au chips, which I now want to have written with the program. However, I forgot that the chips should be operated standalone (with 3.4V voltage and without any capacitors or external crystal). I have a socket where I can place the chips, I just need a programmer and an approach how to proceed.
What do I have to consider or what do I have to calculate with when I change from 5V/16Mhz/external crystal to 3.3-3.4V/8Mhz/internal crystal?
Hi @cano62. As far as code goes, if you use a board definition that is configured for an 8 MHz clock then no changes at all are typically needed.
The timing-related Arduino core API code will automatically adjust to the clock speed so something like delay(1000) will still produce a delay of 1000 ms even though the clock is running at a different speed than your board with a 16 MHz clock.
I recommend the excellent MiniCore boards platform for use when programming an ATmega328P 8 MHz based project:
You mean for programming or running it standalone?
Is it maybe possible to get an arduino Mini with 3.3v and 8Mhz and desolder the chip and replace it with a factory atmega 328p au, Programm and remove it?