How to upload HEX files to Arduino Uno R3
It happens that after you played for a while with an Arduino Uno R3 board, uploading various sketches written with the help of the Arduino IDE, you want to move further and flash your Uno with HEX files generated by a different IDE. You can do this by following the steps 1-7:
(This tutorial was tested for Arduino 1.0.2 and 1.0.6 IDE)
Steps 1-4: Spying on Arduino IDE to see what command it uses to upload a hex file
1) Start the Arduino IDE.
2) Go to File -> Preferences and check Show verbose output during upload.
3) Go to File->Examples->01.Basics->Blink, and then press upload to run the Blink example.
4) At the top of the black window, that is positioned just below the source code of the Blink a LED example, you will see an avrdude command line similar to this one:
C:\Arduino102\hardware/tools/avr/bin/avrdude -CC:\Arduino102\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\.\COM3 -b115200 -D -Uflash:w:C:\Users\Usr1\AppData\Local\Temp\build1538115773179135859.tmp\Blink.cpp.hex:i
Steps 5-7: Utilizing the command to upload a non Arduino IDE hex file
5) Open the MS Windows application cmd (preferably use PowerCmd instead because it allows you to work with copy and paste like any Windows application) and copy the above mentioned command exactly as it is displayed by your Arduino IDE.
6) Replace the string between w: and :i (marked in read) with the path to your HEX file obtained using an IDE different from Arduino. If, for example, you have the file C:\uCProjects\BlinkLedBascom.hex then this is the new string that must be between w: and :i.
7 ) In PowerCmd, position the cursor just after :i and press Enter. After a short time you will finally see the message "avrdude done. Thank you." which confirms the hex file was uploaded.
As a remark, upload only hex files generated for the specific uC you have on your Arduino Uno.