Have an AVRISP mkII that you want to use to program your Arduino Uno and still use the Arduino IDE? Well this post will show you how.This post assumes you have an Arduino Uno, running Windows XP, and have the latest IDE software (version 0022 as of this post).

The main reason I wanted to go this route was because of the start up lag. The lag is used by the Arduino IDE when you program via USB. The Arduino IDE will reset your Uno which fires up the bootloader to check for a new incoming program. This half a second or so lag will always be there on start-up and I wanted to get rid of it. Another draw back is that if you have stuff connected to the pins that is used for the serial communications, you could get erroneous data as those pins are checking for incoming serial data.

This procedure is rather simple. All you need to do is modify the boards.txt file. Boards.txt should be located in the Arduino folder. Hardware > Arduino > Boards.txt

Add this code in there and then save it after:

##############################################################

unoisp.name=Arduino Uno w/ AVR ISP MKii

unoisp.upload.protocol=avrispmkii

unoisp.upload.using=avrispmkii

unoisp.upload.maximum_size=32256

unoisp.upload.speed=115200

unoisp.bootloader.low_fuses=0xff

unoisp.bootloader.high_fuses=0xde

unoisp.bootloader.extended_fuses=0x05

unoisp.bootloader.path=optiboot

unoisp.bootloader.file=optiboot_atmega328.hex

unoisp.bootloader.unlock_bits=0x3F

unoisp.bootloader.lock_bits=0x0F

unoisp.build.mcu=atmega328p

unoisp.build.f_cpu=16000000L

unoisp.build.core=arduino

Now fire up the Arduino IDE and you’ll notice a new option available under Tools > Board. It’s called Arduino Uno w/ AVR ISP MKii. That’s pretty much it! Make sure you that option selected before you hit the upload button.

Note 1: If you have any issues with the speed and time of the programs, use the AVRISP to burn a fresh bootloader for your Arduino Uno and then try again. Burning the bootloader will set the internal fuses on the ATMEGA328 so that it works correctly on the board.

Note 2: If you have issues with it not responding to the AVRISP then you may have issues with the driver. A driver comes with the IDE download called libusb. When trying to update the driver, it is located in the Arduino folder. Hardware > Tools > avr > utils > libusb > bin.

Any other questions or problems? Leave me a comment and I’ll responds as soon as possible to help you out.

UPDATE 1/18/2012:

The Arduino has been updated to 1.0 and this work around is no longer needed. If your are using the new 1.0 IDE, then check out the new way to program your Arduino with an AVRISP mkII.

Share this: Twitter

Facebook

Email

