I want to obtain the .hex
file from my Arduino sketch. I have followed various guides but there is no .hex
file in my output folder.
How can I obtain my hex file?
Here are my preferences:
This is the contents of my output folder
2 Answers 2
Based on your setting with the URL for esp8266 package and bin file name with "...generic" I assume you want it for esp8266.
esp8266 doesn't use hex format and "Export compiled binary" creates bin. You can upload it with esptool.
For AVR boards "Export compiled binary" generates hex. You can upload it with avrdude.
-
Ah, good catch :-)Greenonline– Greenonline2018年10月22日 12:49:45 +00:00Commented Oct 22, 2018 at 12:49
Current versions of Arduino IDE
Use the menu option in the Arduino IDE:
Sketch ► Export Compiled Binary
See post #6 from the thread How to get hex file from arduino files ?:
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
Here is a screenshot for OS X:
There is no need to fully compile, a simple verify will suffice. From post #10:
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.
Older versions of Arduino IDE
If using an older version of the Arduino IDE, from post #12:
Try this if using an older version of Arduino
- Open Arduino IDE
- File ► Preferences menu
- Find "Show verbose output during " and check the "compilation" box
- Locate the
preferences.txt
file and open it Add the following line (this is the path to the directory where the hexfile will be stored):
build.path=C:\Users\<username>\Desktop\hexfile
Change the following line
export.delete_target_folder=true
to
export.delete_target_folder=false
Quit the Arduino IDE and restart it.
- Now when you compile, the directory specified in
build.path
will contain the.hex
file (along with other files which can be ignored)
-
-
Yeah, I had upvoted it... but I missed the ESP bit! I need to pay more attention :-)Greenonline– Greenonline2018年10月22日 12:51:02 +00:00Commented Oct 22, 2018 at 12:51
-
Hi Greenonline, thanks for your thorough answer. Indeed it was the detail about ESP8266 spotted by Juraj that was the key to my issue, but i really appreciate your effort :)toebs– toebs2018年10月22日 20:23:59 +00:00Commented Oct 22, 2018 at 20:23