Les atouts de MicroPython

La question qui se pose lorsque l'on évoque la possibilité d'utiliser une solution microcontrôleur plutôt qu'une autre (à modalités de mise en oeuvre équivalente et du même ordre de prix ) est de lister les avantages inconvénients.

Je me place ici dans le cas d'un comparatif avec Arduino (UNO, Mega) qui est la solution première dans ce cas de figure.

Cette page est complétée au fur et à mesure

Paramètre Arduino Micropython / Pyboard
Fréquence CPU 16Mhz / 8 bits 168 Mhz / 32 bits
RAM (mémoire programme) 4 à 8 Ko (limitant +++) 190 Ko !
FLASH (programme) 32 à 256Ko 1Mo = 1000 Ko

Note : Pour les codes micropython : restent 100 Ko disponibles en FLASH + SD possible au besoin. Les codes micropython sont légers, l'essentiel du code actif étant assuré par le "moteur" micropython en FLASH.

Paramètre Arduino Micropython / Pyboard
Valeur max entière ~ +/- 2 Milliards Pas de limite

Paramètre Arduino Micropython / Pyboard
GPIO 18 + 2(Rx/Tx USB) @ 5V 30 @ 3.3V
Mesure analogique 6 voies - 10 bits (1023) en 5V 12+4 voies - 12 bits (4095) en 3.3V
Sortie analogiques "vraies" NON 2 voies DAC - jusqu'à 100 000 hz, résolution 12 bits - 3.3V
PWM 6 voies PWM 18 voies PWM
Encodeurs NON Oui sur canal 1 de n'importe lequel des 13 timers ! Mode A, B ou AB dispos
SD NON - shield optionnel Oui
RTC NON - shield optionnel Oui (pas de batterie - reste à l'heure entre 2 mises hors tension)

Paramètre Arduino Micropython / Pyboard Note
ON/OFF non stop sur GPIO ~111000 Hz 178 000Hz Test réalisé avec instructions natives. Assembleur inline dispo avec µpython au besoin

En clair : avec une carte à micropython, on a le même niveau de vitesse en exécution qu'avec Arduino... le langage Python en bonus.