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. L’Arduino Nano et le Raspberry Pi Pico sont deux choix populaires qui viennent souvent à l’esprit.


Malheureusement, les besoins spécifiques de votre projet peuvent ne pas vous apparaître avant que vous ne soyez plongé dans le processus de mise en œuvre. Passons en revue quelques-unes des principales différences et caractéristiques à rechercher entre ces deux cartes rivales pour vous aider à choisir le bon microcontrôleur pour votre projet.

Comparaison matérielle

Tout d’abord, il convient de noter qu’il existe différentes options dans les gammes Arduino Nano et Pico, et pas seulement dans les modèles de base. Certaines sont des améliorations du modèle de base, tandis que d’autres ont des caractéristiques spécifiques pour certaines applications. Mais il faut bien comprendre qu’il n’y a pas de « meilleure » carte pour votre projet en soi, il n’y a que des compromis à faire.

Arduino Nano

Carte Arduino Nano
Crédit photo : Arduino Store

L’Arduino Nano, alimenté par l’ATmega328, est une carte compacte et facile à monter sur une planche à pain qui offre des fonctionnalités similaires à celles de l’Arduino Duemilanove, mais dans un format différent. Il n’a pas de prise d’alimentation en courant continu et utilise un câble USB Mini-B au lieu d’un câble standard.

Caractéristiques

Spécifications

Microcontrôleur

ATmega328

Vitesse d’horloge

16MHz

SRAM

2kB

Mémoire flash

32kB

EEPROM

1kB

Broches GPIO

22

Analogique en broches

8

Broches PWM

6

Tension des broches E/S

5V

Courant des broches E/S

40mA

Courant de la broche 3,3V

50mA

Tension d’alimentation

7-12V

Dimensions

18 x 45mm

Raspberry Pi Pico

Quatre cartes Raspberry Pi Pico
Crédit image : Raspberry Pi/GitHub

Bien que le Raspberry Pi Pico n’ait été lancé qu’en 2021, il est déjà un choix populaire dans le monde des MCU. Au cœur du Pico se trouve une puce de microcontrôleur RP2040 basée sur un processeur Arm Cortex-M0+ à double cœur.

Fonctionnalité

Spécification

Microcontrôleur

RP2040 SoC avec Arm Cortex-M0+ dual-core

Vitesse d’horloge

133MHz

RAM sur puce

264kB

Mémoire flash sur puce

2MB

Mémoire flash hors puce

Jusqu’à 16 Mo via un bus QSPI dédié

Broches GPIO

26

Analogique dans les canaux

3

Canaux PWM

16

Tension des broches E/S

3.3V

Capteur de température

Inclus

Tension d’alimentation

5V

Dimensions

51.3 x 21mm

En termes de capacités matérielles, le Raspberry Pi Pico a clairement un avantage sur l’Arduino Nano standard, avec un processeur plus rapide, plus de mémoire flash, plus de broches GPIO et un contrôle étendu des signaux PWM. De plus, le processeur double cœur présent sur le Pico est idéal pour les programmes multithreads.

Cependant, le Raspberry Pi Pico ne dispose pas d’EEPROM, souvent essentielle pour les projets basés sur des microcontrôleurs. De plus, vous ne pourrez pas faire fonctionner votre projet avec une batterie de 9V sans régulateur de tension.

Applications IoT

Image représentant un réseau IoT

Alors que les modèles de base sont dépourvus de connectivité sans fil, les gammes Raspberry Pi Pico et Arduino Nano proposent une sélection de cartes spéciales dotées d’une connectivité sans fil pour les applications IoT. Parmi les cartes IoT les plus populaires de la série Nano figurent l’Arduino Nano 33 IoT et l’Arduino Nano RP2040 Connect (qui utilise le même SoC que le Raspberry Pi Pico).

Dans le cas des cartes Raspberry Pi Pico IoT, vous avez le choix entre le Pico W et le Pico WH. Toutes deux sont dotées d’une connectivité Wi-Fi et Bluetooth, mais la Pico WH est livrée avec des connecteurs déjà fixés, ce qui vous évite de les souder sur la carte.

Canaux de communication

Résistances sur planche à pain

Le Raspberry Pi Pico et l’Arduino Nano offrent tous deux plusieurs canaux de communication pour l’interfaçage avec d’autres appareils. Le Raspberry Pi Pico dispose de deux interfaces UART (Universal Asynchronous Receiver/Transmitter), de deux interfaces I2C (Inter-Integrated Circuit) et de deux interfaces SPI (Serial Peripheral Interface), qui offrent des options de communication avec d’autres appareils.

Si vous ne savez pas encore de quoi il s’agit, découvrez comment fonctionnent les communications série UART, SPI et I2C, et pourquoi nous les utilisons encore.

Le modèle standard de l’Arduino Nano ne possède qu’un seul canal de communication pour chacun d’entre eux : UART, I2C et SPI. Cependant, à moins qu’il ne s’agisse d’un projet de grande envergure, 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 qu’il est automatiquement meilleur, car nous savons que d’autres facteurs jouent également un rôle.

Puissance de traitement

puce rp2040
Crédit image : Raspberry Pi

Les microcontrôleurs utilisés dans les cartes Raspberry Pi Pico et Arduino Nano ont leurs propres forces et faiblesses. C’est ici que vous devrez faire le choix le plus judicieux.

CPU

Dans la plupart des projets Arduino, le CPU est susceptible de passer 99,9% de son temps en sommeil. Cela signifie que la vitesse du processeur n’est pas aussi importante qu’on pourrait l’imaginer, sauf pour des scénarios particuliers comme le traitement de données en temps réel. La puce RP2040 utilisée dans le Raspberry Pi Pico est un processeur 32 bits à double cœur qui offre une puissance de traitement et des performances supérieures à celles de la puce ATmega328P utilisée dans le modèle de base Arduino Nano, qui est un processeur 8 bits.

La puce RP2040 est également dotée d’une caractéristique unique : Les machines d’état PIO (Programmable Input/Output), qui permettent des transferts de données parallèles à grande vitesse et des interfaces périphériques personnalisées. Elle convient donc aux applications qui nécessitent un traitement des données en temps réel, telles que la robotique et l’automatisation.

RAM

Comme pour le processeur, la plupart des applications à 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 embarquée, le Raspberry Pi Pico.

Écosystèmes de programmation

Opérateurs de comparaison et logique booléenne avec cpp

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 principaux langages de programmation.

Arduino utilise l’Arduino IDE comme environnement de programmation principal, qui est basé sur C/C++. L’IDE Arduino est connu pour sa simplicité et sa facilité d’utilisation, avec une interface conviviale et une large collection de bibliothèques et d’exemples. Il dispose également d’une communauté d’utilisateurs importante et active, qui fournit une assistance et des ressources aux débutants et aux développeurs expérimentés.

C/C++ est un langage puissant et polyvalent qui offre un accès de bas niveau au matériel, ce qui permet de réaliser des applications plus complexes et plus exigeantes en termes de performances.

MicroPython est un langage de programmation basé sur Python qui offre un moyen simple et intuitif de programmer la carte, ce qui le rend idéal si vous êtes déjà familier avec Python ou si vous préférez un langage de plus haut niveau. Si vous préférez toujours l’environnement Arduino mais que vous souhaitez travailler avec MicroPython, nous avons expliqué en détail ce qu’est l’IDE Arduino MicroPython.

Coût

Sans tenir compte des cartes clonées par des fabricants tiers, le Raspberry Pi Pico est bien moins cher que tous les modèles Arduino Nano authentiques, y compris celui qui utilise le même processeur RP2040 que le Raspberry Pi. Par exemple, le Pico standard ne coûte que 4 $, contre 25 $ pour le modèle de base Arduino Nano.

Pour bénéficier de fonctionnalités supplémentaires, vous devez être prêt à mettre la main à la poche, quelle que soit la plateforme choisie.

Compatibilité avec d’autres matériels et bibliothèques existants

relais de lampe et arduino sur un bureau

Pico et Arduino disposent tous deux d’une large gamme de modules matériels compatibles et de boucliers qui peuvent étendre leurs fonctionnalités et permettre une intégration facile avec des capteurs, des actionneurs, des écrans et d’autres dispositifs.

Arduino existe depuis longtemps et dispose d’une collection massive de modules 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 permet de trouver facilement du code pré-écrit pour un large éventail d’applications. De plus, même les cartes tierces sont compatibles avec Arduino, ce qui facilite l’extension de votre projet.

Le Raspberry Pi Pico est-il meilleur ?

Le concept de « meilleure » carte est subjectif et dépend des exigences et des compromis de chaque projet. Bien que le Raspberry Pi Pico excelle en termes de puissance de traitement et de fonctionnalités avancées telles que PIO, la communauté plus large et la bibliothèque logicielle d’Arduino en font un excellent choix pour de nombreux projets.