Arduino 101 : quel intérêt ?

Bonjour,
Arduino Uno et Arduino Mega sont indétrônable. La gamme à beau s'agrandir, seul les essentiels survivent vraiment à l'usure du temps.
Le seul qui a vraiment réussi à se faire une petit place est le DUE même s'il reste réservé à des utilisateurs plus aguerrit.

Du coup, je me suis demandé ce que pouvait bien apporter un Arduino 101 ? Dans quel cadre serait-il utile ?

C'est quoi un Arduino 101 ?
C'est un Arduino avec un Intel Curie comme processeur, une connectivité Bluetooth LE, un gyroscope et accéléromètre.
Le core fonctionne en 3.3 V et la carte serait tolérante 5V.

Derrière l'Intel Curie, nous avons 2 Cores 32 bits  cadencés à 32 Mhz avec 384 Kb de Flash et 80 Kb de SRAM.

Le tout au même form-factor qu'un Arduino Uno.

Est-ce pour autant intéressant?



Intel Curie = RTOS
Selon toute vraisemblance, cette carte fonctionne sous RTOS, un système Linux super compact utilisé, en autre, dans des routeurs.
Cela signifie que votre environnement Arduino utilise un SDK spécifique pour compiler un binaire déposé dans un "mailbox statique" (une technologie que l'on retrouve dans Zephyr, voir ce lien).
Il y a donc un sous système d'exploitation type Linux.
Offrir un système d'exploitation permet de faciliter le développement de plateforme communiquante puisque l'OS supporte les périphériques et différents protocoles.
Nous sommes ici dans une configuration très en vogue pour la réalisation d'objet connectés (approche également très apprécié par les pirates).


Quelles ressources reste t'il pour Arduino ?
Comme indiqué plus haut, Curie embare un système RTOS. Donc seule un partie de la RAM et le la Flash restent disponible pour nos croquis mais c'est déjà nettement plus confortable que sur un Arduino Uno

SRAM utilisée pour les variable
  • 80 Kb disponible sur Curie
  • 24 Kb restant disponible pour les sketch
A titre de comparaison un Uno dispose de 2Kb

Flash pour stocker vos sketchs/croquis
  • 384 Bk de Flash disponible sur Curie
  • 196 Kb restant Flash
Autres informations utiles:
La plateforme Arduino 101
  • 14 entrées sorties (dont 4 PWM)
  • 6 entrées analogies
  • 20mA par sortie
Outch ! la compatibilité des bibliothèques
Comme le processeur (microcontrôleur) est fondamentalement différent, seules les bibliothèques standard d'Arduino sont compatibles avec l'Arduino 101.

Une partie de vos senseurs et capteurs préférés ne fonctionneront pas sur Arduino 101 car leurs bibliothèques ont étés développées pour un Uno ou Mega (voir un DUE si vous avez de la chance).

Cela signifie qu'une partie des bibliothèques que vous utilisez doivent être redéveloppées/adaptées pour le Curie!

Quel intérêt pour Arduino 101 / Intel Curie ?
Pour quelques senseurs en plus et du Bluetooth LE, cette plateforme semble peu engageante pour utilisateur habituée à Arduino.

Pour comprendre l'intérêt d'Arduino 101, il faut partir des caractéristiques:
  • 32 Mhz : en fait une plateforme 2 fois plus rapide qu'un UNO => très pratique pour l'acquisition de donnée, échantillonnage rapide.
  • Bluetooth : connectivité avec les SmartPhone => idéal pour créer des projets contrôlables à distance
  • RTOS : un système d'exploitation Linux => pour réaliser des systèmes communicants => Internet des objets
  • Gyroscope et Accéléromètre => détection/capture de mouvement
Au regard de ces informations, nous pouvons voir Arduino 101 comme:
Arduino 101 = une plateforme de prototypage pour projet wearable/fringrables centrée autour d'un Intel Curie
Très bien pour le prototypage de produits commerciaux
Il est donc idéal pour faire du prototypage de projet commercial comme ceci :
Exemple de projet wearable/fringuable autour d'Intel Curie
Il faut reconnaître qu'Intel Curie (le core) est un concentré de technologie tenant dans un objet de la taille d'un bouton! Ce qui est visé avec un Arduino 101, c'est un développement de prototype dont la finalité est un produit "communiquant" hautement intégrés.

Nous pouvons également retrouver Arduino 101 dans des cycles de formation d'ingénieur (prototypage wearable en vue d'une mise en production).

Moins intéressant pour le hobbyisme Arduino
Par contre, les Arduinistes bidouilleurs pourraient être déçu car Arduino 101 n'est clairement pas une plateforme axée bidouillage (au sens large du terme).
A bien y refléchir, il est assez facile d'ajouter une connectivité BLE et/ou gyroscope/magnétomètre sur un Arduino Uno ou Mega avec quelques breakout tout en bénéficiant du restant des ressources, tuto, bibliothèques disponibles pour les Arduino standard. A coût plus élevé, cela pourrait être plus intéressant pour une approche hobbyiste.

Ressources autour d'Arduino 101
  • Firmware package pour Arduino 101 (download center d'Intel, anglais)
  • Projet Zephyr
    Zephyr project propose un guide pour Arduino 101 (cfr lien ci-dessous).
    Zephyr project est un projet visant a créer une plateforme RTOS (Linux) neutre auquels les grands comptes de l'électronique peuvent contribuer. Avec Zephyr project, il est possible de réaliser des senseurs connectés, LED fringrables/wearables, des modems ou des gateways IoT sans fils.
  • Open Source Arduino 101 "RTOS." (forum.arduino.cc, anglais)
    Fil de discussion intéressant rassemblant différentes ressources (lien) concernant le système d'exploitation RTOS fonctionnant sur le processeur Intel Curie de la carte Arduino 101.