What you will need (in order to use the 664p/1284p in a breadboard):
AT Mega 644p/1284p IC (with boot loader)
16/20MHz crystal
2 x 22pF capacitors
10K resistor
Breadboard
LEDs
220 ohm resistors
Arduino duemilanove board with the 328 IC removed!
What you will need (in order to install boot loader)
AT Mega 664p/1284p IC
USB tiny (works for REprogramming boot loader - will let you know if works on fresh IC later)
AVR ISP mkII ICSP programmer (better option)
AVR studio v5
Setting up the 1284p (or 664p) on a breadboard.
1 ) pin 9 to 5V via a 10K resistor
2 ) pin 10 to 5V
3 ) pin 11 to GND
4 ) pin 12 to GND via a 22pF capacitor
5 ) pin 13 to GND via a 22pF capacitor
6 ) place 16/20MHz crystal between pins 12 & 13
7 ) pin 14 to arduino duemilanove board pin RX
8 ) pin 15 to arduino duemilanove board pin TX
9 ) pin 30 to 5V
10 ) pin 31 to GND
11 ) pin 6 to anode of an LED with cathode to GND via a 220ohm resistor (for the blink program)
12 ) connect GND and 5V of the arduino board to the bread board.
13 ) connect the Arduino board to your computer using a standard USB cable.
Modifications to the IDE on Arduino:
- Download the ZIP file containing the additional files.
- Install the Arduino code as per instructions on their site.
- Locate the file “boards.txt” which will be located inside the Arduino program folder inside “Resources/Java/Hardware/Arduino”. Now copy the following text as it is and place it into the boards.txt file as the other ICs appear.
##############################################################
ADABoot1284Pst.name=ATmega1284p stk500v2 loader w/20Mhz
ADABoot1284Pst.upload.protocol=stk500v2
ADABoot1284Pst.upload.maximum_size=126976
ADABoot1284Pst.upload.speed=115200
ADABoot1284Pst.bootloader.low_fuses=0xF7
ADABoot1284Pst.bootloader.high_fuses=0xD8
ADABoot1284Pst.bootloader.extended_fuses=0xFD
ADABoot1284Pst.bootloader.path=stk500v2
ADABoot1284Pst.bootloader.file=stk500boot_v2_mega1284p_20.hex
ADABoot1284Pst.bootloader.unlock_bits=0x3F
ADABoot1284Pst.bootloader.lock_bits=0x0F
ADABoot1284Pst.build.mcu=atmega1284p
ADABoot1284Pst.build.f_cpu=20000000L
ADABoot1284Pst.build.core=arduino
ADABoot1284Pst.verbose=true
##############################################################
atmega1284p.name=ATmega 1284p (20MHz)
atmega1284p.upload.protocol=stk500
atmega1284p.upload.maximum_size=131072
atmega1284p.upload.speed=38400
atmega1284p.bootloader.low_fuses=0xFF
atmega1284p.bootloader.high_fuses=0xDC
atmega1284p.bootloader.extended_fuses=0xFD
atmega1284p.bootloader.path=atmega
atmega1284p.bootloader.file=atmega1284p_20.hex
atmega1284p.bootloader.unlock_bits=0x3F
atmega1284p.bootloader.lock_bits=0x0F
atmega1284p.build.mcu=atmega1284p
atmega1284p.build.f_cpu=20000000L
atmega1284p.build.core=arduino
##############################################################
atmega1284p16.name=ATmega 1284p (16MHz)
atmega1284p16.upload.protocol=stk500
atmega1284p16.upload.maximum_size=131072
atmega1284p16.upload.speed=38400
atmega1284p16.bootloader.low_fuses=0xFF
atmega1284p16.bootloader.high_fuses=0xDC
atmega1284p16.bootloader.extended_fuses=0xFD
atmega1284p16.bootloader.path=atmega
atmega1284p16.bootloader.file=atmega1284p_16.hex
atmega1284p16.bootloader.unlock_bits=0x3F
atmega1284p16.bootloader.lock_bits=0x0F
atmega1284p16.build.mcu=atmega1284p
atmega1284p16.build.f_cpu=16000000L
atmega1284p16.build.core=arduino
##############################################################
atmega664p.name=ATmega 664p (16MHz)
atmega664p.upload.protocol=stk500
atmega664p.upload.maximum_size=131072
atmega664p.upload.speed=38400
atmega664p.bootloader.low_fuses=0xFF
atmega664p.bootloader.high_fuses=0xDC
atmega664p.bootloader.extended_fuses=0xFD
atmega664p.bootloader.path=atmega
atmega664p.bootloader.file=atmega664p_16.hex
atmega664p.bootloader.unlock_bits=0x3F
atmega664p.bootloader.lock_bits=0x0F
atmega664p.build.mcu=atmega644p
atmega664p.build.f_cpu=16000000L
atmega664p.build.core=arduino
##############################################################