Si vous vous êtes déjà intéressé au monde des systèmes embarqués ou de l'électronique DIY, vous avez probablement entendu parler du RP2040. Mais qu'est-ce qui distingue exactement cette minuscule puce de Raspberry Pi parmi la multitude de microcontrôleurs disponibles ? Lancé en 2021 comme le cerveau derrière l'emblématique Raspberry Pi Pico, le RP2040 est discrètement devenu l'un des favoris des amateurs, des enseignants et même des ingénieurs professionnels. Dans cet article, nous allons explorer les raisons pour lesquelles cette merveille à double cœur redéfinit ce qu'un microcontrôleur économique peut accomplir, et comment vous pouvez commencer à l'utiliser dès aujourd'hui.
Qu'est-ce que le RP2040 ?
Le RP2040 est un microcontrôleur (MCU) lancé par la Fondation Raspberry Pi. Il sert de composant central pour le Raspberry Pi Pico et d'autres cartes de développement. Il est actuellement vendu à 10 dollars sur le site officiel.

Spécifications RP2040
- Double cœur Arm Cortex-M0+ fonctionnant à 133 MHz
- 264 Ko de mémoire SRAM intégrée et 2 Mo de mémoire flash intégrée
- Prise en charge d'une mémoire flash hors puce pouvant atteindre 16 Mo via un bus QSPI dédié
- Équipée d'un contrôleur DMA
- Dispose de 30 broches GPIO, dont 4 peuvent être utilisées comme entrées analogiques
- Dispose de 2 contrôleurs UART, 2 contrôleurs SPI et 2 contrôleurs I2C
- Offre 16 canaux PWM
- Prend en charge les hôtes et périphériques USB 1.1
- Intègre 8 machines à états programmables I/O (PIO) Raspberry Pi pour la prise en charge de périphériques personnalisés
- Prend en charge le mode de démarrage de stockage de masse USB compatible UF2 pour la programmation par glisser-déposer

Explication de la dénomination RP2040
Le nom RP2040 reflète ses principales caractéristiques techniques :
- RP : signifie Raspberry Pi, le développeur.
- 2 : indique les processeurs double cœur Arm Cortex – M0+.
- 0 : représente le type de cœur (M0+ dans ce cas).
- 4 : calculé comme suit
floor(log2(SRAM/16k)), où 264 Ko de SRAM → ~4. - 0 : Dérivé de
floor(log2(non - volatile/16k)), avec 2 Mo de mémoire flash → ~7, mais simplifié à 0 dans la nomenclature.

RP2040 Brochage
Il convient de noter que son sous-système d'entrée/sortie programmable (PIO) dispose de deux machines à états. Cela permet de créer des protocoles de communication personnalisés, tels que le contrôle facile des bandes LED WS2812 ou la création d'une interface VGA personnalisée, réduisant ainsi la charge de travail du processeur.

Schéma fonctionnel RP2040
- 2 UART : communications série pour appareils/modules/ordinateurs.
- 2 SPI : transfert de données maître-esclave à haut débit (par exemple, cartes flash/SD).
- 2 I2C : bus multi-appareils pour capteurs/EEPROM via les lignes SDA/SCL.
- 16 PWM : contrôle de la vitesse du moteur/de la luminosité des LED via la modulation du cycle de service.

Assistance au développement pour RP2040
Carte de développement officielle - Raspberry Pi Pico
Le Raspberry Pi Pico sert de carte de développement officielle pour le RP2040, et constitue un excellent point d'entrée pour les développeurs. Mesurant seulement 65 mm x 17 mm, cette carte compacte est incroyablement abordable, avec un prix de seulement 4 dollars, ce qui la rend accessible à un large éventail d'utilisateurs, des amateurs à petit budget aux étudiants qui explorent le monde des microcontrôleurs.

L'un des grands avantages du Raspberry Pi Pico est sa facilité d'utilisation. Il présente un format simple avec une rangée de broches GPIO de chaque côté, clairement étiquetées pour faciliter leur identification. Cette disposition facilite la connexion de composants externes tels que des capteurs, des actionneurs ou des écrans. Par exemple, connecter un capteur de température comme le DHT11 au Pico est aussi simple que de connecter la broche de données du capteur à l'une des broches GPIO du Pico, ainsi que les connexions d'alimentation et de masse.
Le Pico dispose également d'un connecteur USB intégré, qui sert à la fois à alimenter la carte et à la programmer. Lorsqu'il est connecté à un ordinateur, il apparaît comme un périphérique de stockage de masse, ce qui permet une programmation facile par « glisser-déposer ». Par exemple, si vous avez écrit un script MicroPython ou un binaire C/C++ compilé, il vous suffit de copier le fichier sur le lecteur virtuel du Pico pour qu'il commence à exécuter le programme.
Langages de programmation et frameworks
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.value(1)
time.sleep(1)
led.value(0)
time.sleep(1)
Outils et IDE
Thonny
VS Code
RP2040 contre RP2350 Puces
Les RP2040 et RP2350 sont des microcontrôleurs développés par Raspberry Pi. Le RP2040 était l'un des premiers modèles proposés, tandis que le RP2350 est un successeur plus avancé doté de fonctionnalités améliorées. Voici une comparaison entre les deux :

| Feature | RP2040 | RP2350 |
|---|---|---|
| Core Architecture | Dual Arm Cortex-M0+ | Dual Arm Cortex-M33 or Dual RISC-V Hazard3 |
| Clock Speed | 133MHz | 150MHz |
| On-chip SRAM | 264KB | 520KB |
| Security Features | Basic security features | Arm TrustZone, Signed Boot, SHA-256, TRNG, Fault Detectors |
| Peripheral Interfaces | 2×UART, 2×SPI, 2×I2C, ADC, PWM, USB 1.1 | Enhanced peripherals, additional PIO state machines, more GPIO pins, higher power efficiency |
| Packaging | Single 7×7mm QFN56 option | 7×7mm QFN60 (RP2350A) with 30 GPIOs or 10×10mm QFN80 (RP2350B) with 48 GPIOs; both with 2MB stacked QSPI flash (RP2354A and RP2354B) |
Conclusion
En conclusion, le RP2040 est un microcontrôleur remarquable qui a eu un impact significatif dans le monde des systèmes embarqués et du développement électronique. N'hésitez pas à partager vos opinions ou votre expérience !




