The Arduino IDE 1.0.1 and 1.0.2 introduce a base support to the microcontrollers Atmega644P and Atmega1284P. However, the support offered by the IDE isn’t complete by default: it is necessary to modify some files so that the support is 100% functional and to add the complete pinout of the chips. Another problem is the bootloader. The Atmega1284P has an internal Flash of 128 kB and the actual Optiboot 4.4, available with the Arduino IDE 1.0.1 isn’t able to write over the 64 kB limit.
So I decided to create a couple of mods to add the complete support to these microcontrollers, one for the 1.0.1 IDE and one for the 1.0.2 IDE. To do that I took the version 4.5 of the bootloader, created by WestfW (the author of the Optiboot 4.4) to fully support the 128 kB of Flash of the Atmega1284P, and the pins definition of the microcontrollers, both from the Mighty-1284p core by Maniacbug (many thanks for his good work); after that, I modified some files of the Arduino 1.0.1 core. To complete the work I’ve created some new entries to add the the file boards.txt.
The last problem to fix was an HW bug that afflicts in some productions of the DIP version of the Atmega1284P that interferes with the serial communication, necessary to permit this chip to communicate with other devices or to program it using the bootloader. After a little search over the internet I’ve discovered a solution: we have to add an RC filter on the RX pin (phisical pin 14) using a 10Kohm series resistor and a 100nF parallel capacitor, placed as close as possible to the microcontroller’s pin. To build a standalone circuit you’ll find a simple schematic in the package at the end of this article.
the IDE 1.0.2 adds a better support to microcontrollers Atmega644P/1284P and now the modifiction of the core files is not necessary anymore. So you just have to download the mod version 1.0.2 and unpack the files in the usual place.