Insolite : un cœur ARM en coprocesseur d’un Arduino

Arduino

Un ARM 32 bits à 50 MHz en accélérateur d’un microcontrôleur RISC 8 bits à 16 MHz. Voilà ce que propose Hackaday avec un montage simple et original.

Les cartes Arduino sont très prisées des électroniciens et sources de nombreux projets liés à l’Internet des Objets. Elles souffrent toutefois d’une puissance de traitement limitée.

Des microcontrôleurs 8 bits RISC Atmel AVR sont ici utilisés, avec une fréquence en général fixée à 16 MHz (8 MHz pour certains modèles compacts). Ce sont ces machines qu’Al Williams propose de booster au travers d’une approche originale.

Il explique sur le site Hackaday comment connecter un microcontrôleur NXP LPC1114FN28 à un Arduino. Ce composant 28 broches au format DIP (et donc aisé à mettre en œuvre, car sans besoin de procéder à un montage en surface), propose un cœur ARM 32 bits Cortex-M0 à 50 MHz, assisté par 4 ko de SRAM et 32 ko de Flash. Une offre qui propose une puissance de 42 Mips et est accessible pour moins de 5 euros HT à l’unité.

Le retour du Tube des BBC Micro

Certes, l’ajout d’un processeur ARM secondaire à un Arduino est une solution moins économique que d’opter directement pour un Arduino Zero (ARM Cortex-M0+ à 48 MHz, 32 ko de RAM, 256 ko de Flash), voire un Arduino Due (ARM Cortex-M3 à 84 MHz, 96 ko de RAM, 512 ko de Flash). La facilité de mise en œuvre de cette solution devrait toutefois intéresser les bricoleurs curieux… ou ceux souhaitant piloter un microcontrôleur isolé de la carte principale.

Un parallèle très intéressant peut être fait avec l’histoire même des puces ARM. Rappelons en effet que le premier processeur ARM était proposé sous la forme d’une carte d’extension pour un ordinateur 8 bits, le BBC Micro d’Acorn.

À lire aussi, notre dossier programmation Raspberry Pi :
Raspberry Pi et développement : Apprendre à programmer (épisode 1)
Raspberry Pi et développement : Java SE, first class citizen (épisode 2)
Raspberry Pi et développement : C/C++ à toutes les sauces (épisode 3)
Raspberry Pi et développement : du calcul au Big Data (épisode 4)
Raspberry Pi et développement : .NET, avec ou sans Windows (épisode 5)
Raspberry Pi et développement : un RAD nommé Xojo (épisode 6)