Arduino Yún
⚡ L’essentiel en 60 secondes
- 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 (ð0/ð1 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.
- storage — 16 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
- gpio_headers_atmega32u4_side_uno_form_factor — 14 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.
- inter_cpu_link — the 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.
- power — USB micro-B (5 V, programming + power) and barrel jack / VIN.
- Sur cette fiche : 9 tutoriels · 10 codes
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.



Schéma de brochage (pinout)

| Attr | Specs | vé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 (ð0/ð1 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. | ✔ |
storage | 16 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_factor | 14 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_link | the 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é |
power | USB 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_correction | the 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é
- The problem with arduino yun forum.arduino.cc
- Why does the Arduino yun resets every 30 minutes? forum.arduino.cc
- Who is currently looking after the Yun system? Packages, OpenWRT, updates, etc forum.arduino.cc
- Arduino YUN failed update forum.arduino.cc
- Finding people with Arduino Yun boards to help test my updates forum.arduino.cc
Contenu indisponible pour le moment.
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Official firmware / software repos (Arduino org on GitHub, all verified 2026-10-13)
- Mainline OpenWrt support
- Chip references
- Chip references
- Chip references
- Official blog posts
- Official blog posts
- Official blog posts
- Community
- Archived official pages
- 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.
- Premiers pas sur la Yún : Bridge, Console et LED debutant Schéma : IMG-yun-debutant-1-yun-premiers-pas-bridge.svg — Arduino Yún vue de dessus, flèches sur la puce ATmega32U4, le SoC Atheros AR9331 avec son blindage radio, le port micro-USB et la LED marquée L.
- Connecter la Yún au WiFi et piloter une broche depuis le navigateur debutant Schéma : IMG-yun-debutant-2-yun-config-wifi-arduino-local.svg — Yún avec ant WiFi, câble Ethernet et flèche vers un navigateur affichant http://arduino.local, panneau de configuration WiFi ; une LED sur la pin 13 reliée à un bouton du tableau de bord web.
- Envoyer un capteur analogique sur le réseau : potentiomètre et Bridge REST debutant Schéma : IMG-yun-debutant-3-yun-potentiometre-web-bridge.svg — Yún sur breadboard : potentiomètre 10 kΩ sur A0, câble réseau/ant WiFi, et navigateur affichant la valeur renvoyée par http://arduino.local/arduino/analog/0.
- runShellCommandOnLinux : faire exécuter des commandes Linux depuis le sketch intermediaire IMG-yun-intermediaire-4-yun-runshellcommand-linux.svg — Yún en coupe conceptuelle : à gauche l'ATmega32U4 avec son croquis, flèche « Bridge /ttyATH0 » vers la droite représentant Linino OS (terminal # ping -c1), retour de la sortie vers le Moniteur série.
- L'API REST du Bridge en détail : /arduino, /data et routes personnalisées intermediaire IMG-yun-intermediaire-5-yun-api-rest-complete.svg — Yún au centre, autour d'elle quatre bulles HTTP : GET /arduino/digital/13/1, GET /data/get/temp, POST /data/send, GET /mail/send ; flèches navigateur, curl et smartphone.
- Alerte email : bouton sur la Yún et envoi via sendmail intermediaire IMG-yun-intermediaire-6-yun-bouton-alerte-mail.svg — Yún avec bouton poussoir sur la pin 2, flèche vers une envelople email sortante et un pictogramme serveur SMTP ; en médaillon, la config SMTP dans la page arduino.local.
- Serveur web embarqué : YunServer, YunClient et pages dynamiques avance IMG-yun-avance-7-yun-serveur-web-yunserver.svg — Yún avec un serveur HTTP dessiné dans la partie Linux : navigateur connecté sur le port 5555, requête GET /temperature, réponse JSON ; le Bridge relie le serveur au 32U4 qui lit un capteur sur A1.
- Vivre côté Linux : SSH, opkg, Python et routes Lua personnalisées avance IMG-yun-avance-8-yun-opkg-python-lua-linux.svg — terminal SSH sur la Yún (prompt root@arduino) : commandes opkg install python, ls /usr/lib/lua, éditeur vi ; en arrière-plan la Yún et son stockage interne 32 Mo + slot microSD.
- Téléverser par WiFi, logger sur microSD, et récupérer une Yún briquée avance IMG-yun-avance-9-yun-televersement-wifi-recuperation.svg — Yún avec trois zones annotées : 1) antenne + éclair « téléversement WiFi » vers l'IDE, 2) fente microSD avec flèche « logs CSV », 3) bouton de restauration maintenu 30 s et broches du connecteur pour le mode recovery.
Bibliothèque de code — exemples écrits pour cette carte
clignotant-rest.inoArduinoconsole-bridge.inoArduinovaleurs-partagees.inoArduinoprocess-shell.inoArduinoserveur-json.inoArduinolecture-fichier.inoArduinorelais-consigne.inoArduinostats-systeme.inoArduinoreleve-periodique.inoArduinoalerte-obscurite.inoArduino
Exemples et dépôts trouvés en ligne
- arduino/YunBridge github.com
- arduino-libraries/Bridge github.com
- arduino/openwrt-yun github.com
- arduino/YunWebUI github.com
- mat-lo/yun-examples github.com