Quel joli petit lot ! Ou est-ce... un QT Py ? Cette petite carte de développement est équipée de l'une de nos nouvelles puces préférées, la RP2040. Il a été rendu célèbre par les nouveaux Raspberry Pi Pico et Adafruits Feather RP2040 et ItsyBitsy RP2040, mais que faire si nous voulions quelque chose de vraiment petit ?
Une nouvelle puce signifie un nouveau QT Py, et le RP2040 de Raspberry Pi ne fait pas exception. Quand Adafruit a vu cette puce, ils ont pensé "cette puce va être géniale quand nous lui donnerons le cuuutie QT Py Treatment", et c'est ce qu'ils ont fait ! Ce QT Py est équipé du RP2040, et de toutes les fonctionnalités que vous connaissez et aimez du QT Py original
PLUG-AND-PLAY STEMMA QT
La star du QT Py est le connecteur préféré d'Adafruits - le STEMMA QT, un port I2C chaînable qui peut être utilisé avec tous nos capteurs et accessoires STEMMA QT.
Grâce à ce connecteur, vous n'avez pas besoin de faire de soudure pour commencer.
Que pouvez-vous mettre dans le port QT ? Et pourquoi pas des OLEDs ! Unités de mesure inertielles ! Des capteurs à profusion. Tout est prêt à l'emploi grâce à la conception innovante du chaînage : SparkFun connecteurs STEMMA QT compatibles Qwiic pour le bus I2C, vous n'avez même pas besoin de souder. Il suffit de brancher un câble compatible et de le relier à l'unité centrale de votre choix, et vous êtes prêt à charger un logiciel et à mesurer la lumière.
SUPPORT LOGICIEL
Au moment du lancement, il n'y a pas de support du noyau Arduino pour la puce de cette carte. Il existe un excellent support C/C++, un portage officiel MicroPython et un portage CircuitPython ! Adafruit recommande bien sûr CircuitPython parce que nous pensons que c'est le moyen le plus facile de commencer et qu'il supporte la plupart de leurs pilotes, écrans, capteurs et autres, supportés d'emblée pour que vous puissiez suivre leur projects et leurs tutoriels CircuitPython.
QT PY RP2040 SPÉCIFICATIONS
Le brochage et la forme sont compatibles avec Seeed Xiao, avec des pastilles crénelées pour que vous puissiez le souder sur un PCB avec une découpe pour permettre aux composants inférieurs de respirer.
En plus du connecteur QT, Adafruit a également ajouté un NeoPixel RVB (avec une broche d'alimentation contrôlable pour permettre une utilisation à très faible consommation), ainsi que des boutons de mode de démarrage et de réinitialisation (parfaits pour redémarrer votre programme ou entrer dans le bootloader). Ce QT Py est livré avec des connecteurs libres de 0,1" que vous pouvez souder pour l'utilisation de la planche à pain.
Bien que le RP2040 ait beaucoup de RAM embarquée (264KB), il n'a pas de mémoire FLASH intégrée.
Au lieu de cela, elle est fournie par la puce flash QSPI externe. Sur cette carte, il y a 8MB, qui sont partagés entre le programme qu'elle exécute et tout stockage de fichiers utilisé par MicroPython ou CircuitPython. Si vous utilisez C/C++, vous disposez de toute la mémoire flash, si vous utilisez Python, il vous restera environ 7 Mo pour le code, les fichiers, les images, les polices, etc.
Même taille, même format et même brochage que le QT Py basé sur SAMD
Connecteur USB Type C
RP2040 Cortex M0+ 32 bits à double cœur fonctionnant à ~125 MHz @ 3.3V logique et puissance
264 KB RAM
8 MB SPI FLASH chip pour le stockage des fichiers et du code CircuitPython/MicroPython.
Pas d'EEPROM
USB natif pris en charge par tous les systèmes d'exploitation - peut être utilisé comme console série USB, MIDI, clavier/souris HID, et même comme petit lecteur de disque pour stocker des scripts Python.
Peut être utilisé avec MicroPython ou CircuitPython
LED NeoPixel RVB intégrée
13 broches GPIO (11 pastilles de découplage et deux pastilles QT) :
Quatre ADC 12 bits (un de plus que le Pico)
Deux ports I2C (un sur le connecteur QT, un sur les pastilles de découplage)
Périphériques SPI et UART, dans les emplacements standard QT Py,
sorties PWM sur chaque broche IO - pour les servos, les LED, etc
Il y a 6 GPIO dans l'ordre consécutif pour la compatibilité PIO
3
.Régulateur 3V avec sortie de pointe de 600mA
Cristal de 12 MHz
Bouton de réinitialisation et boutons de sélection du chargeur de démarrage pour des redémarrages rapides (pas de débranchement-rebranchement pour relancer le code)
Vraiment très petit
A PROPOS DU
RP2040 Le RP2040 contient un chargeur de démarrage USB UF2 à ROM permanente.
Cela signifie que lorsque vous voulez programmer un nouveau firmware, vous pouvez maintenir le bouton BOOT enfoncé tout en le branchant sur le port USB (ou en mettant la broche RUN/Reset à la masse) et il apparaîtra comme un disque USB sur lequel vous pourrez glisser le firmware. Les personnes qui ont utilisé les produits Adafruit trouveront cette technique très familière - ils l'utilisent sur toutes leurs cartes natives USB. Notez que vous ne devez pas double-cliquer sur reset, mais maintenir BOOTSEL enfoncé pendant le démarrage pour entrer dans le bootloader !
Le RP2040 est une puce puissante, qui a la vitesse d'horloge du M4 (SAMD51), et deux cœurs qui sont équivalents au M0 (SAMD21). Comme il s'agit d'une puce M0, elle ne dispose pas d'une unité à virgule flottante ou d'un support matériel DSP - donc si vous faites quelque chose avec des calculs lourds à virgule flottante, ce sera fait en logiciel et donc pas aussi rapide qu'une M4. Pour de nombreuses autres tâches de calcul, vous obtiendrez des vitesses proches de M4 !
Pour les périphériques, il y a deux contrôleurs I2C, deux contrôleurs SPI, et deux UART qui sont multiplexés à travers les GPIO - vérifiez le brochage pour savoir quelles broches peuvent être configurées à quoi. Il y a 16 canaux PWM, chaque pin a un canal sur lequel il peut être réglé (idem sur le pinout).
Vous remarquerez qu'il n'y a pas de périphérique I2S, ni de SDIO, ni de caméra, qu'est-ce que c'est que ça ? Eh bien, au lieu d'avoir un support matériel spécifique pour les périphériques de type données série comme ceux-ci, le RP2040 est livré avec le système de machine d'état PIO qui est un moyen unique et puissant de créer une logique matérielle personnalisée et des blocs de traitement de données qui fonctionnent seuls sans occuper un CPU. Par exemple, les NeoPixels - souvent Adafruit bitbang le protocole spécifique au timing pour ces LED. Pour le RP2040, ils utilisent plutôt un objet PIO qui lit dans le tampon de données et émet le bon flux binaire avec une précision parfaite. Il en va de même pour les entrées et sorties audio I2S, les écrans matriciels LED, les écrans TFT 8 bits ou SPI, et même les écrans VGA ! Dans MicroPython et CircuitPython, vous pouvez créer des commandes de contrôle PIO pour scripter le périphérique et le charger au moment de l'exécution. Il y a 2 périphériques PIO avec 4 machines d'état chacun.
CARACTÉRISTIQUES TECHNIQUES
RP2040 Caractéristiques de la puce
Double ARM Cortex-M0+ @ 133MHz
264kB SRAM sur puce en six banques indépendantes
Support jusqu'à 16MB de mémoire Flash hors puce via un bus QSPI dédié
Contrôleur DMA
Crossbar AHB entièrement connecté
Périphériques d'interpolation et diviseur d'entier
LDO programmable sur puce pour générer la tension du cœur
2 PLL sur puce pour générer les horloges USB et du cœur
30 broches GPIO,
4 d'entre elles peuvent être utilisées comme entrées analogiques (toutes les GPIO ne sont pas sorties sur cette carte)
Périphériques
2 UARTs
2 contrôleurs SPI
2 contrôleurs I2C
16 canaux PWM
USB 1.1 contrôleur et PHY, avec prise en charge de l'hôte et du dispositif
8 machines d'état PIO
Dimensions du produit : 21,8 mm x 17,8 mm x 5,8 mm / 0,9" x 0,7" x 0,2"
Poids du produit : 2,2 g / 0,1 oz