I am following a tutorial here and it says to change the firmware of the AVR chip using the Atmel Flip Software. The tutorial says to put the Arduino in DFU mode and then load a .hex file in the Flip Software. My AVR chip is the Atmel Mega16U2. If I follow the steps and change the firmware, is it permanent or can I reset the AVR back to normal? Thanks.
It won't be permanent. You could reprogram it back to the factory-shipped state. However I don't know how to do that.
I wonder if a Leonardo or Micro could do what you want with less trouble as their main MCU is the 32U4 ?