atmega1284p/pu

I've been using the atmega1284 without issue (you like I did got the atmega1284-PU, not the atmega1284P-PU - Note that the PU specifies a DIP package and is nothing to do with the device).

All I had to do is to find the definition for ATmega1284P (just using CTRL-F), and change the signature to:

signature = 0x1e 0x97 0x06;

Then I used the IDE to burn a version of optiboot bootloader compiled for the mega1284p

Then once the bootloader was burned I changed the signature back to:
signature = 0x1e 0x97 0x05;

It works a treat for me.

If you let me know what clock frequency you plan to use, I will compile an optiboot hex file for you. Note that the version I modified uses UART1 for programming.