user-1: I currently have a barebone arduino built from just an Atmega 328P and a 16Mhz external crystal.

I planning to move this system down to 3-3.6V but I have read that on low voltage I have to use 8Mhz crytstal so my only question is that because of this change do I have to take the chip out to reflash with the programmer again or it will work as it did before?
What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?

user368: 
...I have read that on low voltage I have to use 8Mhz crytstal...

Technically you can run anywhere below 13Mhz or so, so you have lots of choice.
You may also be able to use the prescaler to divide the clock by 2, either by hoping the ATmega can run the short time at 16MHz, or by programming the CKDIV8 fuse to start it at 2MHz.

...do I have to take the chip out to reflash with the programmer again...

If you move to a frequency within spec with either a clock change or prescaler use, yes. The bootloader and Arduino libraries expect a 16MHz clock, so you will have to rebuild the bootloader with the new clock rate, and sketches that use delay() et alia as well as the intrinsic delay functions will also need to be rebuilt.

What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?

It may work, it may not.

user-1: 
I planning to move this system down to 3-3.6V but I have read that on low voltage I have to use 8Mhz crytstal so my only question is that because of this change do I have to take the chip out to reflash with the programmer again or it will work as it did before?

Any time-sensitive code -- such as delays and UART I/O -- will run at half speed with the 8 MHz crystal. If any of this matters, you'll need to reprogram the chip. (This will include the bootloader, which will now run at half the baud rate it used to!) If this is OK, though, you can leave it alone.

What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?

The ATmega328P isn't specified to run reliably at 16 MHz at 3.3V. Many chips will actually work at this speed, but some will fail, possibly in subtle ways or at inconvenient times. Don't rely on it working.

-1: <p>I currently have a barebone arduino built from just an Atmega 328P and a 16Mhz external crystal.</p>

<p><a href="https://i.stack.imgur.com/Mrg7x.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Mrg7x.png" alt="enter image description here"></a></p>

<p>I planning to move this system down to 3-3.6V but I have read that on low voltage I have to use 8Mhz crytstal so my only question is that because of this change do I have to take the chip out to reflash with the programmer again or it will work as it did before?</p>

<p>What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?</p>
 368: <blockquote>
  <p>...I have read that on low voltage I have to use 8Mhz crytstal...</p>
</blockquote>

<p>Technically you can run anywhere below 13Mhz or so, so you have lots of choice.</p>

<p>You may also be able to use the prescaler to divide the clock by 2, either by hoping the ATmega can run the short time at 16MHz, or by programming the CKDIV8 fuse to start it at 2MHz.</p>

<blockquote>
  <p>...do I have to take the chip out to reflash with the programmer again...</p>
</blockquote>

<p>If you move to a frequency within spec with either a clock change or prescaler use, yes. The bootloader and Arduino libraries expect a 16MHz clock, so you will have to rebuild the bootloader with the new clock rate, and sketches that use <code>delay()</code> et alia as well as the intrinsic delay functions will also need to be rebuilt.</p>

<blockquote>
  <p>What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?</p>
</blockquote>

<p>It may work, it may not.</p>
 -1: <blockquote>
  <p>I planning to move this system down to 3-3.6V but I have read that on low voltage I have to use 8Mhz crytstal so my only question is that because of this change do I have to take the chip out to reflash with the programmer again or it will work as it did before?</p>
</blockquote>

<p>Any time-sensitive code -- such as delays and UART I/O -- will run at half speed with the 8 MHz crystal. If any of this matters, you'll need to reprogram the chip. (This will include the bootloader, which will now run at half the baud rate it used to!) If this is OK, though, you can leave it alone.</p>

<blockquote>
  <p>What will happen if I do not change the oscillator and leave it on 16MHZ ceramic?</p>
</blockquote>

<p>The ATmega328P isn't specified to run reliably at 16 MHz at 3.3V. Many chips will actually work at this speed, but some will fail, possibly in subtle ways or at inconvenient times. Don't rely on it working.</p>
