Atmega 328 vs 328P Problem

Lsnyman:
I used a ceramic resonator 16MHz. In the eagle files from Gravitech it says resonator. It looks identical to the one on the original board. Do you think it needs to be a crystal?

No.

I did not change the fuse bits.

From the factory, the processor is configured to run at 1 MHz using the internal oscillator. If you did not change the fuses then it is still configured to run that way.

Do you have another board? Like an Arduino Uno? If you do, use OptiLoader to install the bootloader. It handles all the details including correctly setting the fuses.

I agree with @tim7. A timing test may help determine what's wrong. (other than the 20 minutes; 15 to 30 seconds is adequate)