L’Arduino est une carte électronique très facilement interfaçable, et à un prix largement abordable. Néanmoins, étant limitée au niveau puissance, l’Arduino n’est pas la plus adaptée pour traiter les données. L’Arduino utilisée lors du développement est une Uno rev3. Toute carte Arduino supportant Firmata et alimentable par USB peut être utilisée.
Pour pallier au manque de puissance de l’Arduino, la Raspberry Pi semblait appropriée. De plus étant un mini ordinateur, elle est capable d’interpréter divers langages de programmation. Utilisant GNU/Linux Debian, ou plus précisément Raspbian, elle se connecte facilement à internet et bénéficie de la diversité des logiciels proposés en open-source pré-compilés pour la distribution. Est utilisé un modèle B avec raspbian sur une carte SDHC de 8Go classe 10.
L’objectif est de lire des données avec l’arduino, les envoyer à la Raspberry Pi qui les traite, les présente sur l’affichage LCD et enfin les diffuse. Le langage de programmation utilisé sur la Raspberry Pi doit pouvoir communiquer facilement avec l’Arduino et être assez complet pour ensuite traiter les données. C’est pourquoi le python semblait le plus adapté : la communication avec l’arduino est bien implémentée et les nombreuses librairies développées sur python permettent de faire à peu près tout ce que l’on veut.