215 lines
8.7 KiB
Markdown
215 lines
8.7 KiB
Markdown
# Installer le logiciel Arduino IDE sous Linux
|
|
|
|
Cet article a été testé avec les distributions suivantes :
|
|
|
|
- **Linux Mint 21 / 22 (64 bits)**
|
|
|
|
Je privilégie une installation « manuelle » de l'application **Arduino IDE** afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions (et la version disponible dans les dépôts officiels est souvent l'ancienne 1.8.x).
|
|
|
|
Date de relecture : 16 mai 2026
|
|
|
|
Depuis septembre 2022, **Arduino IDE 2.x** est la version officielle activement développée. Au moment de cette mise à jour, la dernière version stable est **Arduino IDE 2.3.8**. L'ancienne version **1.8.19** (parfois appelée « Legacy IDE » ou « Java IDE ») n'est plus maintenue que pour les correctifs de sécurité critiques ; il est recommandé de migrer vers la 2.x.
|
|
|
|
Vous pouvez vérifier la dernière version disponible sur le site officiel : <https://www.arduino.cc/en/software>. Adaptez les informations ci-dessous suivant les numéros de version trouvés sur le site arduino.cc.
|
|
|
|
## - Méthode recommandée : Arduino IDE 2.x (AppImage)
|
|
|
|
Arduino IDE 2.x est distribué sous Linux au format **AppImage**, un format autonome qui ne nécessite aucune installation système. Cette méthode remplace l'ancienne procédure d'extraction d'archive `.tar.xz` utilisée pour la 1.8.x.
|
|
|
|
### - Télécharger l'AppImage
|
|
|
|
Depuis votre dossier **home** ou un autre dossier personnel, téléchargez l'AppImage Arduino IDE depuis une ligne de commande :
|
|
|
|
```
|
|
wget -O arduino-ide.AppImage https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.8_Linux_64bit.AppImage
|
|
```
|
|
|
|
> **Remarque** : le numéro de version dans l'URL évolue. Vérifiez la dernière version sur <https://www.arduino.cc/en/software> ou via la page GitHub des releases : <https://github.com/arduino/arduino-ide/releases>.
|
|
|
|
### - Prérequis système
|
|
|
|
L'AppImage nécessite **FUSE** pour s'exécuter. Sur certaines distributions récentes (Ubuntu 22.04+, Debian 12), il faut installer `libfuse2` :
|
|
|
|
```
|
|
sudo apt update
|
|
sudo apt install libfuse2
|
|
```
|
|
|
|
### - Rendre l'AppImage exécutable et la déployer
|
|
|
|
**ligne 1** : rendre le fichier exécutable.
|
|
**ligne 2** : déplacer l'AppImage dans un dossier accessible à tous : `/opt/`.
|
|
**ligne 3** : créer un lien symbolique dans `/usr/local/bin/` pour pouvoir lancer l'application depuis n'importe où en tapant simplement `arduino-ide`.
|
|
|
|
```
|
|
chmod +x arduino-ide.AppImage
|
|
sudo mv arduino-ide.AppImage /opt/arduino-ide
|
|
sudo ln -sf /opt/arduino-ide /usr/local/bin/arduino-ide
|
|
```
|
|
|
|
### - Créer un raccourci sur le bureau
|
|
|
|
Contrairement à la 1.8.x, l'AppImage ne fournit pas de script `install.sh`. Pour créer un raccourci dans le menu des applications, créez le fichier `~/.local/share/applications/arduino-ide.desktop` avec le contenu suivant :
|
|
|
|
```
|
|
[Desktop Entry]
|
|
Name=Arduino IDE
|
|
Comment=Arduino IDE 2.x
|
|
Exec=/opt/arduino-ide
|
|
Icon=arduino-ide
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Development;IDE;Electronics;
|
|
StartupWMClass=arduino-ide
|
|
```
|
|
|
|
Puis actualiser le cache des icônes :
|
|
|
|
```
|
|
update-desktop-database ~/.local/share/applications/
|
|
```
|
|
|
|
## - Méthode alternative : Arduino IDE 1.8.19 (Legacy)
|
|
|
|
Si vous avez besoin de l'ancienne version (matériel ancien, plugins non portés, etc.), la procédure historique reste fonctionnelle.
|
|
|
|
### - Télécharger Arduino IDE 1.8.19
|
|
|
|
```
|
|
wget -O arduino.tar.xz https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
|
|
```
|
|
|
|
### - Déployer Arduino IDE Software
|
|
|
|
**ligne 1** : déployer Arduino IDE dans un dossier accessible à tous : `/opt/`. L'archive **tar** va extraire les fichiers dans un dossier comportant le numéro de version.
|
|
|
|
**ligne 2** : ajuster les droits du dossier extrait.
|
|
|
|
**ligne 3** : si un lien `/opt/arduino` existait, le détruire avec **unlink**.
|
|
|
|
**ligne 4** : réaliser un alias vers le dossier `/opt/arduino`. De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente.
|
|
|
|
**ligne 5** : exécuter le script `install.sh` qui permet de créer un raccourci sur le bureau graphique.
|
|
|
|
```bash
|
|
sudo tar -xvf arduino.tar.xz -C /opt
|
|
sudo chown -R root:root /opt/arduino-1.8.19
|
|
sudo unlink /opt/arduino 2>/dev/null
|
|
sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
|
|
sudo /opt/arduino/install.sh
|
|
```
|
|
|
|
## - Problèmes rencontrés après le déploiement
|
|
|
|
### - Droits sur tty et dialout
|
|
|
|
Pour pouvoir accéder au port série de la carte Arduino, il faut ajouter l'utilisateur courant aux groupes `tty` et `dialout` :
|
|
|
|
```
|
|
sudo usermod -a -G tty $USER
|
|
sudo usermod -a -G dialout $USER
|
|
```
|
|
|
|
Si vous venez de saisir ces lignes de commande, vous devez **fermer votre session** (ou redémarrer) pour que les nouveaux groupes soient pris en compte.
|
|
|
|
### - Serial port not selected / brltty bloque le port
|
|
|
|
Sous Mint, Ubuntu et certaines distributions, le service `brltty` (afficheur braille) peut capturer les ports série et empêcher l'IDE de détecter la carte. Si la carte n'apparaît jamais dans `Outils => Port`, désinstallez `brltty` :
|
|
|
|
```
|
|
sudo apt remove brltty
|
|
```
|
|
|
|
### - Aucune carte n'est détectée
|
|
|
|
Plusieurs causes possibles :
|
|
|
|
- **Câble USB défectueux** : certains câbles USB sont câblés uniquement pour l'alimentation (charge) et n'ont pas les fils de données. Testez avec un autre câble.
|
|
- **Pilote du convertisseur USB-Série manquant** : les clones Arduino utilisent souvent un **CH340** ou un **CH341**. Le pilote est intégré au noyau Linux récent (5.x et +), mais sur de très anciens systèmes il peut manquer.
|
|
- **Permissions** : vérifier que l'utilisateur appartient bien au groupe `dialout` (voir section précédente).
|
|
|
|
Pour vérifier que la carte est bien détectée par le système :
|
|
|
|
```
|
|
dmesg | tail -20
|
|
ls /dev/ttyACM* /dev/ttyUSB*
|
|
```
|
|
|
|
Une carte Arduino Uno officielle apparaîtra comme `/dev/ttyACM0`, un clone basé sur CH340 comme `/dev/ttyUSB0`.
|
|
|
|
### - Java (Arduino IDE 1.8.x uniquement)
|
|
|
|
> Cette section ne concerne **plus** Arduino IDE 2.x, qui est basé sur **Electron** (Theia IDE + arduino-cli) et n'utilise pas Java.
|
|
|
|
Pour la 1.8.x, le message suivant peut apparaître :
|
|
|
|
```
|
|
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
|
|
```
|
|
|
|
Un Java est embarqué avec l'application (`/opt/arduino/java/bin/java -version`). En cas de problème, installer OpenJDK 8 :
|
|
|
|
```
|
|
sudo apt update
|
|
sudo apt install openjdk-8-jdk
|
|
sudo update-alternatives --config java
|
|
```
|
|
|
|
## - Exécuter votre premier programme
|
|
|
|
Voici le programme classique d'introduction : il fait clignoter la LED intégrée à la carte (broche 13 sur la plupart des Arduino) toutes les secondes.
|
|
|
|
Il n'est pas nécessaire de brancher une LED externe : la LED présente sur la carte conviendra parfaitement à cet exemple.
|
|
|
|
Dans l'IDE, ouvrez `Fichier => Exemples => 01.Basics => Blink`. Vous pouvez également copier le code suivant dans votre éditeur :
|
|
|
|
```c
|
|
/*
|
|
Clignotement (Blink)
|
|
Allume la LED pendant 1 seconde,
|
|
puis l'éteint pendant 1 seconde.
|
|
*/
|
|
|
|
// Numéro de la broche à laquelle est connectée la LED.
|
|
// LED_BUILTIN désigne la LED intégrée à la carte (13 sur Uno).
|
|
int led = LED_BUILTIN;
|
|
|
|
// Le code dans cette fonction est exécuté une fois au démarrage.
|
|
void setup() {
|
|
// On indique que la broche de la LED est une sortie :
|
|
// on va modifier sa tension.
|
|
pinMode(led, OUTPUT);
|
|
}
|
|
|
|
// Le code dans cette fonction est exécuté en boucle.
|
|
void loop() {
|
|
digitalWrite(led, HIGH); // allumer la LED (5 V sur la broche)
|
|
delay(1000); // attendre 1000 ms = 1 s
|
|
digitalWrite(led, LOW); // éteindre la LED (0 V sur la broche)
|
|
delay(1000); // attendre à nouveau 1 seconde
|
|
}
|
|
```
|
|
|
|
Deux déclarations de fonctions sont **obligatoires** dans tout programme Arduino :
|
|
|
|
- `setup()` : exécutée une seule fois au démarrage.
|
|
- `loop()` : exécutée en boucle, indéfiniment.
|
|
|
|
Dans cet exemple, nous appelons trois fonctions de la bibliothèque Arduino :
|
|
|
|
- `pinMode()` : configure une broche en entrée ou en sortie.
|
|
- `digitalWrite()` : applique un niveau logique haut (5 V) ou bas (0 V) sur une broche.
|
|
- `delay()` : fait une pause exprimée en millisecondes.
|
|
|
|
Pour téléverser ce code :
|
|
|
|
1. Brancher l'Arduino sur un port USB.
|
|
2. Dans `Outils => Type de carte`, sélectionner le modèle exact (ex. *Arduino Uno*).
|
|
3. Dans `Outils => Port`, sélectionner le port détecté (ex. `/dev/ttyACM0` ou `/dev/ttyUSB0`).
|
|
4. Cliquer sur le bouton **Téléverser** (flèche vers la droite) dans la barre d'outils.
|
|
|
|
## - Pour aller plus loin
|
|
|
|
- Documentation officielle : <https://docs.arduino.cc/>
|
|
- Référence du langage Arduino : <https://www.arduino.cc/reference/fr/>
|
|
- Cartes ESP8266 et ESP32 : ajouter les URL de gestionnaire de cartes additionnel dans `Fichier => Préférences`, puis installer le package correspondant via `Outils => Type de carte => Gestionnaire de cartes`. |