publish: Installer le logiciel Arduino IDE sous Linux

This commit is contained in:
Cédrix
2026-05-16 22:30:12 +02:00
parent 9a82650cea
commit 4a946ec294
5 changed files with 321 additions and 324 deletions
@@ -1,22 +0,0 @@
{
"title": "Installer le logiciel Arduino IDE sous Linux",
"_updated_at": "2026-05-16 20:30:09",
"slug": "105-installation-du-logiciel-arduino-ide",
"published": true,
"published_at": "2023-02-19 06:54",
"category": "Électronique",
"tags": {
"tags": [
"IDE",
"Arduino",
"ESP32",
"ESP8266",
"Arduino Uno",
"ESP",
"IoT"
]
},
"seo_title": "",
"seo_description": "",
"og_image": "https://www.abonnel.fr/file?uuid=76ede607-4a6b-434d-b01e-82aa509f3448&name=cover.png"
}
@@ -1,215 +0,0 @@
# 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`.
+158 -82
View File
@@ -1,139 +1,215 @@
# Installer le logiciel Arduino IDE sous Linux
Cet article a été testé avec les distributions suivantes
- **Linux Mint 19 64 bits**
- **Linux Debian 9.6 (stretch) 64 bits**
- **MX Linux 18.3** basé sur Linux Debian 9
- **Zorin OS 16.1** basé sur Linux Debian
Cet article a été testé avec les distributions suivantes :
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. J'ai eu le cas avec **Debian 9.6** où je ne pouvais pas utiliser des cartes ESP 8266.
- **Linux Mint 21 / 22 (64 bits)**
Date de relecture : 15 août 2022
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).
Il faut télécharger la version 1.8.19. Vous pouvez vérifier la dernière version disponible depuis le site <https:*www.arduino.cc/en/Main/Software>. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.
Date de relecture : 16 mai 2026
![](arduino_software_1.8.7.png)
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.
## - Télécharger Arduino IDE Software
Depuis mon dossier **home** ou un autre dossier personnel, je télécharge le programme **Arduino IDE**. Je préfère l'effectuer depuis une ligne de commande.
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.tar.xz https:*downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
wget -O arduino-ide.AppImage https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.8_Linux_64bit.AppImage
```
![Téléchargement de l'application **Arduino IDE** dans une fenêtre de Terminal](terminal_install_arduino.png)
> **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>.
## - 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.
### - Prérequis système
**ligne 3** : si un lien `/opt/arduino/` existait, détruit le lien sur `/opt/arduino` avec **unlink**
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.
<code BASH [enable_line_numbers="true", start_line_numbers_at="1"]>
```bash
sudo tar -xvf arduino.tar.xz -C /opt
sudo chown -R root:root /opt/arduino-1.8.19
sudo unlink /opt/arduino
sudo unlink /opt/arduino 2>/dev/null
sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
sudo /opt/arduino/install.sh
</code>
```
## - Problèmes rencontrés après le déploiement
### - Droits sur tty et dialout
Il faut ajouter l'utilisateur de l'application **Arduino IDE** aux groupes `tty` et `dialout`. L'exemple suivant permet d'ajouter l'utilisateur `cedric` aux groupes `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 les lignes de commandes `usermod`, vous devez redémarrer.
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 :
### - Version de Java incorrecte
Le message suivant peut apparaître dans l'application **Arduino IDE** :
```
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
```
Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec `java -version`. Toutefois, un java est intégré avec l'application **Arduino IDE**. (`/opt/arduino/java/bin/java -version` me renvoie la version `java version "1.8.0_191"`).
Il faudra peut être toutefois changer les paramètres java de l'OS.
J'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles.
Pour procéder à l'installation de Java 8 et choisir par défaut cette version :
Un Java est embarqué avec l'application (`/opt/arduino/java/bin/java -version`). En cas de problème, installer OpenJDK 8 :
```
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo apt update
sudo apt install openjdk-8-jdk
sudo update-alternatives --config java
```
![](terminal_alternatives_config_java.png)
### - Serial port not selected
Dans certains cas, sous Mint, il faut désinstaller `brltty`
```
sudo apt-get remove brltty
```
### - Aucune carte n'est détectée
![](20220128-074733.png)
Le câble USB peut être également non cablé pour les données (data)
Pour rappel, voici le cablage d'un port USB
![](20220128-075003.png)
## - Exécuter votre premier programme
Voici donc notre premier programme (celui qui est décrit dans la vidéo).
Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.\\
Il n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la , servira dans notre exemple sans forcément réalisée un montage électronique.
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.
Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur `Fichier => Exemples => 01.Basics => Blink`.
Il n'est pas nécessaire de brancher une LED externe : la LED présente sur la carte conviendra parfaitement à cet exemple.
Vous pouvez également copier le code suivant dans votre éditeur :
Dans l'IDE, ouvrez `Fichier => Exemples => 01.Basics => Blink`. Vous pouvez également copier le code suivant dans votre éditeur :
<code C basics-blink.c [enable_line_numbers="true", start_line_numbers_at="1"]>
```c
/*
Clignotement
Clignotement (Blink)
Allume la LED pendant 1 seconde,
puis l'éteint pendant 0,5 seconde.
puis l'éteint pendant 1 seconde.
*/
* Numéro de la broche à laquelle est
* connectée la LED
int led = 13;
* le code dans cette fonction est exécuté une fois au début
// 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() {
- indique que la broche de la LED une sortie :
- on va modifier sa tension
// 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
// Le code dans cette fonction est exécuté en boucle.
void loop() {
digitalWrite(led, HIGH); * allumer la LED (tension 5V sur la broche)
delay(1000); * attendre 1000ms = 1s
digitalWrite(led, LOW); * éteindre la LED (tension 0V sur la broche)
delay(1000); * attendre à nouveau 1seconde
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
}
</code>
```
Deux déclaration de fonctions sont obligatoires :
- setup
- loop
Deux déclarations de fonctions sont **obligatoires** dans tout programme Arduino :
Dans ce bout de code, nous appelons trois fonctions :
- digitalWrite
- pinMode
- delay
- `setup()` : exécutée une seule fois au démarrage.
- `loop()` : exécutée en boucle, indéfiniment.
Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu `Outils => Port`, sélectionner `/dev/ttyACMO`.
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`.
+24 -5
View File
@@ -4,15 +4,34 @@
"title": "Installer le logiciel Arduino IDE sous Linux",
"author": "cedric@abonnel.fr",
"published": true,
"published_at": "2023-02-19 06:54:59",
"featured": false,
"published_at": "2023-02-19 06:54",
"created_at": "2023-02-19 06:54:59",
"updated_at": "2023-02-19 06:54:59",
"revisions": [],
"updated_at": "2026-05-16 20:30:11",
"revisions": [
{
"n": 1,
"date": "2026-05-16 20:30:11",
"comment": "Tags modifiés, contenu modifié, image de couverture modifiée",
"title": "Installer le logiciel Arduino IDE sous Linux"
}
],
"cover": "cover.png",
"files_meta": [],
"external_links": [],
"seo_title": "",
"seo_description": "",
"og_image": "",
"category": "Électronique"
"og_image": "https://www.abonnel.fr/file?uuid=76ede607-4a6b-434d-b01e-82aa509f3448&name=cover.png",
"category": "Électronique",
"tags": {
"tags": [
"IDE",
"Arduino",
"ESP32",
"ESP8266",
"Arduino Uno",
"ESP",
"IoT"
]
}
}
@@ -0,0 +1,139 @@
# Installer le logiciel Arduino IDE sous Linux
Cet article a été testé avec les distributions suivantes
- **Linux Mint 19 64 bits**
- **Linux Debian 9.6 (stretch) 64 bits**
- **MX Linux 18.3** basé sur Linux Debian 9
- **Zorin OS 16.1** basé sur Linux Debian
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. J'ai eu le cas avec **Debian 9.6** où je ne pouvais pas utiliser des cartes ESP 8266.
Date de relecture : 15 août 2022
Il faut télécharger la version 1.8.19. Vous pouvez vérifier la dernière version disponible depuis le site <https:*www.arduino.cc/en/Main/Software>. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.
![](arduino_software_1.8.7.png)
## - Télécharger Arduino IDE Software
Depuis mon dossier **home** ou un autre dossier personnel, je télécharge le programme **Arduino IDE**. Je préfère l'effectuer depuis une ligne de commande.
```
wget -O arduino.tar.xz https:*downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
```
![Téléchargement de l'application **Arduino IDE** dans une fenêtre de Terminal](terminal_install_arduino.png)
## - 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 3** : si un lien `/opt/arduino/` existait, détruit le lien sur `/opt/arduino` 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.
<code BASH [enable_line_numbers="true", start_line_numbers_at="1"]>
sudo tar -xvf arduino.tar.xz -C /opt
sudo chown -R root:root /opt/arduino-1.8.19
sudo unlink /opt/arduino
sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
sudo /opt/arduino/install.sh
</code>
## - Problèmes rencontrés après le déploiement
### - Droits sur tty et dialout
Il faut ajouter l'utilisateur de l'application **Arduino IDE** aux groupes `tty` et `dialout`. L'exemple suivant permet d'ajouter l'utilisateur `cedric` aux groupes `tty` et `dialout`.
```
sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
```
Si vous venez de saisir les lignes de commandes `usermod`, vous devez redémarrer.
### - Version de Java incorrecte
Le message suivant peut apparaître dans l'application **Arduino IDE** :
```
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
```
Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec `java -version`. Toutefois, un java est intégré avec l'application **Arduino IDE**. (`/opt/arduino/java/bin/java -version` me renvoie la version `java version "1.8.0_191"`).
Il faudra peut être toutefois changer les paramètres java de l'OS.
J'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles.
Pour procéder à l'installation de Java 8 et choisir par défaut cette version :
```
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
```
![](terminal_alternatives_config_java.png)
### - Serial port not selected
Dans certains cas, sous Mint, il faut désinstaller `brltty`
```
sudo apt-get remove brltty
```
### - Aucune carte n'est détectée
![](20220128-074733.png)
Le câble USB peut être également non cablé pour les données (data)
Pour rappel, voici le cablage d'un port USB
![](20220128-075003.png)
## - Exécuter votre premier programme
Voici donc notre premier programme (celui qui est décrit dans la vidéo).
Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.\\
Il n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la , servira dans notre exemple sans forcément réalisée un montage électronique.
Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur `Fichier => Exemples => 01.Basics => Blink`.
Vous pouvez également copier le code suivant dans votre éditeur :
<code C basics-blink.c [enable_line_numbers="true", start_line_numbers_at="1"]>
/*
Clignotement
Allume la LED pendant 1 seconde,
puis l'éteint pendant 0,5 seconde.
*/
* Numéro de la broche à laquelle est
* connectée la LED
int led = 13;
* le code dans cette fonction est exécuté une fois au début
void setup() {
- indique que la broche de la LED 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 (tension 5V sur la broche)
delay(1000); * attendre 1000ms = 1s
digitalWrite(led, LOW); * éteindre la LED (tension 0V sur la broche)
delay(1000); * attendre à nouveau 1seconde
}
</code>
Deux déclaration de fonctions sont obligatoires :
- setup
- loop
Dans ce bout de code, nous appelons trois fonctions :
- digitalWrite
- pinMode
- delay
Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu `Outils => Port`, sélectionner `/dev/ttyACMO`.