DREAM-BETA Contrôleur de vol FPV 2025
Contrôleur de vol open-source compatible BetaFlight, du PCB au vol d'essai.
Le projet DREAM-BETA est né dans la continuité de l'aventure DREAM, un drone conçu pour évoluer en apesanteur lors de la campagne Parabole 2024 organisée avec le CNES.
Pour mon projet de fin d'études à l'école d'ingénieur, j'ai choisi de poursuivre le développement électronique du drone en concevant ma propre carte de vol capable d'exécuter le logiciel Betaflight. L'objectif est d'adapter la structure du drone développée pour DREAM afin de remplacer l'ancienne électronique, initialement conçue pour les vols en apesanteur (0G), par une nouvelle électronique dédiée au vol FPV (First Person View).
J'ai conçu une carte électronique 4 couches intégrant une IMU, un baromètre, une mémoire flash “boîte noire”, un port USB-C, ainsi que les alimentations et interfaces GPS / magnétomètre nécessaires. L'ensemble tient sur un circuit de seulement 4 cm de côté. En parallèle, j'ai également développé un récepteur radio compatible avec la norme ExpressLRS.
Ces deux cartes électroniques sont open-source et disponibles sur mon GitHub : DREAM_BETA sur GitHub
Projet DREAM Lauréat CNES PARABOLE 2024
Projet de conception et expérimentation dans l'A310 Zéro-G de Novespace de drone autonome en microgravité. Architecture avionique, PCB, IMU/UWB, lois de commande et supervision.
DREAM - Drone en Accélération Modifiée
DREAM est un projet étudiant sélectionné pour la campagne Parabole Post-bac du CNES et de Novespace. Objectif : concevoir un drone expérimental capable de rester stable pendant les différentes phases d'un vol parabolique : hyperpesanteur (~ 1,8 G), 1 G et micro-pesanteur (~ 0 G). Le but est de comprendre comment piloter une machine légère quand la gravité change très vite et de valider des choix d'architecture pour des environnements à gravité variable.
Équipe :
- Alfred Deduyer : Architecture & conception électronique, logiciels embarqués, régulation, intégration systèmes.
- Arnaud Bleunven : Gestion de projet, communications CNES/Novespace/ENSTA, acquisition capteurs.
- Teys Cocset : Conception mécanique (châssis, carénages).
- Plateforme volante : octocoptère ~350 g. 4 moteurs « principaux » (1-1,8 g) + 4 moteurs horizontaux (translations/rotations en 0 g).
- Structure : châssis imprimé 3D, rigidité/masse optimisées, carénages intégrés pour sécurité & intégration capteurs/électronique.
- Localisation : balises UWB (4 ancres fixes + 1 tag embarqué), calcul 3D par moindres carrés (≈10-15 cm en cabine).
- Commande : régulation PID imbriqués, filtres de Kalman, gains paramétrables depuis le sol.
- Communication : DREAM Link, protocole bidirectionnel drone↔sol (télémétrie, configuration, enregistrement).
- Alimentation : par câble depuis un boîtier sol 24 V (contraintes sécurité avion).
- Supervision : DREAM App (PC) - visualisation 3D, réglages vol, calibration UWB, logging.
Châssis
Châssis monobloc imprimé, carénages en nid d'abeille. Supports intégrés pour limiter le nombre de pièces et augmenter la rigidité. Quinze pièces pour ~135,5 g assemblés. Compromis rigidité/masse optimisé pour encaisser 1,8 g et les chocs possibles en cabine.
Électronique
L'expérience embarque onze cartes électroniques. Le contrôleur de vol (~4 cm de côté) combine puissance, numérique et RF : acquisition capteurs, régulation, sûreté et radio. Chaîne d'alimentation 24 V via câble 12 AWG entre base et drone. Tampon de condensateurs réparti sol/machine pour limiter chutes de tension et pics de courant. Boîtier sol : 24 V (drone) + 5 V (balises), protections et interfaces, réalisation industrielle.
Balises de positionnement UWB
Localisation indoor par UWB : 5 balises pour mesurer les distances et résoudre la position par moindres carrés non linéaires. Essais au sol ≈10 cm ; en cabine ≈15 cm (réflexions/multipath). Suffisant pour analyser les trajectoires et ajuster les lois de commande.
Logiciels du drone et de la base au sol
Le drone exécute un logiciel sous FreeRTOS sur deux cœurs : régulation temps réel d'un côté, communications & sécurité de l'autre. PIDs imbriqués + filtres de Kalman. DREAM Link transporte trames synchrones/asynchrones (fréquences ajustables). Positions, hauteurs, états et erreurs sont disponibles pour analyse. DREAM App gère la supervision temps réel, la calibration UWB, les tests capteurs et l'enregistrement pour l'analyse post-vol.
Protocole expérimental
Zone d'essai « free-float » protégée par filets au centre de la cabine. 4 ancres UWB autour (3 sol, 1 à ~2 m). Deux opérateurs : l'un hors zone (commandes, logs, suivi protocole), l'autre dans la zone (manipulation, lâchers). À chaque parabole : décollage, lâcher en micro-pesanteur, tests de rotations/renversements, translations. Modes de secours pour reparamétrage rapide si besoin.
Campagne d'intégration et de vol
Intégration chez Novespace du 30 septembre au 9 octobre 2024 : sécurité, installation, simulations, finalisation du protocole. Vol d'essais ensuite au-dessus de la Bretagne. Trois mises en sécurité d'alimentation ont interrompu certains essais sans dommage, et ont permis d'identifier des pistes d'amélioration sur la gestion énergétique.
Résultats majeurs
- 1 g : comportement conforme aux essais au sol ; stabilisation robuste y compris avec perturbations.
- 1,8 g : sustentation confirmée (×2 « poids » effectif) ; stabilisation perfectible via réglage PID par phase.
- 0 g : facteur limitant = câble (effet ressort qui repousse/attire le drone). Recentrage améliore la tenue ; stabilisation sur une parabole complète à consolider.
- UWB : enregistrements exploitables, ≈10–20 cm selon paraboles ; signatures compatibles réflexions/interférences cabine.
Pour plus d'informations, consulte le rapport du projet : Rapport DREAM (PDF)
Conception électronique
Stackup 4L, plans GND, routage capteurs, contraintes USB-C.
Firmware embarqué
Drivers I²C/SPI, multitâche, radio Thread, CoAP.
Compilateur IoT - Génération automatique de messages 2024
Langage simplifié compilé vers des structures de messages pour la communication ESP-NOW (ESP32).
ESP-MessageCraft est un petit compilateur pour microcontrôleurs Espressif : il transforme un DSL (Domain-Specific Language) minimaliste en structures et fonctions prêtes à l'emploi pour la messagerie ESP-NOW (échanges directs, sans routeur).
Pipeline
- Lexing/Parsing du DSL à un arbre intermédiaire (ex :
lexer.py). - Vérifications sémantiques : tailles, noms, directions/rôles.
- Génération : structures, IDs, encode/decode pour ESP-NOW (≤ 250 octets/payload).
- Intégration firmware : envoi/réception via les callbacks ESP-NOW.
// Déclaration de deux unités (nœuds)
unit ESP1
unit ESP2
// Message Discover : broadcast → listener
message :
ESP1 = broadcast
ESP2 = listener
Name = Discover
Variable : char[16] ESP_name
// Message Offer : listener → sender
message :
ESP1 = listener
ESP2 = sender
Name = Offer
Variable : int ESP_ID_RES
Sortie (exemple C généré)
Exemple illustratif : l'implémentation exacte peut varier selon la cible et les options.
typedef struct {
char ESP_name[16];
} msg_Discover_t;
typedef struct {
int32_t ESP_ID_RES;
} msg_Offer_t;
typedef enum { MSG_DISCOVER=1, MSG_OFFER=2 } msg_id_t;
// Sérialisation minimaliste (endianness à adapter si besoin)
size_t encode_Discover(uint8_t *buf, const msg_Discover_t *m) {
memcpy(buf, m->ESP_name, 16);
return 16;
}
size_t encode_Offer(uint8_t *buf, const msg_Offer_t *m) {
buf[0] = (uint8_t)(m->ESP_ID_RES);
buf[1] = (uint8_t)(m->ESP_ID_RES>>8);
buf[2] = (uint8_t)(m->ESP_ID_RES>>16);
buf[3] = (uint8_t)(m->ESP_ID_RES>>24);
return 4;
}
Code source et exemples : 👉 ESP-MessageCraft-compilation (GitLab)
LEVEL MINI - Contrôleur de vol embarqué 2023
Mini-contrôleur de vol complet remplaçant l'électronique d'un Parrot MiniDrone.
Le projet LEVEL MINI s'inscrit dans la continuité du développement du contrôleur de vol LEVEL, destiné à piloter différents types d'aéronefs. L'objectif de LEVEL MINI est de concevoir un contrôleur de vol complet, depuis l'électronique jusqu'au logiciel embarqué. Ce projet personnel a débuté en septembre 2023 et consiste à modifier un drone Parrot MiniDrone en remplaçant entièrement son électronique d'origine.
J'ai conçu une nouvelle carte électronique autour d'un microcontrôleur ESP32-C3. Cette carte intègre une antenne céramique avec adaptation d'impédance, une centrale inertielle six axes, un baromètre, un capteur de distance laser, une mémoire flash, un capteur de courant, un chargeur de batterie, deux LED adressables et quatre contrôleurs moteurs à balais. Le circuit imprimé est réalisé en technologie quatre couches avec des composants au format 0402.
Le logiciel du drone a été développé en C et C++ avec l'environnement FreeRTOS afin de garantir des fréquences d'exécution précises pour les boucles de régulation et les tâches de lecture capteurs. Le drone lit en continu ses capteurs, applique des filtres de Kalman pour estimer son orientation dans l'espace, puis utilise trois boucles de régulation PID pour stabiliser le vol. Les moteurs sont commandés avec une fréquence variable afin de réduire le bruit. Une liaison radio intégrée permet la communication avec une station au sol pour transmettre la télémétrie et recevoir les commandes de pilotage.
LEVEL MINI a ensuite servi de prototype préliminaire pour le projet étudiant DREAM Parabole. Le drone DREAM reprend la même architecture matérielle et logicielle, tout en intégrant une version évoluée de l'interface de communication entre l'aéronef et la station au sol, désormais nommée DREAM LINK.
Lampe connectée - 2023
Lampe d'ambiance synchronisable multi-réseaux (ESP8266, 80 LED, bouton capacitif, écran OLED, configuration web).
Lampe d'ambiance synchronisable avec d'autres lampes pour indiquer si elles sont allumées et aligner leurs effets lumineux, même sur des réseaux différents.
Au cœur du système, un ESP8266 monté sur un PCB que j'ai conçu : connexion Wi-Fi, pilotage de 80 LED adressables (motifs et palettes), bouton capacitif (appui court : changement de mode/couleur ; appui long : extinction) et écran OLED affichant le motif actif, l'état des autres lampes, ainsi que l'adresse IP et le nom mDNS menant à la page de configuration.
La mise en service est simple : au premier démarrage, la lampe crée son propre point d'accès Wi-Fi pour choisir le réseau. Une fois connectée, une interface web locale permet de régler les motifs, la vitesse des transitions, la luminosité et le groupe de synchronisation.
La synchronisation s'appuie sur un Raspberry Pi jouant le rôle de serveur : une API PHP et une base SQL enregistrent l'état des lampes et renvoient un état agrégé. Chaque lampe périodiquement envoieet récupère les informations et se synchronise via le serveur sans ouverture de ports sur les réseaux domestiques.
Le châssis a été entièrement modélisé en 3D sous Fusion 360 et imprimé en PLA : noir pour la base et PLA blanc de 0,4 mm d'épaisseur pour le diffuseur lumineux.
Avion autonome 2022
Avion électrique autonome : contrôleur de vol, guidage GPS, missions automatiques (ArduPilot).
Après plusieurs années de fabrication d'avions télécommandés sans aides au pilotage, où la télécommande agit directement sur les surfaces de contrôle - j'ai décidé d'améliorer l'un de mes appareils pour en faire un drone autonome. L'avion mesure 1,20 m d'envergure pour 1,00 m de longueur et pèse environ 1,5 kg (batterie incluse). L'intégration d'un système d'autopilotage apporte différentes aides : fly-by-wire, maintien d'altitude et de vitesse, ainsi qu'un mode de vol entièrement autonome.
Fonctionnalités de vol
- Mode autonome : exécution d'un plan de vol en suivant des waypoints GPS.
- Maintien automatique : contrôle automatique de l'altitude et de la vitesse.
- Fly-by-Wire : pilotage assisté par ordinateur, plus stable et plus sûr qu'un mode manuel brut.
- Liaison sol : télémétrie en temps réel vers une station au sol pour supervision, ajustements et gestion de mission.
Le cœur du système est un contrôleur de vol ArduPilot installé sur une carte issue de l'écosystème FPV, qui confère à l'avion télécommandé des capacités avancées d'autopilotage : navigation par GPS et boussole, actionnement via servomoteurs (profondeur, ailerons, direction), propulsion électrique, et télémétrie sol-air pour le suivi et les réglages en vol. La station au sol permet de préparer les missions (waypoints, altitudes, vitesses), de visualiser les données en direct et d'ajuster les paramètres si nécessaire.
Concours Robot suiveur de ligne 2021
Robot vainqueur du concours IUT GEII : électronique et intégration complètes, capteurs de réflectance, départ au flash, microcontrôleur PIC et programmation C (MPLAB).
Projet de fin de 1re année à l'IUT GEII : concevoir un robot suiveur de ligne en respectant un règlement imposant la base mécanique (châssis, moteurs) et le microcontrôleur PIC. Notre équipe devait réaliser l'électronique, intégrer les cartes et capteurs dans le châssis et développer la programmation.
Nous avons choisi des capteurs de réflectance pour détecter la trajectoire, ajouté un phototransistor déclenchant le départ au flash, puis conçu deux circuits imprimés complémentaires sous Altium Designer pour optimiser l'intégration. La disposition des cartes a été préparée via une modélisation 3D (Fusion 360) afin de réduire l'encombrement, améliorer la stabilité et faciliter la maintenance.
Côté logiciel, nous avons programmé le PIC en C sous MPLAB (lecture capteurs, régulation de trajectoire, gestion des vitesses). Le système a été affiné par itérations (tests piste → ajustements capteurs et gains). Résultat : victoire du concours avec Steve, notre robot, grâce à une tenue de ligne et des temps au tour réguliers.
Expérience professionnelle
SADAL Engineering - Alternant ingénieur systèmes embarqués
sept. 2022 - sept. 2025Pilotage de projets techniques de A à Z. Conception hardware (architecture, PCB, RF) et développement logiciel embarqué.
Lauréat appel à projet CNES - Resp. électronique & avionique (DREAM Parabole)
déc. 2023 - oct. 2024Drone autonome pour vols en microgravité : PCB, IMU, UWB, lois de commande, app de pilotage/supervision.
Intervenant pédagogique Vietnam - Électronique embarquée
mai 2024 - août 2024Encadrement d'étudiants de l'université Industrielle de Hô Chi Minh ville : projets de drones marins, conception & fabrication de PCB (en anglais).
SADAL Engineering - Technicien en électronique (CDD)
juin 2022 - sept. 2022Banc moteur : instrumentation, schémas, câblage, mesures. Automatisation & supervision des tests.
SADAL Engineering - Stagiaire en électronique
avr. 2022 - juin 2022Conception et réalisation d'un système électronique de communication LoRa.
WC LOC - Chauffeur / livreur (intérim)
juil. 2021 - août 2021Horaires décalés, gestion autonome des livraisons, installation et récupération des sanitaires, relation client.
Études
ENSTA - Diplôme d'ingénieur en systèmes embarqués
2022 - 2025Diplôme d'ingénieur en systèmes embarqués
IUT Brest-Morlaix - DUT GEII
2020 - 2022DUT Génie électrique et informatique industrielle
Lycée de l'Iroise - Bac S (option ISN)
2020BAC S, option Informatique et Sciences du Numérique.
Contact
- Email Alfred.deduyer@gmail.com
- Téléphone +33 7 81 42 90 12
- LinkedIn linkedin.com/in/alfred-deduyer
- CV Alfred DEDUYER (PDF)
- Github github.com/Botalfredo
- Gitlab gitlab.ensta-bretagne.fr/deduyeal
- Calibration drone Calibration FPV