Hello All,
Just fyi I've very little experience using the Arduino
I'm wanting to upload a HEX file to an Arduino Mega2560.
However there is no bootstrapper on the Arduino (the uploaded program needs to run on powerup). Therefore I understand we need to use a Programmer to upload.
Would something like the Atmel AVRISP AVR ISP mkII do the job? It does appear to be one of the selectable options in the Arduino IDE. Any other recommendations?
You may need to look into Arduino ISP example on the Arduino website.
You can "bootload" chips this way with another Arduino board.
here's the link I follow.
It is not clear what your requirements are. The program will run on powerup even if there is a bootloader installed.
Yes
I always recommend the USBasp. However, there is a limitation with the stock USBasp firmware that affects uploading to ATmega2560:
There is a nice alternative firmware that was produced by some of the Arduino community members. If you replace the stock firmware on the USBasp with that one, it works fine with ATmega2560:
The "Arduino as ISP" works great also, and you might even already have a spare Arduino on hand to use.
I recommend against the AVR Dragon for use with the Arduino IDE because there is no support for it in the official "Arduino AVR Boards" platform, nor even in the 3rd party MegaCore:
There is a 3rd party add-on programmer package for the Dragon, but it no longer works with the last few versions of the Arduino IDE due to a change in the way the IDE handles programmers. So the only way to add support for the Dragon in the Arduino IDE is a fairly complex modification to the existing boards platform, which must be repeated after every update to the platform.
If you are OK with using AVRDUDE directly from the command line, then you will be able to use the Dragon without any significant difficulties though.
It is also long out of production, almost to the point of being a collector's item. So you would need to find a used one.