Les cartes Arduino utilisent divers microprocesseurs et contrôleurs. Elles sont équipées de broches d'entrée/sortie (E/S) numériques et analogiques, connectables à différentes cartes d'extension (« shields ») ou plaques d'essai (pour le prototypage), ainsi qu'à d'autres circuits. Ces cartes disposent d'interfaces de communication série, notamment USB sur certains modèles, servant également au chargement des programmes. Les microcontrôleurs sont programmables en C et C++ (C embarqué), grâce à une API standard appelée langage de programmation Arduino , inspirée du langage Processing et utilisée avec une version modifiée de l'IDE Processing. Outre les chaînes de compilation classiques , le projet Arduino propose un environnement de développement intégré (IDE) et un outil en ligne de commande développé en Go .
Le projet Arduino a vu le jour en 2005 comme outil destiné aux étudiants de l' Institut de design d'interaction d'Ivrée , en Italie , avec pour objectif de fournir aux novices comme aux professionnels un moyen simple et économique de créer des dispositifs interagissant avec leur environnement grâce à des capteurs et des actionneurs . Parmi les exemples courants de ces dispositifs destinés aux makers , on trouve des robots simples , des thermostats et des détecteurs de mouvement .
Le nom Arduino provient du Bar di Re Arduino, où se réunissaient certains des fondateurs du projet. Ce bar se trouve à Ivrée , en Italie , et a été nommé en l'honneur d'Arduin .
Le projet Arduino a été lancé à l' Institut de Design d'Interaction d'Ivrée ( IDII) , en Italie. À cette époque, les étudiants utilisaient un microcontrôleur BASIC Stamp d'une valeur de 50 dollars. En 2004, Hernando Barragán a créé la plateforme de développement Wiring dans le cadre de son mémoire de master à l'IDII, sous la direction de Massimo Banzi et Casey Reas . Casey Reas est connu pour avoir co-créé, avec Ben Fry, la plateforme de développement Processing . L'objectif du projet était de créer des outils simples et économiques permettant aux non-ingénieurs de réaliser des projets numériques. La plateforme Wiring se composait d'une carte de circuit imprimé (PCB) avec un microcontrôleur ATmega 128, d'un environnement de développement intégré (IDE) basé sur Processing et de bibliothèques de fonctions facilitant la programmation du microcontrôleur. En 2005, Massimo Banzi, avec David Mellis, également étudiant à l'IDII, et David Cuartielles, a étendu Wiring en y ajoutant la prise en charge du microcontrôleur ATmega8, moins coûteux. Le nouveau projet, dérivé de Wiring, s'appelait Arduino .
L'équipe initiale d'Arduino était composée de Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino et David Mellis.
Suite à la finalisation de la plateforme, des versions plus légères et moins coûteuses ont été distribuées au sein de la communauté open source. On estimait mi-2011 que plus de 300 000 cartes Arduino officielles avaient été produites commercialement et qu’en 2013, 700 000 cartes officielles étaient entre les mains des utilisateurs.
Litige relatif aux marques de commerce
Début 2008, les cinq cofondateurs du projet Arduino ont créé une société, Arduino LLC , afin de détenir les marques déposées associées à Arduino. La fabrication et la vente des cartes devaient être assurées par des entreprises externes, et Arduino LLC percevrait des redevances. Les statuts d'Arduino LLC stipulaient que chacun des cinq fondateurs transférerait la propriété de la marque Arduino à la nouvelle société.Maker Faire de New York, le 1er octobre 2016, Massimo Banzi, cofondateur et PDG d'Arduino LLC, et Federico Musto, PDG d'Arduino SRL, ont annoncé la fusion des deux sociétés, donnant naissance à Arduino AG. À peu près au même moment, Massimo Banzi a annoncé la création d'une nouvelle fondation, Arduino Foundation, marquant « un nouveau départ pour Arduino », mais cette décision a été ultérieurement annulée.
En avril 2017, Wired a révélé que Musto avait falsifié son parcours universitaire. Sur le site web de son entreprise, ses profils LinkedIn personnels et même sur des documents commerciaux italiens, Musto était, jusqu'à récemment, présenté comme titulaire d'un doctorat du Massachusetts Institute of Technology (MIT). Dans certains cas, sa biographie mentionnait également un MBA de l'Université de New York (NYU). Wired a indiqué qu'aucune de ces universités ne possédait de trace de sa présence, et Musto a par la suite admis, lors d'un entretien avec Wired, n'avoir jamais obtenu ces diplômes. La controverse autour de Musto s'est poursuivie lorsqu'en juillet 2017, il aurait retiré de nombreuses licences open source , schémas et codes du site web d'Arduino, provoquant un tollé général.
En 2017, Arduino AG détenait de nombreuses marques déposées Arduino. En juillet 2017, BCMI, fondée par Massimo Banzi, David Cuartielles, David Mellis et Tom Igoe, a acquis Arduino AG et toutes les marques déposées Arduino. Fabio Violante est le nouveau PDG, succédant à Federico Musto, qui a quitté Arduino AG.
Après le litige
En octobre 2017, Arduino annonçait son partenariat avec Arm Holdings (ARM). Le communiqué précisait notamment : « ARM reconnaît l’indépendance comme une valeur fondamentale d’Arduino … sans aucune dépendance vis-à-vis de l’ architecture ARM . » Arduino entend poursuivre sa collaboration avec tous les fournisseurs de technologies et toutes les architectures. Sous la direction de Violante, l’entreprise a renoué avec la croissance et lancé de nouveaux modèles. La marque Genuino a été abandonnée et tous les produits ont été commercialisés sous la marque Arduino.
En août 2018, Arduino a annoncé son nouvel outil en ligne de commande open source ( arduino-cli ), qui peut être utilisé en remplacement de l'IDE pour programmer les cartes à partir d'un shell.
En février 2019, Arduino a annoncé son service IoT Cloud comme une extension de l'environnement en ligne Create.
En février 2020, la communauté Arduino comptait environ 30 millions d'utilisateurs actifs, selon les téléchargements de l'IDE.
En octobre 2025, il a été annoncé qu'Arduino avait été acquis, pour un montant encore non divulgué, par la multinationale américaine des semi-conducteurs Qualcomm .
Matériel

Arduino est un logiciel libre . Les schémas de référence sont distribués sous licence Creative Commons Attribution - Partage dans les mêmes conditions 2.5 et disponibles sur le site web d'Arduino. Les fichiers de conception et de production pour certaines versions sont également disponibles.copyleft , les développeurs ont demandé que le nom Arduino soit réservé au produit officiel et ne soit pas utilisé pour des œuvres dérivées sans autorisation. Le document de politique officiel relatif à l'utilisation du nom Arduino souligne que le projet est ouvert à l'intégration de travaux tiers dans le produit officiel. Plusieurs produits compatibles Arduino commercialisés ont évité le nom du projet en utilisant divers noms se terminant par -duino .

La plupart des cartes Arduino sont composées d'un microcontrôleur Atmel AVR 8 bits (ATmega8, ATmega168, ATmega328 , ATmega1280 ou ATmega2560) avec des capacités de mémoire flash, un nombre de broches et des fonctionnalités variables. L' Arduino Due 32 bits , basé sur l'Atmel SAM3X8E, a été lancé en 2012. Ces cartes utilisent des broches à une ou deux rangées, ou des connecteurs femelles, facilitant la programmation et l'intégration dans d'autres circuits. Elles peuvent être connectées à des modules d'extension appelés shields . Plusieurs shields, éventuellement empilés, peuvent être adressés individuellement via un bus série I²C . La plupart des cartes intègrent un régulateur linéaire 5 V et un oscillateur à quartz ou un résonateur céramique de 16 MHz . Certains modèles, comme le LilyPad, fonctionnent à 8 MHz et se passent de régulateur de tension intégré en raison de contraintes de format .
Les microcontrôleurs Arduino sont préprogrammés avec un chargeur d'amorçage (bootloader) qui simplifie le chargement des programmes dans la mémoire flash intégrée . Le chargeur d'amorçage par défaut de l'Arduino Uno est Optiboot. Le code du programme est chargé sur les cartes via une connexion série avec un autre ordinateur. Certaines cartes Arduino série intègrent un circuit de conversion de niveau pour convertir les niveaux logiques RS-232 en signaux logiques TTL ( transistors-transistors série ). Les cartes Arduino actuelles sont programmées via le bus USB (Universal Serial Bus ), grâce à des puces d'adaptation USB-série telles que la FTDI FT232. Certaines cartes, comme les modèles Uno plus récents, remplacent la puce FTDI par une puce AVR distincte contenant un firmware USB-série, reprogrammable via son propre connecteur ICSP . D'autres variantes, comme l'Arduino Mini et la Boarduino (non officielle), utilisent une carte ou un câble adaptateur USB-série détachable, le Bluetooth ou d'autres méthodes. Lorsqu'il est utilisé avec des outils de microcontrôleur traditionnels, au lieu de l'IDE Arduino, la programmation système AVR standard (ISP) est utilisée.
La carte Arduino expose la plupart des broches d'E/S du microcontrôleur pour une utilisation par d'autres circuits. Les cartes a ] [ b actuelle [ 14 broches d'E/S numériques, dont six peuvent générer des signaux à modulation de largeur d'impulsion (PWM), et six entrées analogiques , qui peuvent également servir de six broches d'E/S numériques. Ces broches sont situées sur la face supérieure de la carte, via des connecteurs femelles au pas de 2,54 mm (0,1 pouce). Plusieurs cartes d'extension sont également disponibles dans le commerce. Les cartes Arduino Nano, Bare Bones Board et Boarduino compatibles Arduino peuvent comporter des connecteurs mâles sur leur face inférieure, permettant leur connexion à des plaques d'essai sans soudure .
Il existe de nombreuses cartes compatibles Arduino et dérivées d'Arduino. Certaines sont fonctionnellement équivalentes à une carte Arduino et peuvent être utilisées indifféremment. Beaucoup enrichissent l'Arduino de base en ajoutant des pilotes de sortie, souvent pour une utilisation dans l'enseignement scolaire , afin de simplifier la fabrication de petits robots et de buggies. D'autres sont électriquement équivalentes, mais diffèrent par leur format, conservant parfois la compatibilité avec les shields, parfois non. Certaines variantes utilisent des processeurs différents, de compatibilité variable.
Outre les variations matérielles, des bibliothèques open source ont été développées pour prendre en charge le matériel Arduino dans les outils de CAO électronique . Un de ces projets fournit des symboles schématiques KiCad et des empreintes de circuit imprimé pour les modules Arduino, les cartes d'extension et les connecteurs, facilitant ainsi l'intégration d'Arduino dans les conceptions des ingénieurs.
Conseils officiels
Boucliers
Les shields Arduino sont des cartes d'extension qui se fixent sur les cartes mères Arduino pour étendre leurs fonctionnalités et réaliser des tâches spécifiques. Parmi les utilisations courantes, on peut citer le contrôle de moteurs CC pour un robot ou une imprimante 3D, l'ajout d'un écran LCD, l'activation de la connectivité Ethernet, la navigation GPS/GNSS et la conversion de connecteurs à broches en connecteurs Grove. Les shields sont généralement conçus et fabriqués par des entreprises tierces, telles que SparkFun Electronics , Adafruit Industries , Seeed Studio et Cytron Technologies, entre autres. Il est également possible de fabriquer soi-même certains shields .
Logiciel
Un programme pour le matériel Arduino peut être écrit dans n'importe quel langage de programmation doté de compilateurs capables de produire du code machine binaire pour le processeur cible. Atmel fournit un environnement de développement pour ses microcontrôleurs 8 bits AVR et 32 bits ARM Cortex-M : AVR Studio (ancienne version) et Atmel Studio (version plus récente).
IDE hérité (1.0)
L'IDE Arduino prend en charge les langages C et C++ en utilisant des règles spécifiques de structuration du code. Il fournit une bibliothèque logicielle issue du projet Wiring , qui propose de nombreuses procédures d'entrée/sortie courantes. Le code écrit par l'utilisateur ne nécessite que deux fonctions de base : le démarrage du programme et la boucle principale. Ces fonctions sont compilées et liées à un stub de programme ` main()` pour former un programme exécutable cyclique grâce à la chaîne d'outils GNU , également incluse dans la distribution de l'IDE. L'IDE Arduino utilise le programme `avrdude` pour convertir le code exécutable en un fichier texte encodé en hexadécimal , lequel est ensuite chargé sur la carte Arduino par un programme de chargement intégré au firmware. Traditionnellement, l'IDE Arduino était utilisé pour programmer les cartes officielles Arduino basées sur des microcontrôleurs Atmel AVR. Cependant, avec la popularité croissante d'Arduino et la disponibilité de compilateurs open source, de nombreuses autres plateformes, telles que PIC , STM32 , TI MSP430 et ESP32, peuvent désormais être programmées avec l'IDE Arduino.
IDE 2.0
- Environnement de développement moderne et complet
- Nouveau directeur du conseil d'administration
- Nouveau gestionnaire de bibliothèque
- Explorateur de projets
- Saisie semi-automatique de base et vérification de la syntaxe
- Moniteur série avec traceur graphique
- Mode sombre et prise en compte des DPI
- Version 64 bits
- Capacité de débogage
L'une des fonctionnalités importantes de l'IDE Arduino 2.0 est le débogage. Il permet d'exécuter le programme pas à pas, d'insérer des points d'arrêt et de visualiser la mémoire. Le débogage nécessite une puce cible dotée d' un port de débogage et d'une sonde de débogage. La carte Arduino Zero officielle est débogable immédiatement. Les autres cartes Arduino SAMD21 officielles requièrent un module ![]()
La plupart des cartes Arduino contiennent une diode électroluminescente (DEL) et une résistance de limitation de courant connectée entre la broche 13 et la masse, ce qui est pratique pour de nombreux tests et fonctions de programmation. Un programme typique utilisé par les débutants, similaire à « Hello, World! » , est « blink », qui fait clignoter la DEL intégrée à la carte Arduino. Ce programme utilise les fonctions `blink` Xinu OS pour l'ATmega328P (Arduino Uno et autres cartes utilisant la même puce), qui inclut la plupart des fonctionnalités de base. Le code source de cette version est disponible gratuitement.
Il existe également un outil de threading, appelé Protothreads. Les Protothreads sont décrits comme des « threads sans pile extrêmement légers conçus pour les systèmes à mémoire très limitée, tels que les petits systèmes embarqués ou les nœuds de réseaux de capteurs sans fil.
Il existe un portage de FreeRTOS pour Arduino. Il est disponible via le gestionnaire de bibliothèques Arduino. Il est compatible avec plusieurs cartes, dont l'Uno.
Applications
- Arduboy , une console de jeux portable basée sur Arduino
- Arduinome , un contrôleur MIDI qui imite le Monome
- Ardupilot , logiciel et matériel pour drones
- ArduSat , un cubesat basé sur Arduino
- C-STEM Studio , une plateforme d'apprentissage pratique et intégré de l'informatique, des sciences, des technologies, de l'ingénierie et des mathématiques (C-STEM) avec la robotique
- Enregistreurs de données pour la recherche scientifique
- OBDuino , un ordinateur de bord qui utilise l' interface de diagnostic embarquée présente dans la plupart des voitures modernes
- OpenEVSE , un chargeur de véhicules électriques open source
- XOD , un langage de programmation visuel pour Arduino
Simulation
Reconnaissances
Le projet Arduino a reçu une mention honorable dans la catégorie Communautés numériques au Prix Ars Electronica 2006.
Le kit d'ingénierie Arduino a remporté le prix Bett dans la catégorie « Services numériques pour l'enseignement supérieur ou la formation continue » en 2020.