Un fichier exécutable ARDUINO est constitué :
1 - D'octets
c'est toujours vrai ; en informatique, un fichier (quel qu'il soit) est une collection d'octets !
2 - De lignes de code C++.
Il faut compiler les lignes de code source C++, puis faire l'édition des liens pour obtenir un fichier exécutable.
3 - De macros.
Non, les macros sont des portions de texte utilisées dans les fichiers sources.
4 - De portions qui proviennent de bibliothèques fournies avec l'IDE Arduino.
Oui, beaucoup d'objets utilisés dans un programme ARDUINO (Serial, servo...) correspondent à du code source C++ qui a été compilé et mis à disposition sous forme de bibliothèques utilisées à l'édition des liens pour produire le fichier exécutable.
5 - D'octets qui représentent des instructions du processeur de l'ARDUINO.
c'est vrai et plus précis que la réponse 1.