Icône d'Arduino

Arduino

Arduino est une plateforme de prototypage à bas coût sous licence Creative Commons, rachetée en octobre 2025 par Qualcomm.
Basée sur un microcontrôleur Atmel, elle permet de réaliser rapidement des projets électroniques sur les plateformes Linux, macOS et Windows.

Arduino fournit un utilitaire graphique : un IDE aussi appelé Arduino, fork de Wiring, ainsi que des bibliothèques, permettant de programmer le microcontrôleur dans un langage proche du Java (inspiré de Processing).

Il existe plusieurs méthodes au choix pour installer l'IDE Arduino :

Vous trouverez aussi des informations en anglais concernant le téléchargement et l'installation d'Arduino sur son site officiel.

Dépôts officiels APT

La version présente dans le dépôt n'est pas toujours la plus récente, il est probablement plus intéressant d'installer la dernière version en Flatpak.
Pour avoir accès à ce paquet, il faut que le dépôt Universe soit activé dans les sources de logiciels.

Pour installer cette application depuis les dépôts officiels, il suffit d'installer le paquet arduino.

Une autre utilitaire permet de programmer Arduino en ligne de commande. Pour en profiter, installer le paquet arduino-mk.

Flatpak

Arduino est aussi distribué par son éditeur en Flatpak sur le dépôt Flathub.

On peut donc l'obtenir en installant Flatpak avec le dépôt Flathub si ce n'est pas déjà fait, puis en installant Arduino IDE v2 depuis GNOME Logiciels, ou en installant le paquet cc.arduino.IDE2 en ligne de commande :

flatpak install cc.arduino.IDE2

Snap

Arduino est aussi disponible en snap depuis Snapcraft.

Cette version n'est cependant pas officielle, et il s'agit encore seulement de la version 1.

Cette méthode est donc déconseillée.

On peut simplement installer l'application arduino depuis le centre d'applications (Snap Store), ou installer le paquet arduino en ligne de commande :

snap install arduino

AppImage

Cette méthode ne permet pas de mise à jour automatique.

L'intégration au système (dont la création d'un lanceur) doit aussi être faite manuellement.

Pour installer une AppImage référez-vous avant tout au chapitre dédié au sujet.

En résumé choisissez la version Linux AppImage (64-bit X86-64) sur le site officiel, qui télécharge le fichier arduino-ide_2.X.X_Linux_64bit.AppImage ou téléchargez-le directement depuis GitHub, puis rendez-le exécutable (clic droit sur le fichier → PropriétésPermissionsAutoriser l'exécution). Finalement lancez-le en double-cliquant dessus.

Vous pouvez utiliser un service tel que appimaged pour créer automatiquement un lanceur.

Installation manuelle

  • Télécharger la version Linux ZIP file (64-bit X86-64) sur le site officiel.
  • À cause d'un bug, ouvrir un terminal à l'endroit où vous avez décompressé l'application (clic droit → Ouvrir dans un terminal) et passer les commandes suivantes :
    sudo chown root: arduino-ide_*bit/chrome-sandbox
    sudo chmod 4755 arduino-ide_*bit/chrome-sandbox
  • Le lanceur doit être créé. Vous aurez besoin de connaître le chemin d'accès absolu de l'exécutable que vous venez de télécharger (actuellement, c'est la version 2.3.8).
    Pour faire cela manuellement, créez un fichier ~/.local/share/applications/Arduino.desktop contenant :
    Arduino.desktop
    [Desktop Entry]
    Type=Application
    Name=Arduino IDE
    GenericName=Arduino IDE
    Comment=Open-source electronics prototyping platform
    Exec="$CHEMIN/arduino-ide"
    Icon=arduino-arduinoide
    Terminal=false
    Categories=Development;IDE;Electronics;
    MimeType=text/x-arduino;
    Keywords=embedded electronics;electronics;avr;microcontroller;
    StartupWMClass=processing-app-Base

    en remplaçant $CHEMIN par le chemin absolu du répertoire contenant les fichiers extraits.

Ports série

Les nouvelles versions de l'application vous demanderont lors de la première exécution de vous authentifier pour vous donner l'autorisation d'accéder aux ports série en vous ajoutant aux groupes tty et dialout, soit en ligne de commande :

sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
Vous devez vous déconnecter et vous reconnecter pour que les changements soient effectifs.

Modifier les permissions de /dev/ttyUSB0 avec la commande (la carte doit être connectée !) :

sudo chmod a+rw /dev/ttyUSB0

Si le paquet a été installé en snap, il faut en plus autoriser l'accès aux fichiers personnels et aux périphériques USB à partir du bouton Autorisations pour obtenir les droits sur les ports séries.

Compilation et programmation sous console

Cette méthode ne permet peut-être pas d'utiliser les librairies fournies par Arduino.

Il s'agit dans cette partie de montrer comment compiler avec avr-gcc et comment charger votre programme dans votre carte Arduino.

Installation

Compilation

avr-gcc s'utilise presque comme gcc, en spécifiant le microcontrôleur de la carte.

Par exemple pour une carte Arduino UNO, avec un avr atmega328p, on a :

avr-gcc -mmcu=atmega328p -o main.elf main.c
La liste des microcontrôleurs supportés est spécifiée dans le manuel d'avr-gcc :
man avr-gcc

Puis on extrait les données utilisables par le microcontrôleur :

 objcopy -O ihex -R .eeprom main.elf main.hex 

Programmeur

La programmation de la carte se fait avec avrdude. Il faut lui spécifier le programmeur, le microcontrôleur et le port sur lequel la carte est branchée.

Dans notre exemple le programmeur est un stk500v2, mais un type de programmeur plus spécifique a été créé : arduino.
Le microcontrôleur sera cette fois-ci : m328p.

Là encore, la liste des microcontrôleurs et programmeur supportés se trouve dans le manuel:
 man avrdude 

Vous aurez par exemple :

 sudo avrdude -c arduino -p m328p  -P /dev/cuaU0 -U flash:w:main.hex 
Le port peut varier. On peut le retrouver en comparant les fichiers dans /dev/ avant et après le branchement de la carte. Le fichier qui apparaîtra sera sûrement le port à choisir

Pas de port série

Si le port de sortie ttyUSBx ou ttyACMx n'apparaît pas dans la liste des ports série de l'IDE Arduino, une autre page à consulter - en anglais - pour installer le module cdc_acm et lier le matériel au module (fonctionne avec Arduino UNO R3 firmware Rev.001 et Ubuntu studio 14.04 64 bits)Installation of arduino on all Linux version). En simplifiant :

  • Récupérer les identifiants du vendeur et du produit en saisissant dans un terminal:
    lsusb -v

    qui répondra par exemple

    Bus 003 Device 002: ID XXXX:YYYY
  • Créer le lien avec le port : avec les droits superutilisateur, on crée le fichier /etc/udev/rules.d/99-arduino.rules
    • On y place :
      SUBSYSTEMS=="usb", ATTRS{idProduct}=="YYYY", ATTRS{idVendor}=="XXXX", SYMLINK+="ttyACM%n" 

      en remplaçant XXXX ET YYYY par vos valeurs précédemment récupérées

    • On fait charger le module cdc_acm au démarrage. Avec les droits du superutilisateur , modifier le fichier /etc/modules pour ajouter la ligne
      cdc_acm
  • On rend le port accessible à l'utilisateur : ce port est dans le groupe dialout.
    • On rattache l'utilisateur au groupe dialout : tableau de bord/Système/Utilisateurs et groupes - Gérer les groupes - sélectionner dialout et cliquer sur Propriétés - cocher l'utilisateur
  • On reboot, on branche l'Arduino et on vérifie avec dmesg dans une console que l'on a quelque chose comme :
    cdc_acm 3-1:1.0: ttyACM0: USB ACM device
  • On lance l'application Arduino et dans le menu Outils / Ports série, on sélectionne /dev/ttyACM0.
Pour les cartes Arduino autres que UNO, on a /dev/ttyUSBX au lieu de /dev/ttyACM0 et le groupe est uucp au lieu de dialout (renseignements dars la page citée plus haut).

Contributeurs : mimilus, sivolc73, gduteil, pygmee, samcelia, krodelabestiole.

  • arduino.txt
  • Dernière modification: Le 20/03/2026, 14:56
  • par krodelabestiole