Stage II-2025: Développement d’un Oscilloscope Numérique Multicanal Open Source pour Cartes Arduino

osciloscope_numérique_arduino

Fin des dépôts de candidature

Le Vendredi 8 Août 2025

Description

Ce stage passionnant propose de développer un oscilloscope numérique multicanal open source complet, spécifiquement conçu pour interagir avec les cartes Arduino. L’objectif principal est de créer une solution polyvalente capable d’acquérir, d’afficher et potentiellement de stocker des données analogiques provenant de multiples sources, tout en étant accessible pour la communauté.

Contexte et Motivation

L’interface graphique native fournie par l’environnement Arduino, bien que fonctionnelle pour des tâches de base, est limitée et n’offre pas les fonctionnalités essentielles pour le débogage avancé des signaux. Ce projet vise à combler cette lacune en proposant un outil plus robuste et flexible, qui pourra servir à la fois d’outil de développement pour les makers et d’initiative open source pour encourager la collaboration et l’innovation.

Missions

Le contenu des missions est flexible et pourra évoluer en fonction du candidat, des spécificités du projet et de sa progression.

  • Développement d’une Interface Graphique (GUI) : Conception et implémentation d’une interface utilisateur intuitive affichant les informations essentielles d’un oscilloscope. Cela inclura des fonctionnalités clés telles que la base de temps, le changement d’échelle (amplitude et temps), et la visualisation des signaux.
  • Support Multicanal Étendu : L’oscilloscope doit être capable de gérer 16 canaux analogiques, en tirant parti des capacités de cartes comme l’Arduino Mega. De plus, la conception devra être générique pour permettre l’ajout de canaux supplémentaires si nécessaire à l’avenir.
  • Protocole de Streaming de Données : Implémentation du protocole de communication entre la carte Arduino et l’ordinateur via l’interface série via USB. Ce protocole sera optimisé pour le streaming de données.
  • Programmation Embarquée C/Arduino : Développement du code embarqué en langage C (compatible Arduino) qui sera chargé sur la carte Arduino (Mega ou autre modèle compatible). Ce programme sera responsable de l’acquisition des données analogiques et de leur transmission.
  • Acquisition et Affichage des Données sur PC : L’interface graphique sur l’ordinateur gérera l’acquisition des données reçues de l’Arduino et leur affichage en temps réel.
  • Fonctionnalité de Stockage (Optionnel) : En fonction de l’avancement du stage, l’intégration d’une fonctionnalité de stockage des données acquises dans l’interface graphique pourra être envisagée.
  • Analyse de Performance : Évaluation des performances et limitations de la carte Arduino, notamment en termes de fréquence d’échantillonnage, amplitude des signaux, etc. en fonction du nombre de canaux actifs. Cette analyse sera cruciale pour comprendre les contraintes du système.
  • Contribution Open Source : Le projet sera entièrement open source et accessible à la communauté. Cela implique une documentation claire du code et des fonctionnalités, et une structure propice aux contributions futures.

Technologies et Compétences Mises en Jeu

Ce stage offre une excellente opportunité de monter en compétences sur les aspects suivants :

  • Programmation Embarquée : Maîtrise du langage C et de l’environnement Arduino.
  • Développement d’Interfaces Graphiques : Utilisation de frameworks et bibliothèques graphiques (en particulier, Python) pour la partie PC.
  • Communication Série/USB : Compréhension et implémentation de protocoles de communication.
  • Traitement du Signal : Notions de base sur l’acquisition et le traitement des signaux analogiques.
  • Analyse de Performances : Méthodologie d’évaluation des performances hardware et software.
  • Développement Open Source : Pratiques de collaboration et de documentation de code pour une diffusion publique.

Profil Recherché

Nous recherchons un(e) étudiant(e) motivé(e) par l’électronique, la programmation embarquée et le développement logiciel, ayant une bonne autonomie, un esprit d’analyse et un intérêt marqué pour les projets open source.

  • Formation : Étudiant(e) en électronique, électricité, systèmes embarqués ou domaines similaires.
  • Compétences Techniques Indispensables :
    • Maîtrise de la programmation C pour microcontrôleurs.
    • Expérience en prototypage sur Arduino.
    • Programmation Python
    • Outils Git
    • Notions solides en électronique analogique et systèmes d’acquisition de données.
  • Qualités Personnelles : Autonome, rigoureux(se), curieux(se) et doté(e) d’un bon esprit d’analyse et de synthèse.

Pourquoi nous rejoindre ?

Ce stage représente une opportunité unique de travailler sur un projet concret alliant hardware et software, avec des défis techniques stimulants et une contribution directe à la communauté des makers et développeurs Arduino.

L'Avenir de l'Électronique : Des Projets Innovants Vous Attendent !