Hello friends, hope you all are fine and having fun with your lives. In today's post, I am gonna share How to get Hex File from Arduino. It's quite a simple post and I have already explained it many times in my posts but still, I am getting a lot of messages regarding it that's why I thought to write a separate post for it. First of all, let's have a little introduction about it. If you have worked on PIC Microcontrollers or Atmel etc then you have seen that you always get hex files from their compilers and then you burn that hex file in the respective Microcontroller using their programmer or burner. But that's not the case with Arduino. In Arduino boards, you simply plug it with your computer and you hit the Upload button and the code automatically gets upload in Arduino boards. It doesn't create any hex file. You should also have a look at Arduino Library for Proteus in which you can upload this hex file.
So, now the question arises that why do we need the hex file in the first place, when we can upload the code without it? The answer to this question is, there are many cases when a hex file is required. For example, instead of using the Arduino board you just want to use the ATmega328 or Attiny microcontroller then the easiest way is to write the code in Arduino and then get its hex file and upload it in your microcontroller, which makes the task quite easy. Another example is Proteus simulation, when you want to simulate your Arduino board in Proteus software then you need to get the hex file so that you can upload it to your Arduino board. Another case is freelancing, when you are working on some project as a freelancer, then there are many cases when you don't wanna send your code to the client, instead you want to send the hex file to him so that he can test and verify the code, in such cases it also required. So let's get started with how to get hex file from Arduino.
- Here's the video in which I have shown How to get the hex file from Arduino, I hope it will help:
How to Get Hex File from Arduino ???
- First of all, open your Arduino software and write your code and test it.
- If you haven't bought your Arduino UNO yet, then you can buy it from this reliable source:
- Once you are confirmed that your code is ready and you want to generate the hex file, then click on the File option in the above menu and then Preferences as shown in below figure:
- In the above figure, I have used the simple blink example and I am gonna generate its hex file.
- Now when you click on the Preferences, a new window will pop up.
- In this new window, tick the compilation option as shown in the below figure:
- After ticking it, now click on the OK button and this dialog box will close.
- By ticking this option you are allowing the Arduino software to show verbose outputs in the output panel present at the end of Arduino software, which has a black background.
- So, you can also tick the upload option but then you need to upload the code to get these output commands.
- Now hit the compile button as we tick the compilation option, so it will compile the code and will give you all the commands as shown below:
- Now you can see clearly in the above figure that there are many commands in the black portion, these are the verbose outputs that Arduino is giving us.
- The last line of these verbose outputs, which I have also highlighted is the link to hex file, which in our case is:
- Now, remove the name of the hex file from this link and it will become:
- Paste this link in the computer address bar and this folder will open up.
- In that folder search for your respective file and you easily get the hex file of your code.
- Actually, while uploading the code to Arduino boards, Arduino software creates the hex file of the code in the temporary folder and once the code is uploaded then it deletes that hex file.
- That's why, we don't get the hex file, but by clicking the option you can easily get the hex file and then can use it for any purpose.
That's all for today, and I think it was quite an easy tutorial but still if you having questions then ask in the comments and I will resolve them. till next tutorial, take care!!! :)