A while back a wrote up instructions on how to program an Arduino with an AVRISP mkII.
Back then the current software for the Arduino IDE was set at 0022 and it required you to modify a file to get it work.
Apparently enough people wanted a feature like that to come built into the Arduino IDE that it has now become reality. No more modifying of files.
It’s extremely easy to do know and I’ll show you exactly how to do it, so go ahead and fire up the Arduino IDE, plug in your programmer (I’m still using an AVRISP mkII) and plug up your Arduino Un0 to an external supply and to your programmer.
First select which board you plan on using:

Next select the programmer you plan on using:

Lastly, when you are ready to upload your sketch to your Arduino, hold the the shift key when you push the upload button. You’ll notice the words change when you hover your mouser over it while hitting the shift key.
That’s it! Simple as pie. Using this method you will bypass the Arduino bootloader, freeing up some flash memory as well as avoiding the initial startup sequence that needs to be used for the tradition sketch upload.
Tried the above on my own hardware which was based on the NANO and it dosent work?
Any ideas?
Describe your setup to me? Are you using the new Arduino 1.0 IDE software? This feature isn’t included in any of the older IDE versions.
yes i am using the Arduino 1.0 IDE software. I have designed my own board using the NANO as a base. So the processor section is identical. Basically I need to claw back the extra program space used by the bootloader for my software. I have followed your instructions and have got it to upload via the usb by editing the board.txt and preference.txt files. But i want to dump the USB loading part of my circuit and load the software via AVRISP MKII. it keeps looking for a usb connection.
With the Arduini 1.0 IDE, you don’t need to modify any files. Also, make sure you have all the proper drivers installed for the AVRISP.
Basically hook up your AVRISP via USB to your computer, hook up an external power supply to the Arduino and hook up the ribbon cable from the AVRISP to the 6 pin ICSP header you should have somewhere on the board. Also, make sure it’s in the correct orientation as well. Where the pin 1 (red strip on ribbon cable) connects to is important.
If possible, upload a pic of your setup to a photo sharing site and post the link to it so I can have a look. It’ll be easier to advise you if I know what you’re working with.
Thank you for your fast update!
On my setup (Official Arduino Uno) it works perfectly and very fast.
Thank you for you excellent tutorial!
Robert
No problem! Glad you got it all working.
Thanks for taking the time to post this. I almost started editing my “boards.txt” file, until I read through the comments on your old post and was directed to come here (found you on google)
I was hoping it was this easy — I sent some schematics off to the factory to be made in to PCBs with a 2×6 header hooked up to SPI on the AVR. I kinda guessed at this… and you confirmed I was right. Just tried it out on an unprogrammed, unbootloaded Atmega368P mounted on a breadboard right out of the box that i got from Mouser. This worked the first try — and on a Mac too.
Love it! Plus, no more waiting the 2 seconds for the chip to boot up either. Love the option of not having to have a boot loader and at the same time get all the benefits of the Arduino libraries.
Glad it worked out for you!