uPesy RP2040 DevKit
(Mis à jour le 24/07/2023)
Voir aussi
Si vous venez de recevoir une carte uPesy RP2040 DevKit, je vous conseille d’abord de regarder le guide de prise en main rapide , si ce n’est pas déjà fait.
La carte uPesy RP2040 DevKit est basée sur la même puce RP2040 que la Raspberry Pi Pico. Pour l’histoire, la fondation Raspberry Pi s’est lancée depuis début 2021 dans le monde des microcontrôleurs avec sa carte Raspberry Pi PICO. Cette nouvelle a encore une fois surpris tout le monde, d’autant plus qu’elle repose sur le microcontrôleur RP2040 développé par la fondation Raspberry Pi elle-même.
Pinout:
Version simplifiée
Cette version, adaptée aux débutants, présente les fonctionnalités principales des broches.
Note
Vous pouvez mettre l’ESP32 sur la feuille en papier pour mieux repérer les broches 😉
Version complète
Note
La carte uPesy RP2040 DevKit n’est pas compatible broche à broche avec la Raspberry Pi Pico.
Caractéristiques
Voici les caractéristiques techniques de la carte uPesy RP2040 Devkit : elles viennent pour la plupart de la puce RP2040 conçue par Raspberry Pi au Royaume-Uni.
Pour leur premier microcontrôleur, les performances sont impressionnantes :
Microprocesseur ARM Cortex M0+ 32-bit à double cœur cadencé jusqu’à 133 MHz : Grâce aux 2 cœurs, on peut réellement exécuter 2 programmes en parallèle. Avec en plus une horloge CPU pouvant aller jusqu’à 133 MHz, la carte uPesy RP2040 peut exécuter jusqu’à 16x plus d’instructions qu’une Arduino Uno dans le même laps de temps.
264 Ko de mémoire SRAM et 2 Mo de mémoire Flash embarquée soit 132x plus de RAM et 64x plus de mémoire Flash que sur l’Arduino Uno.
Prise en charge native de l’USB 1.1 : Il n’y a plus de puce intermédiaire pour dialoguer entre l’ordinateur et le microcontrôleur contrairement aux Arduino et ESP32. Il est donc très facile de mettre un programme compilé sur la carte uPesy RP2040 puisqu’elle est détectée comme une simple clé USB.
La carte uPesy RP2040 expose 30 broches GPIO multifonctions , soit 4 broches de plus que sur la Pi Pico d’origine. En effet, sur la Pi Pico certaines broches sont utilisées en interne sur la carte : pour mesurer certaines tensions et gérer l’alimentation par exemple. Ici, le choix a été d’exposer le plus de pins GPIO possibles.
Différents périphériques : 2xUART, 2xSPI, 2xI2C, 16 canaux PWM indépendants, 4x16-bit ADC (uniquement 3 entrées analogiques sur la Pi Pico).
8 machines à état sur des entrées/sorties programmables (PIO) pour créer des périphériques personnalisés. On peut configurer des blocs logiques matériels pour avoir des périphériques en plus : UART, SPI, I2S, voire un driver VGA rudimentaire. Ces fonctionnalités sont destinées aux plus avancés.
Différents modes de fonctionnement pour limiter la consommation d’énergie.
Note
Processeur VS microcontrôleur
Les cartes Raspberry Pi classiques (RPI 3B+, RPI 4, RPI Zero) sont des cartes à base de processeurs : ce sont des nano-ordinateurs qui ont besoin d’un système d’exploitation (Linux ou Windows) pour fonctionner. On peut les utiliser comme un ordinateur classique et disposer en plus de broches GPIO pour interagir avec des circuits électroniques externes.
Un microcontrôleur est constitué d’un microprocesseur et d’une multitude de périphériques : mémoire RAM, broches Entrée/Sortie, bus UART, SPI, I2C… La carte uPesy RP2040 DevKit est basée comme l’Arduino ou l’ESP32 sur un microcontrôleur . Elle a beaucoup moins de puissance de calcul mais elle est plus fiable et plus facile à utiliser pour interagir avec les broches GPIO (Entrée/Sortie) et pour faire de la programmation bas niveau. Il n’y a pas d’OS dessus.
Recommandations d’usage
Tolérance en tension des pins
Le RP2040 est un microcontrôleur qui fonctionne en 3.3V. Les niveaux logiques sont donc de 0 et 3.3V et non pas de 0 et 5V. La tension maximale en sortie des pins GPIO est donc de 3.3V et la tension maximale en entrée est aussi de 3.3V.
La tension mesurée par le convertisseur analogique numérique ne doit pas non plus excéder 3.3V (et bien sûr ne doit pas être négative non plus).
Note
La plupart des modules et des capteurs peuvent fonctionner avec des niveaux logiques de 3.3V mais si ce n’est pas le cas, des levels shifters (ou éventuellement des ponts diviseurs de tension) seront nécessaires pour passer d’une tension de 3.3V à 5V et vice versa.
Avertissement
Puisque le RP2040 n’a pas été prévu pour recevoir du 5V sur ses pins GPIO, ils peuvent être endommagés s’ils sont exposés trop longtemps à cette tension. Dans la pratique, une courte exposition à une tension de 5V sur ses broches ne lui sera pas fatale mais le sera peut-être sur le très long terme. Prudence donc.
Alimentation de la carte uPesy RP2040
Il y a plusieurs moyens pour alimenter la carte uPesy RP2040 DevKit :
-
Le plus simple est via le connecteur USB en 5V, en connectant la carte à un ordinateur ou à une batterie externe (powerbank). On peut ensuite utiliser le pin 5V et 3.3V pour alimenter un montage électronique.
Note
Pensez bien à prendre un câble USB qui transmet les données pour pouvoir communiquer avec l’ordinateur.
On peut aussi alimenter la carte directement, en imposant une tension d’environ 5V sur le pin \(V_{IN}\) par une alimentation externe et en reliant la masse de l’alimentation au pin GND. La tension d’entrée sur la broche \(V_{IN}\) doit être comprise entre 3.4V et 6.5V pour éviter de détruire le régulateur 3.3V de la carte.
Ressources mises à disposition
Modèle 3D (au format
.wrl
) : https://github.com/uPesy/kicad_lib_upesy/raw/master/assets/step_model/upesy_rp2040_devkit.wrlPlan avec les dimensions : https://github.com/uPesy/kicad_lib_upesy/raw/master/assets/drawing/upesy_rp2040_devkit_dimension.pdf
Librairie Fritzing : https://github.com/uPesy/fritzing_lib_upesy/raw/master/devkit_boards/uPesy RP240 DevKit v1.fzpz
Librairie KiCad : https://github.com/uPesy/kicad_lib_upesy