Upload .hex files using the IDE and avrispmkii

I am trying to find a very easy way for customer to upgrade the firmware on a product I made using only the .hex code (no access to the sketch)

The product has an atmega328 on it, arduino bootloader and a 6pin ICSP header.

Assuming they had a avrispmkii (or compatible programmer) what is the easiest way for them to upload code using either Mac or PC?

If they install Arduino on their systems then they will have AVRdude loaded. They could use it commandline but it would be so much easier for them to use the Arduino IDE since it provides a much easier to use GUI. The only problem is that I do not want them have access to my code so I would like them to only use the .hex file.

Is there a way to get the Arduino IDE to upload .hex files only?

The second issue is that my product uses the atemga328 not atmega328p so I had to go into the avrdude.conf file and change the device id code in order for it to work. I do not want my users to have to go through this hassle if possible.

It would be so nice if there was some kind of one-click upload solution I could offer them so long as they had the .hex file, the correct chip type and a suitable programmer.

robotman777:
Assuming they had a avrispmkii (or compatible programmer) what is the easiest way for them to upload code using either Mac or PC?

Is there a way to get the Arduino IDE to upload .hex files only?

What I use is just plain old AVRdude, the arduino.conf file, the HEX file and a .BAT to load it. just Run the .BAT, chose the COM port and it runs.

Thing is: If you want your customers to load new firmware you don't really want to say: "Download and install arduino IDE, download and install the avrispmkii, make a lot of changes and upload" right?
It's much more user friendly if you just take away as many steps so it can work (More steps = More chances something goes wrong).

Hi C-F-K

This sounds like a wise approach. If I send the customers a .zip file that has in the same folder the .hex .bat, avrdude and a copy of the arduino.conf then the batch file will know where everything is located and just launch everything from there. The only issue is the driver for the avrispmkii.

Unless I am mistaken one of the conveniences of them installing Arduino is that it comes with the avrispmkii drivers.

http://eliaselectronics.com/using-the-avrispmkii-with-avrdude-on-windows/

robotman777:
Unless I am mistaken one of the conveniences of them installing Arduino is that it comes with the avrispmkii drivers.

My experience with an avrispmkii was the worst one ever to be honest... As I also program in Atmel Studio I had atmel studio installed AND arduino IDE. Problem with that was that everytime I switched back to atmel studio, even without uploading or using the avrispmkii was that the drivers where resetted again.
It took me almost a day to permanently fix he problem (It took to long, i know)... don't think that is quite "user friendly".

My tip: If your already creating arduino products, create your own little bootload divice with "Arduino as ISP"! not only will it look more professional, you don't have to install any drivers as user.

Stupid of me: You do need to install a driver for an “Arduino as ISP”… The USB driver that is!
Just include it in your data package when sending it to your customers and you’ll be fine.

Hopefully my info was useful.

jungo drivers may cause you problems with avrisp 2

knuckles:
jungo drivers may cause you problems with avrisp 2

Not if you use the libusb filter driver. It will allow you to use the avrispmkii with avrdude and still also work with Atmel Studio Jungo drivers. I've been using this for a couple of years now and it works great.

http://sourceforge.net/p/libusb-win32/wiki/Home/