Yes I think it's much easier to explain that method of finding the hex file to people. I work on 2 different bootloaders(ariadne and avr_boot) that require the user to find the hex file so this could simplify the documentation. Unfortunately I discovered a bug this week: the hex file name is the variant appended to the sketch name so if you have a board that references another vendor's variant(e.g. arduino:standard) then that causes an error on Windows because the : is not a valid character in filenames. I reported it and it has already been fixed but is only available in Arduino IDE 1.6.6.
Reopen Arduino, and open a sketch of your choice (use the Examples->Digital->Blink if you have no other sketches). Hit the Verify button to compile the sketch. Now, navigate to the build.path folder. You should see a bunch of files including one with a .hex extension.
unorthodox:
Is it possible to convert the hexadecimal code back into the original programming language?
It's impossible to do it automatically. If you spent enough time studying the disassembly, you could use it to reconstruct the original program. Most likely it will be much faster to just write the program over again from scratch.
unorthodox:
Is it possible to convert the hexadecimal code back into the original programming language?
Mmmmmm, seems like somebody is trying to find a way to steal other's work... LOL
More seriously, if you ask such a question, it means that you have not understand at all what is compilation and what it does. I really recommend you to get a book explaining the basic concepts of programming in high level languages to understand what a compiler does...
pert:
Well, since it was bumped it's worth mentioning there is a new way to do this added in Arduino IDE 1.6.5:
Sketch > Export Compiled Binary
If you are doing this with an example then you will be prompted to save the sketch in another location.
Wait until the sketch has finished compiling.
Sketch > Show Sketch Folder
The .hex file will be in the sketch folder
Can I take this .hex file from my Uno board and load into an ATmega328 via the AVR studio and the standard MK2USB programmer?
I have a full ImageCraft development system that I have been using for years. However the Arduino libraries are quite handy versus building everything from scratch. SO I would like to develope in Arduino but still use the standard AVR tools in the end product development.
NOTE: I want nothing to do with boot loaders in the finished version. All my many previous Atmel projects run straight C to HEX from the ImageCraft compiler. If I have to use a bootloader, I'm going to stay with the old proven ImageCraft approach.