I would like to know if it is possible (and how?) to upload our code to Arduino in binary format instead of the source code?
Uploading raw binary files (hex) to Arduinos can be done through the command prompt. The actual commands depend on the Arduino board you are using. What board and OS are you using?From your post I gather that you want to distribute the hex files and have the end users upload it to their boards. Is that correct?
You never upload source to an Arduino, always compiled code.
avrdude -c stk500v1 -P [com port] -p atmega328p -U flash:w:[Filename.hex]:i
Okay the command to use to upload the compiles hex file would be:Code: [Select] avrdude -c stk500v1 -P [com port] -p atmega328p -U flash:w:[Filename.hex]:i Where [com port] and [Filename.hex] would be replaced with your com port and the name of your .hex file respectively. You can also get an explanation of the various switched that can be used with Avrdude by entering the command without switches on any computer with the IDE installed.There is also a utility called xloader that should automate the process for you but I have not tried that so use at your own risk.
The avrdude works just for AVR parts and the ESP8266 isn't AVR.