Pour nos projets électroniques, nous avons souvent besoin de choisir entre l’Arduino, la Raspberry Pi, la BeagleBone, un microcontrôleur ou une autre plateforme. Nous nous demandons constamment si nous faisons le meilleur choix pour un projet donné et bien souvent, nos choix sont plutôt influencé par nos propres aptitudes pour une plateforme de développement que par les besoins réels. Une première comparaison des cartes les plus populaires pourrait faciliter le processus de décision.
Ci-dessous j’ai listé les principales plateformes de développement disponibles. Je ne peux pas détailler toutes les cartes du marché, mais beaucoup sont inspirées de celles listées ici.
Plateformes de développement | Description |
Arduino Uno |
Carte de développement électronique populaire focalisée sur la simplicité d’utilisation et de programmation.
L’Arduino est un bon exemple d’une bonne carte de développement pour les projets “maison” DIY destinés aux spécialistes, designers, débutants ou toute personne curieuse de bidouiller. L’USB est toujours présent dans le but de facilement et rapidement programmer et transférer des programmes ou pour communiquer par une liaison série virtuelle. Solution simple et économique de résoudre les problèmes pour les Hobbyists, professionnels, étudiants et différentes entreprises. |
Teensy |
Inspiré de l’Arduino et compatible avec l’IDE, la Teensy est une carte de développement en USB basée sur un microcontrôleur, avec une petite taille pour une meilleure intégration, pouvant convenir à de nombreux types de projets. La programmation se fait par le port USB.
La dernière Teensy V3.0 a un cœur à base de microcontrôleur ARM beaucoup plus puissant.. |
Raspberry Pi |
La Raspberry Pi est un micro-ordinateur de la taille d’une carte de crédit. Elle peut facilement être raccordée à un moniteur, un ordinateur ou la TV. De plus la RPi peut utiliser une souris et un clavier standard et faire tourner Linux comme un ordinateur normal. Avec sont faible coût et sa puissance, elle est parfaite pour les étudiants et les hobbyists qui veulent une grande puissance de calcul pour leurs projets. |
BeagleBone Black |
La BeagleBone présente de nouvelles caractéristiques intéressantes comme de pouvoir placer le système d’exploitation sur une mémoire flash intégrée plutôt que la carte SD pouvant servir à du stockage. La carte est vendue $45, légèrement plus que sa concurrente directe, la Raspberry Pi qui est vendue 35$ et qui est moins polyvalente pour des applications embarquées. En effet, le système sur une mémoire flash et un plus grand nombre d’entrée/sorties accessibles donne un avantage à la BeagleBone. Aujourd’hui, la BeagleBone Black est probablement la meilleure carte de développement pour les projets exigeants en raison de ses performances et de sa connectivité. |
Intel Galileo |
La carte Intel Galileo est basée sur un processeur Quark spécialement destiné à des dispositifs électroniques compactes et consommant peu d’énergie. Cette carte a été conçu pour être simple d’utilisation dans des projets pouvant être très complexes comme en robotique. Des exemples ici.
Un des principaux mérite d’utiliser le processeur Quark est sa très faible consommation et un prix très abordable pour un processeur puissant en technologie X86. De plus, la carte est prévu pour être compatible avec les shields Arduino et utiliser le même environnement de programmation. |
pcDuino |
La pcDuino combine pas mal d’avantages des différentes cartes. Elle est un véritable mini-ordinateur comme Raspberry Pi ou BeagleBone, mais avec mémoire Flash pour le système est plusieurs interfaces intéressantes. De plus, elle a des connecteurs compatibles avec les shields Arduino. La pcDuino peut faire tourner différents OS comme Ubuntu et Android ICS.
Vous pouvez développer du code Arduino sur la carte comme si c’était une carte Arduino et l’exécuter localement. Pour $60 c’est un bon choix qui est suffisamment simple à mettre en œuvre. |
Photon |
La carte de développement Photon est une petite carte similaire à l’Arduino, mais équipée du Wifi et contenant un programme pour fonctionner sur le Cloud.
Elle peut être programmer par le Wifi comme l’Arduino-YUN, mais en même temps elle peut être gérée par le Cloud, permettant des mises à jour du code depuis n’importe où, pas simplement du voisinage du dispositif. C’est une plateforme intéressante et originale avec une suite de développement online évoluée pour seulement $19. |
DigiSpark |
Une petite carte alternative compatible Arduino basée sur l’ATTiny85 bien qu’elle ne dispose que de 6 E/S. Mais elle coûte seulement $12. De plus il existe une gamme de cartes-filles additionnelles pour facilement ajouter d’autres capacités. |
Il est également possible de développer sa propre carte à base de microcontrôleur pour un projet en particulier. Mais bien souvent, il est plus important de pouvoir rendre le projet fonctionnel ou d’en faire une preuve de concept en se concentrant sur l’objectif final plutôt que de vouloir ré-inventer la roue.
Comparaison des caractéristiques principales
Ci-dessous j’ai listé les principales caractéristiques pour une rapide comparaison des carte de développement que j’ai évoqué.
Cartes de développement | Processeur | Connectivité | Périphériques | Environnement de développement |
$22 |
ATMega 328 @ 16MHz
2KB RAM 32KB Flash |
USB, serial, SPI, I²C | 5V, 14 GPIOs, 6 10-bit Analog, 6 PWMs | Arduino IDE |
$20 |
32-bit ARM Cortex-M4 @ 72MHz
64KB RAM 256KB Flash
|
USB, 3 x serial, SPI, 2 x I²C, CAN, I²S | 3.3V, 34 GPIOs 5V tolerant, 21 16-bit Analog, 1 12-bit Analog-Out, 12 PWMs | Arduino IDE with add-on |
$40 |
64-bit quad-core ARMv8 BCM2837 @ 1,2GHz
1GB RAM μSD memory |
4 x USB, Ethernet 10/100, Wifi 802.11n, Bluetooth 4.1, Serial, I²C, SPI, I²S | 5V & 3.3V, 17 GPIOs, HDMI, Composite, Stereo Jack 3.5mm, | Linux |
$55 |
ARM Cortex-A8 AM335x @ 1GHz
512MB RAM 4GB eMMC + μSD card |
USB, Ethernet 10/100, 4 x Serial, 2 x CAN, 2 x SPI, 2 x I²C | 5V & 3.3V, 69 GPIOs, 8 PWMs, LCD, 2 x MMC, A/D converter | Linux |
$80 |
32-bit Intel Quark X 1000 @ 400MHz
256MB RAM 8MB Flash + 8KB EEPROM + μSD card |
USB, Ethernet 10/100 with PoE, mini-card PCIe 2.0, Serial | 3.3V or 5V Arduino-Compatible GPIOs | Arduino IDE |
$45 |
ARM Cortex-A7 dual core @ 1GHz
1GB RAM 4GB NAND, μSD card |
USB, micro-USB OTG, Ethernet 10/100, SATA, IR, Serial, I²C, SPI | 3.3V ARDUINO-compatible GPIOs, 2 x 6-bit Analog, 4 x 12-bit Analog, 2 x PWM, HDMI, jack 3.5 | Linux, Python |
$19 |
ARM Cortex-M2 STM32F205 @ 120MHz
128KB RAM 1MB Flash |
Wifi, USB, Serial, 2 x SPI, I²C, I²S, CAN | 18 GPIO, 8 x ADC, 2 x DAC, 9 x PWM | Local IDE or Web IDE + Cloud platform |
$8 |
ATTiny85
512B RAM 8KB Flash |
USB, Serial, I²C, SPI | 6 GPIO, 4 x ADC, 3 x PWM | Arduino IDE |
Toutes ces cartes électroniques ont leurs avantages et inconvénients. Mais avant tout, ça dépends des besoins de votre projet et de quels paramètres doivent être optimisés : coût, taille, consommation, puissance de calcul, connectivité. Et même si vous vous dites qui peut le plus , peut le moins, surdimensionner se fera au détriment d’au moins un des paramètres cités.
D’autres paramètres psychologiques important sont votre aisance, votre connaissance ou votre affinité pour une plateforme en particulier. C’est également important car ça peut constituer le coup de pouce de motivation nécessaire.
Finalement, j’espère que cette modeste comparaison de quelques-unes des principales cartes du commerce pourra vous aider et vous guider dans votre décision ou au -moins vous inciter à aller approfondir une de ces cartes de développement.