Arduino Yún

ArduinoMCU 8-32 bitarduino

⚡ L’essentiel en 60 secondes

L’Arduino Yún, introduite en 2013 par Arduino LLC, se distingue dans l’histoire des cartes de développement par son architecture hybride unique. Elle ne se contente pas d’être un simple microcontrôleur, mais constitue une véritable petite machine Linux intégrée dans le format compact et familier des cartes Arduino Uno. Cette conception repose sur la cohabitation de deux cerveaux électroniques distincts travaillant en synergie. D’un côté, on trouve un microcontrôleur Atmel ATmega32U4, le même composant 8 bits que celui utilisé dans l’Arduino Leonardo, qui gère les tâches temps réel, la lecture des capteurs et le contrôle des actionneurs. De l’autre, un système-on-puce Qualcomm Atheros AR9331, qui fait tourner un système d’exploitation Linux complet. Il est crucial de noter que contrairement à d’autres cartes de l’époque qui utilisaient des puces Intel Quark, le Yún s’appuie exclusivement sur cette puce Atheros basée sur une architecture MIPS, ce qui lui confère des capacités réseau et de traitement de données bien supérieures à celles d’un microcontrôleur classique.

Le cœur de l’innovation du Yún réside dans la communication entre ces deux mondes. Le microcontrôleur et le processeur Linux sont reliés physiquement par des interfaces série et SPI, permettant un échange de données fluide. Cette liaison est pilotée par la bibliothèque logicielle « Bridge », qui offre une interface simplifiée pour les développeurs. Grâce à ce système, le code écrit pour le microcontrôleur peut interagir avec le monde Linux comme si c’était une extension native. Par exemple, un programme Arduino peut envoyer des données vers une base de données locale, lancer des commandes système Linux, ou encore faire appel à des outils réseau complexes comme des navigateurs web ou des clients SSH, le tout sans que le microcontrôleur n’ait à gérer la complexité de la pile réseau lui-même. À l’inverse, des scripts Python ou des programmes C tournant sous Linux peuvent lire et écrire dans la mémoire partagée avec le microcontrôleur, permettant une interaction bidirectionnelle puissante.

Sur le plan des spécifications matérielles, la partie Linux est équipée de 16 Mo de mémoire flash NOR, ce qui est suffisant pour stocker le système d’exploitation OpenWrt-Yún, une version personnalisée de la distribution Linux OpenWrt adaptée aux besoins d’Arduino. Bien que cette capacité de stockage soit limitée, elle peut être étendue grâce à un emplacement pour carte microSD, permettant d’installer des logiciels plus lourds comme Node.js ou des bases de données. La mémoire vive est communément documentée comme étant de 64 Mo, bien que cette valeur précise soit difficile à confirmer officiellement aujourd’hui. Pour la connectivité, la carte dispose d’un port Ethernet intégré et d’une puce Wi-Fi 802.11 b/g/n, offrant une flexibilité totale pour le déploiement en intérieur ou en extérieur. Un port USB permet également de connecter des périphériques supplémentaires, transformant le Yún en une passerelle IoT complète capable de gérer des clés USB, des disques durs ou des modules radio additionnels.

L’expérience de développement avec le Yún est pensée pour être accessible. La carte peut être configurée via une interface web intuitive accessible à l’adresse locale « arduino.local », permettant de gérer les paramètrès réseau et les mises à jour sans avoir à utiliser de lignes de commande complexes. De plus, le chargement des programmes sur le microcontrôleur peut se faire non seulement par câble USB, mais aussi à distance via le réseau, le processeur Linux servant de relais pour transmettre le code compilé au microcontrôleur. Cette fonctionnalité est particulièrement utile pour les projets déployés dans des endroits difficiles d’accès. Cependant, il est important de mentionner que l’écosystème du Yún a connu des défis techniques notoires. Des problèmes de stabilité ont été rapportés, notamment des blocages lors de l’initialisation de la bibliothèque Bridge si le système Linux n’est pas entièrement prêt, ou des saturations de la liaison série à des débits de données élevés. Ces limitations ont conduit Arduino à reconnaître des défis de sécurité et de robustesse, résolus partiellement avec la révision 2 de la carte en 2018, qui a introduit un support SSL pour sécuriser les échanges entre les deux processeurs.

Aujourd’hui, l’Arduino Yún est considérée comme un produit en fin de vie. Les pages officielles ont été retirées du site d’Arduino, les dépôts de code associés sont archivés, et le support logiciel n’est plus maintenu activement. Cela signifie que bien que la carte reste fonctionnelle pour des projets existants ou pour l’apprentissage de l’architecture hybride, il n’y a plus de mises à jour de sécurité ni de nouvelles bibliothèques. Les utilisateurs doivent être conscients que les sources de téléchargement officielles ne sont plus disponibles, et que l’utilisation d’images Linux tierces peut casser la compatibilité avec la bibliothèque Bridge. Malgré ces obstacles, le Yún reste une référence historique importante pour comprendre comment intégrer un système d’exploitation complet dans un environnement embarqué simple. Elle a ouvert la voie à des projets ambitieux allant des installations artistiques interactives aux systèmes de domotique avancés, prouvant qu’il était possible de faire dialoguer le monde physique des capteurs avec le monde numérique des serveurs web et des bases de données, le tout dans un format abordable et accessible aux débutants comme aux experts.

Forum (1 sujet) →

AttrSpecsvérifié
microcontroller_side_atmel_microchip_atmega32u4— the same native-USB AVR as the Leonardo. Datasheet (live, fetched 2026-10-13): — 32 KB self-programmable flash, 2.5 KB SRAM, 1 KB EEPROM, up to 16 MHz, USB 2.0 device, hardware UART/SPI/I²C, PWM and 10-bit ADC.✔
linux_side_qualcomm_atheros_ar9331(NOT an Intel Quark). Proof: the current OpenWrt device tree for the board is literally named ar9331_arduino_yun.dts with compatible = "arduino,yun", "qca,ar9331" ( fetched 2026-10-13), and Arduino's own firmware tree builds it as CONFIG_TARGET_ar71xx_generic_Yun=y with -mips32r2 -mtune=mips32r2 on Linux 3.3 ( fetched 2026-10-13). - CPU: MIPS 24Kc-class 32-bit MIPS (MIPS32 release 2 per the toolchain flags above). - Wi-Fi: AR9331-integrated 2.4 GHz radio driven by kmod-ath9k (default in the Yun firmware .config above; &wmac enabled in the DTS). 802.11b/g/n 1×1. - Ethernet: AR9331 integrated 10/100 switch (&eth0/&eth1 enabled in the DTS), one RJ45 jack on the board. - USB: AR9331 USB 2.0 host (dr_mode = "host" in the DTS) feeding the external USB-A port; Rev.2 "improved USB hub" (blog post above). - Console: console=ttyATH0,250000 (DTS chosen node) — the 250000-baud AR9331 serial console reachable through the USB serial bridge.✔
storage16 MB SPI NOR flash on the Linux side — partition map in the DTS: u-boot 256 KB (read-only) @0x0, u-boot-env 64 KB, firmware 0xF90000 (~15.5 MB), nvram 64 KB, art (Wi-Fi calibration) 64 KB read-only @0xFF0000. Plus a microSD slot used to expand Linux storage (official tutorial YunDiskSpaceExpander sketch, forum topic✔
ram? non vérifié
gpio_headers_atmega32u4_side_uno_form_factor14 digital I/O (PWM-capable channels among 3, 5, 6, 9, 10, 11), 6 analog inputs (A4/A5 = I²C), ICSP (SPI), 5 V logic.? non vérifié
inter_cpu_linkthe AR9331 and the 32U4 are wired together over SPI and UART with output-enable buffers — the DTS exports exactly those three control GPIOs: yun:oe:spi (gpio 21), yun:oe:hs (handshake, gpio 22), yun:oe:uart (gpio 23) (DTS above). This is the hardware under the Bridge library.? non vérifié
powerUSB micro-B (5 V, programming + power) and barrel jack / VIN.? non vérifié
typical_current_draw_operating_temperature? non vérifié
intel_quark_note_task_brief_correctionthe Quark line (X1000, 32 nm, ≤400 MHz, i586/P54C ISA, no SIMD, EOL announced January 2019 with final shipments July 2022) powered the Intel Galileo/Edison/Curie and the Arduino 101 — not the Yun ( fetched 2026-10-13). The Yun's Linux SoC is the MIPS-based AR9331 shown above.✔
  • Fabricant : Arduino (Arduino LLC / Arduino AG à l'époque de la commercialisation).
  • Année d'introduction : 2013. La page officielle du board arduino.cc/en/Main/ArduinoBoardYun était déjà en ligne en septembre 2013 (premières captures Wayback CDX : 2013-09-14, et Arduino elle-même écrit « Since its launch in 2013, the Yùn — a small Linux machine and a microcontroller in a small Arduino form factor » (blog officiel, 2018-03-29 :
  • Statut : Fin de vie / retiré (au 2026-10-13) : - la page produit a disparu de la boutique ( → 404, vérifié le 2026-10-13) ; - la page du board a disparu de docs.arduino.cc (/hardware/yun, /retail/boards/yun, /legacy/yun → tous en 404, vérifié le 2026-10-13 ; des boards actuels comme résolvent toujours, donc le Yun a bien été retiré, le site n'est pas cassé) ; - le dépôt de la bibliothèque Bridge est archivé ( "archived": true, dernier push 2021-05-12, API GitHub 2026-10-13) ; - la catégorie Yun du forum se trouve désormais sous Official Hardware → Retired sur (arborescence des catégories récupérée le 2026-10-13).
  • Prix de lancement : >
  • Variantes (toutes documentées par des sources officielles) : - Yún (original, 2013) — le board que cette fiche décrit. - Yún Mini et Yún Shield — le shield (« Arduino/Genuino Yún or Yún Shield Web panel », description du dépôt officiel permet d'ajouter Linux à n'importe quel Arduino ; la prise en charge du shield est arrivée dans l'IDE 1.6.9 ( - Yún Rev.2 (2018, code produit ABX00020) — « true open-source design », alimentation plus robuste, nouveau connecteur Ethernet, connecteur USB horizontal, hub USB amélioré, pile OpenWRT mise à jour, prise en charge SSL sur le bridge Arduino↔Linux (
  • Correction du brief de tâche : l'énoncé citait github.com/arduino/ArduinoYun et github.com/arduino/meta-arduino-yun comme sources ; aucun de ces deux dépôts n'existe (API GitHub 404 pour les deux, 2026-10-13). Les vrais dépôts officiels du Yun sont listés en §Resources. De même, le brief décrivait le côté Linux comme un « Intel Quark X1000 » : c'est faux pour le Yun — voir §SoC & specs.

+ Points forts

  • MCU + Linux sur un seul board, qui se parlent par SPI/UART : la bibliothèque Bridge ( archivée) expose un magasin clé-valeur partagé, une mailbox, une console et le lancement de processus sous forme d'API C++ côté AVR et d'un service Python/REST (arduino/YunBridge, — « Python » d'après l'API GitHub) côté Linux.
  • API REST prête à l'emploi : le côté Linux sert le magasin clé-valeur par HTTP (/data/get, /data/put, endpoints de mailbox), donc n'importe quel langage sur le LAN peut parler au sketch — côté sketch, ce sont YunServer/YunClient (source de la bibliothèque ci-dessus).
  • Classe Process : exécuter des commandes shell Linux directement depuis un sketch (runShellCommand, runShellCommandAsynchronously) — p. ex. curl, opkg, sysfs GPIO sur l'AR9331 (source de la bibliothèque ci-dessus).
  • Téléversement de sketch par le réseau + console web + panneau web (dépôt YunWebUI ci-dessus).
  • Extension du stockage par microSD avec le sketch officiel YunDiskSpaceExpander (blog :
  • Yún Shield : le même concept de module Linux+Wi-Fi sous forme de shield pour les boards de classe Uno (
  • Sécurité de la Rev.2 : prise en charge SSL sur le bridge Arduino↔Linux (billet de blog 2018 ci-dessus) — Arduino a explicitement reconnu les « challenges … especially from a security point of view » des versions précédentes (même billet).
  • Pas de Bluetooth/BLE, pas de CAN, pas d'audio, pas d'affichage — le différenciateur du Yun est le côté Linux, pas les périphériques.

− Points faibles

  • Bridge.begin bloque indéfiniment / casse le boot. L'appel attend le côté Linux ; si le sketch tourne pendant que Linux démarre encore, cela peut interrompre le boot et bloquer le sketch définitivement : , thread d'explication .
  • Épuisement des sockets/connexions : YunClient se bloque après ~256 connexions ou tentatives de connexion, parfois de façon irrécupérable même par reset : .
  • Saturation du bridge à faible débit : blocages et caractères perdus autour de 50 octets/s à travers le bridge : .
  • Blocages périodiques YunServer + SoftwareSerial : .
  • Le board disparaît silencieusement du réseau après plusieurs jours de fonctionnement par ailleurs stable : .
  • Le panneau web bloque sur "Waiting for changes to be applied" après certaines modifications de configuration : .
  • Les images OpenWrt tierces cassent le bridge (Bridge.begin bloque jusqu'à la restauration des packages bridge d'Arduino) : .
  • Sécurité par défaut : les premiers firmwares livraient un bridge ouvert et non chiffré ; Arduino a admis des « challenges … especially from a security point of view » logiciels et n'a ajouté SSL qu'en Rev.2 (
  • Pression sur les 16 Mo de flash : la racine Linux d'origine est serrée ; la recommandation officielle était d'étendre sur microSD (blog 2014-05-06 ci-dessus).
  • Écosystème EOL : dépôt Bridge archivé ; pages officielles docs/boutique supprimées (voir §Identity) ; feeds opkg pour la vieille base Attitude Adjustment non maintenus.
  • Retour d'expérience expert expert — expert-arduino
    • Retour d'expérience sur la Yun. C'est une bête étrange : un ATmega32U4 collé à un Linux AR9331. Le concept est génial mais la réalité est douloureuse. Le problème majeur reste Bridge.begin qui bloque indéfiniment si le sketch démarre avant que Linux soit prêt. J'ai passé des heures à comprendre pou… — expert-arduino
    • Je confirme le souci de blocage au démarrage, c'est monnaie courante. J'ai tenté de migrer vers une image OpenWRT standard pour contourner la lourdeur de la distribution Arduino, erreur fatale : le bridge ne fonctionne plus du tout et Bridge.begin reste bloqué. Il faut impérativement restaurer les … — maker-flux

Retours et projets de la communauté

  • Quadcopter running on Arduino Yún

    Quadcopter running on Arduino Yún — .arduino.cc/2015-06-08/building-a-quadcopter-running-on-arduino-yun/ (unverified au 2026-10-13) IoT gauge with Yún + IFTTT — .arduino.cc/2015-08-05/build-an-iot-gauge/ (unverified au 2026-10-13) — tutoriel hébergé sur blog,…

  • Expand Yún disk space & install Node.js

    Expand Yún disk space & install Node.js — (official tutorial) — (unverified au 2026-10-13) — interne hébergé sur site interne, statut vivant vérifié le 2026-10-13. Projet documenté dans la fiche yun (MCU 8-32 bit) ; rôle : approfondir la prise en main de cett…

Contenu indisponible pour le moment.

  • Bridge.begin bloque indéfiniment / casse le boot. L'appel attend le côté Linux ; si le sketch tourne pendant que Linux démarre encore, cela peut interrompre le boot et bloquer le sketch définitivement : , thread d'explication .
  • Épuisement des sockets/connexions : YunClient se bloque après ~256 connexions ou tentatives de connexion, parfois de façon irrécupérable même par reset : .
  • Saturation du bridge à faible débit : blocages et caractères perdus autour de 50 octets/s à travers le bridge : .
  • Blocages périodiques YunServer + SoftwareSerial : .
  • Le board disparaît silencieusement du réseau après plusieurs jours de fonctionnement par ailleurs stable : .
  • Le panneau web bloque sur "Waiting for changes to be applied" après certaines modifications de configuration : .
  • Les images OpenWrt tierces cassent le bridge (Bridge.begin bloque jusqu'à la restauration des packages bridge d'Arduino) : .
  • Sécurité par défaut : les premiers firmwares livraient un bridge ouvert et non chiffré ; Arduino a admis des « challenges … especially from a security point of view » logiciels et n'a ajouté SSL qu'en Rev.2 (
  • Pression sur les 16 Mo de flash : la racine Linux d'origine est serrée ; la recommandation officielle était d'étendre sur microSD (blog 2014-05-06 ci-dessus).
  • Écosystème EOL : dépôt Bridge archivé ; pages officielles docs/boutique supprimées (voir §Identity) ; feeds opkg pour la vieille base Attitude Adjustment non maintenus.

Bibliothèque de code — exemples écrits pour cette carte

  • clignotant-rest.ino Arduino

    Le pont REST est la signature des cartes Yun/Tian : le croquis devient un serveur HTTP local. Un curl côté Linux (ou le navigateur) allume et éteint la LED — la démonstration immédiate du dual-boot M…

  • console-bridge.ino Arduino

    La bibliothèque Console remplace Serial côté réseau : depuis une session ssh de la carte, la commande console affiche ce que print le croquis et envoie les frappes clavier. Le débogage sans câble USB…

  • valeurs-partagees.ino Arduino

    Le magasin de valeurs du pont est la variable partagée MCU↔Linux : valuePut expose une clé lisible par une simple requête HTTP locale, valueGet récupère une consigne écrite depuis le Linux. Deux lign…

  • process-shell.ino Arduino

    La classe Process est le shell à distance du croquis : cat /proc/loadavg donne la charge du Linux, la température du SoC complète le tableau. Le MCU surveille ainsi le système qui l'accompagne, en di…

  • serveur-json.ino Arduino

    Le croquis devient une API JSON : YunJSON construit l'objet (lumière, bouton, uptime) et YunServer le sert sur localhost. Les scripts Node/Python du côté Linux consomment l'état matériel comme un mic…

  • lecture-fichier.ino Arduino

    La classe FileIO donne au croquis un accès direct au système de fichiers du Linux : lecture de /etc/hostname, écriture en mode append dans un journal. Le MCU devient un producteur de données du systè…

  • relais-consigne.ino Arduino

    Sens inverse du premier exemple : un simple curl côté Linux allume un relais piloté par le microcontrôleur. La scrutation de la consigne avec détection de changement évite de rebateler inutilement le…

  • stats-systeme.ino Arduino

    Le croquis joue le sysadmin : free, ip et uptime tournent côté Linux et remontent ligne par ligne sur le moniteur série. Utile pour surveiller une carte installée dans un placard, sans écran ni ssh.

  • releve-periodique.ino Arduino

    Le duo parfait des cartes Yun/Tian : le MCU mesure, le Linux horodate et journalise en CSV. Le capteur analogique devient un enregistreur autonome, exportable en un scp, sans horloge externe.

  • alerte-obscurite.ino Arduino

    La détection reste côté MCU (rapide, temps réel), la notification côté Linux (logger, mail, MQTT). Cette répartition des rôles est la philosophie des cartes Yun/Tian : chaque processeur fait ce qu'il…

Exemples et dépôts trouvés en ligne