Deux cartes de microcontrôleur à petit facteur de forme et à faible coût s'affrontent.
Dans le monde passionnant des microcontrôleurs, trouver le bon équilibre entre taille et puissance de traitement pour votre projet d'électronique embarquée est une priorité absolue. Lorsque vous recherchez cette correspondance, Arduino Nano et Raspberry Pi Pico sont deux choix populaires qui viennent souvent à l'esprit.
Malheureusement, les besoins spécifiques de votre projet peuvent ne pas vous être apparents tant que vous n'êtes pas au point mort dans le processus de mise en œuvre. Passons en revue certaines des principales différences et fonctionnalités à rechercher entre ces deux cartes rivales pour vous aider à choisir le bon microcontrôleur pour votre projet.
Comparaison du matériel
Tout d'abord, il convient de noter qu'il existe différentes options parmi lesquelles choisir dans les gammes Arduino Nano et Pico, pas seulement leurs modèles de base. Certains sont des mises à niveau du modèle de base tandis que d'autres ont des fonctionnalités dédiées adaptées à certaines applications. Mais cela devrait rester: il n'y a pas de "meilleure" carte pour votre projet en soi, seulement des compromis.
Arduino Nano
L'Arduino Nano, alimenté par l'ATmega328, est une carte compacte et adaptée aux planches à pain qui offre des fonctionnalités similaires à l'Arduino Duemilanove, mais dans un facteur de forme différent. Il n'a pas de prise d'alimentation CC et utilise un câble USB Mini-B au lieu d'un câble standard.
Fonctionnalité |
spécification |
---|---|
Microcontrôleur |
ATmega328 |
Vitesse de l'horloge |
16MHz |
SRAM |
2kB |
Mémoire flash |
32kB |
EEPROM |
1kB |
Broches GPIO |
22 |
Analogique dans les broches |
8 |
Broches PWM |
6 |
Tension des broches d'E/S |
5V |
Courant de broche d'E/S |
40mA |
Courant de broche 3.3V |
50mA |
Tension d'alimentation |
7-12V |
Dimensions |
18 x 45 mm |
Framboise Pi Pico
Bien que le Raspberry Pi Pico n'ait été lancé qu'en 2021, c'est déjà un choix populaire dans le monde de MCU. Au cœur du Pico se trouve une puce de microcontrôleur RP2040 basée sur un Arm Cortex-M0+ à double cœur processeur.
Fonctionnalité |
spécification |
---|---|
Microcontrôleur |
SoC RP2040 avec double cœur Arm Cortex-M0+ |
Vitesse de l'horloge |
133 MHz |
RAM sur puce |
264kB |
Mémoire flash sur puce |
2 Mo |
Mémoire flash hors puce |
Jusqu'à 16 Mo via un bus QSPI dédié |
Broches GPIO |
26 |
Canaux d'entrée analogiques |
3 |
Canaux PWM |
16 |
Tension des broches d'E/S |
3.3V |
Capteur de température |
Inclus |
Tension d'alimentation |
5V |
Dimensions |
51,3 × 21 mm |
En termes de capacités matérielles, le Raspberry Pi Pico a clairement un avantage sur l'Arduino standard Nano, avec un processeur plus rapide, plus de mémoire flash, plus de broches GPIO et un contrôle étendu sur PWM signaux. De plus, le processeur dual-core présent sur le Pico est bon pour les programmes multithreads.
Cependant, le Raspberry Pi Pico manque d'EEPROM, souvent indispensable pour les projets basés sur des microcontrôleurs. De plus, vous ne pourrez pas exécuter votre projet avec une pile 9V sans régulateur de tension.
Applications IdO
Alors que les modèles de base manquent de connectivité sans fil, les gammes Raspberry Pi Pico et Arduino Nano proposent une sélection de cartes spéciales avec connectivité sans fil pour les applications IoT. Certaines cartes IoT populaires de la série Nano incluent le Arduino Nano 33 IdO et le Connexion Arduino Nano RP2040 (qui utilise le même SoC que le Raspberry Pi Pico).
Dans le cas des cartes Raspberry Pi Pico IoT, vous avez l'option du Pico W et du Pico WH. Les deux ont une connectivité Wi-Fi et Bluetooth, mais le Pico WH est livré avec des en-têtes de broches déjà attachés, vous n'avez donc pas besoin de les souder sur la carte.
Canaux de communication
Le Raspberry Pi Pico et l'Arduino Nano offrent tous deux plusieurs canaux de communication pour s'interfacer avec d'autres appareils. Le Raspberry Pi Pico possède 2 UART (Universal Asynchronous Receiver/Transmitter), deux I2C (Inter-Integrated Circuit) et deux interfaces SPI (Serial Peripheral Interface), qui offrent des options de communication avec d'autres dispositifs.
Si vous ne savez pas encore de quoi il s'agit, consultez comment fonctionnent les communications série UART, SPI et I2C, et pourquoi nous les utilisons encore.
Le modèle Arduino Nano standard n'a qu'un seul canal de communication: UART, I2C et SPI. Cependant, à moins qu'il ne s'agisse d'un grand projet, vous n'aurez pas besoin de tous les canaux de communication disponibles sur le Pi Pico simultanément, probablement même pas du tout lorsque vous utilisez sa capacité PIO (voir ci-dessous). Et le fait d'avoir plus d'interfaces ne signifie pas non plus que c'est automatiquement mieux, car nous savons que d'autres facteurs jouent également un rôle.
Puissance de calcul
Les puces de microcontrôleur utilisées dans les cartes Raspberry Pi Pico et Arduino Nano ont leurs propres forces et faiblesses. Et c'est là que vous devrez faire le compromis ultime.
CPU
Dans la plupart des projets Arduino, le processeur est susceptible de passer 99,9 % de son temps à dormir. Cela laisse entendre que la vitesse du processeur n'est pas aussi importante que vous l'imaginez, sauf pour des scénarios spéciaux comme le traitement des données en temps réel. La puce RP2040 utilisée dans le Raspberry Pi Pico est un processeur double cœur 32 bits qui offre un traitement plus élevé puissance et performances par rapport à la puce ATmega328P utilisée dans le modèle de base Arduino Nano, qui est un 8 bits processeur.
La puce RP2040 est également dotée d'une fonctionnalité unique: les machines d'état PIO (entrée/sortie programmables), qui permettent des transferts de données parallèles à grande vitesse et des interfaces périphériques personnalisées. Cela le rend adapté aux applications nécessitant un traitement de données en temps réel, telles que la robotique et l'automatisation.
RAM
Comme pour le CPU, la plupart des applications de microcontrôleur n'utilisent qu'une petite quantité de RAM. Cependant, si vous effectuez des tâches qui nécessitent plus de RAM, comme des projets IoT, vous devriez opter pour la carte avec plus de RAM intégrée, le Raspberry Pi Pico.
Écosystèmes de programmation
Les écosystèmes de programmation du Raspberry Pi Pico et de l'Arduino sont également des facteurs importants à prendre en compte lors du choix entre les deux cartes. Le Raspberry Pi Pico utilise MicroPython et C/C++ comme langages de programmation principaux.
Arduino utilise l'IDE Arduino comme environnement de programmation principal, basé sur C/C++. L'IDE Arduino est connu pour sa simplicité et sa facilité d'utilisation, avec une interface conviviale et une grande collection de bibliothèques et d'exemples. Il dispose également d'une communauté d'utilisateurs importante et active, offrant une assistance et des ressources suffisantes pour les développeurs débutants et expérimentés.
C/C++ est un langage puissant et polyvalent qui fournit un accès de bas niveau au matériel, permettant des applications plus complexes et critiques en termes de performances.
MicroPython est un langage de programmation basé sur Python qui offre un moyen simple et intuitif de programmer le tableau, ce qui le rend idéal si vous êtes déjà familiarisé avec Python ou si vous préférez un langage de niveau supérieur. Si vous préférez toujours l'environnement Arduino mais que vous souhaitez travailler avec MicroPython, nous avons couvert qu'est-ce que l'IDE Arduino MicroPython en détail.
Coût
Ignorant toutes les cartes clones de fabricants tiers, le Raspberry Pi Pico est bien moins cher que tous les modèles Arduino Nano authentiques, y compris celui exécutant le même processeur RP2040 de Raspberry Pi. Par exemple, le Pico standard ne coûte que 4 $, contre 25 $ pour le modèle de base Arduino Nano.
Pour plus de fonctionnalités, vous devez être prêt à creuser plus profondément dans votre poche, quelle que soit la plate-forme pour laquelle vous optez.
Compatibilité avec d'autres matériels et bibliothèques existantes
Pico et Arduino ont tous deux une large gamme de modules matériels et de blindages compatibles qui peuvent s'étendre leurs fonctionnalités et permettent une intégration facile avec des capteurs, des actionneurs, des écrans et d'autres dispositifs.
Arduino existe depuis longtemps et possède une collection massive de boucliers largement utilisés et bien documentés. La communauté Arduino a développé d'innombrables bibliothèques de code pour différentes fonctionnalités, ce qui facilite la recherche de code pré-écrit pour un large éventail d'applications. De plus, même les cartes tierces sont compatibles avec Arduino, ce qui facilite la mise à l'échelle de votre projet.
Le Raspberry Pi Pico est-il meilleur?
Le concept d'un "meilleur" conseil est subjectif et dépend des exigences et des compromis du projet individuel. Alors que le Raspberry Pi Pico excelle dans la puissance de traitement et les fonctionnalités avancées telles que PIO, la plus grande communauté et la bibliothèque de logiciels d'Arduino en font un excellent choix pour de nombreux projets.