<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.collaborativebee.com//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki.admin</id>
	<title>beeplane - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.collaborativebee.com//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki.admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Special:Contributions/Wiki.admin"/>
	<updated>2026-08-03T04:25:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2031</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2031"/>
		<updated>2026-05-22T15:47:52Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Montage maquette */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 07 Maquette et code fin image12 rotated left.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2030</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2030"/>
		<updated>2026-05-22T15:46:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Montage maquette */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 07 Maquette et code fin image12 rotated left.jpeg&lt;br /&gt;
|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_07_Maquette_et_code_fin_image12_rotated_left.jpeg&amp;diff=2029</id>
		<title>File:STM32 wiki 07 Maquette et code fin image12 rotated left.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_07_Maquette_et_code_fin_image12_rotated_left.jpeg&amp;diff=2029"/>
		<updated>2026-05-22T15:44:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2028</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2028"/>
		<updated>2026-05-22T15:40:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Architecture de commande */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png&lt;br /&gt;
|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2027</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2027"/>
		<updated>2026-05-22T15:37:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Montage maquette */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png&lt;br /&gt;
|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png&lt;br /&gt;
|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2026</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2026"/>
		<updated>2026-05-22T15:36:05Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Architecture de commande */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 08 Maquette et code fin image14.png&lt;br /&gt;
|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_08_Maquette_et_code_fin_image14.png&amp;diff=2025</id>
		<title>File:STM32 wiki 08 Maquette et code fin image14.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_08_Maquette_et_code_fin_image14.png&amp;diff=2025"/>
		<updated>2026-05-22T15:34:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2024</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2024"/>
		<updated>2026-05-22T15:32:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Bus CAN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 13 20260511 FCU MINIBEE image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_13_20260511_FCU_MINIBEE_image60.png&amp;diff=2023</id>
		<title>File:STM32 wiki 13 20260511 FCU MINIBEE image60.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_13_20260511_FCU_MINIBEE_image60.png&amp;diff=2023"/>
		<updated>2026-05-22T15:29:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2022</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2022"/>
		<updated>2026-05-22T15:28:23Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Pilotage moteur avec L298N */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 14 20260511 FCU MINIBEE image61.png&lt;br /&gt;
|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_14_20260511_FCU_MINIBEE_image61.png&amp;diff=2021</id>
		<title>File:STM32 wiki 14 20260511 FCU MINIBEE image61.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_14_20260511_FCU_MINIBEE_image61.png&amp;diff=2021"/>
		<updated>2026-05-22T15:27:15Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2020</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2020"/>
		<updated>2026-05-22T15:25:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Lecture d’un joystick */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 03 Maquette et code fin image6.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_03_Maquette_et_code_fin_image6.png&amp;diff=2019</id>
		<title>File:STM32 wiki 03 Maquette et code fin image6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_03_Maquette_et_code_fin_image6.png&amp;diff=2019"/>
		<updated>2026-05-22T15:24:13Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2018</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2018"/>
		<updated>2026-05-22T15:22:59Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Installation logicielle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2017</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2017"/>
		<updated>2026-05-22T15:22:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Premier test : clignotement LED */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_installation_Arduino_IDE.png|center|800px|thumb|Installation de la bibliothèque STM32duino dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 02 Maquette et code fin image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_02_Maquette_et_code_fin_image3.png&amp;diff=2016</id>
		<title>File:STM32 wiki 02 Maquette et code fin image3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_02_Maquette_et_code_fin_image3.png&amp;diff=2016"/>
		<updated>2026-05-22T15:21:28Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2015</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2015"/>
		<updated>2026-05-22T15:20:37Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Matériel utilisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 wiki 11 20260511 FCU MINIBEE image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_installation_Arduino_IDE.png|center|800px|thumb|Installation de la bibliothèque STM32duino dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_LED_Nucleo.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2014</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2014"/>
		<updated>2026-05-22T15:19:10Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Matériel utilisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[STM32_wiki_11_20260511_FCU_MINIBEE_image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_installation_Arduino_IDE.png|center|800px|thumb|Installation de la bibliothèque STM32duino dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_LED_Nucleo.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_11_20260511_FCU_MINIBEE_image50.png&amp;diff=2013</id>
		<title>File:STM32 wiki 11 20260511 FCU MINIBEE image50.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:STM32_wiki_11_20260511_FCU_MINIBEE_image50.png&amp;diff=2013"/>
		<updated>2026-05-22T15:16:24Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2012</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2012"/>
		<updated>2026-05-22T15:15:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Contexte Mini-Bee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[File:ChatGPT Image 22 mai 2026, 10 58 59.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_Nucleo_F446RE.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_installation_Arduino_IDE.png|center|800px|thumb|Installation de la bibliothèque STM32duino dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_LED_Nucleo.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:ChatGPT_Image_22_mai_2026,_10_58_59.png&amp;diff=2011</id>
		<title>File:ChatGPT Image 22 mai 2026, 10 58 59.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:ChatGPT_Image_22_mai_2026,_10_58_59.png&amp;diff=2011"/>
		<updated>2026-05-22T15:12:57Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2010</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2010"/>
		<updated>2026-05-22T15:09:24Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_MiniBee_contexte_FCU.png|center|800px|thumb|Contexte Mini-Bee et Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_Nucleo_F446RE.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_installation_Arduino_IDE.png|center|800px|thumb|Installation de la bibliothèque STM32duino dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_LED_Nucleo.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_joystick.png|center|600px|thumb|Montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_module_L298N.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_SN65HVD230.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_CAN_BluePill_L298N_schema.png|center|850px|thumb|Schéma de principe STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_montage_maquette_MiniBee.jpeg|center|700px|thumb|Montage physique de la maquette Mini-Bee avec STM32, CAN, BluePill, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2009</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2009"/>
		<updated>2026-05-22T15:04:28Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle permet de démarrer rapidement avec la carte STM32 Nucleo F446RE, Arduino IDE, le bus CAN, les BluePills et les modules de puissance L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de donner une base claire pour reprendre la partie logicielle STM32 du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, un contributeur doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_09_20260511_FCU_MINIBEE_image36.png Télécharger le visuel Mini-Bee / contexte FCU]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_11_20260511_FCU_MINIBEE_image50.png Télécharger la carte STM32 Nucleo F446RE]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_01_Maquette_et_code_fin_image1.png Télécharger l’image installation bibliothèque STM32duino]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_02_Maquette_et_code_fin_image3.png Télécharger le montage LED STM32]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_03_Maquette_et_code_fin_image6.png Télécharger le montage joystick]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_14_20260511_FCU_MINIBEE_image61.png Télécharger le module L298N]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple de test simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
const int motorPin1 = 5;&lt;br /&gt;
const int motorPin2 = 6;&lt;br /&gt;
const int motorPin3 = 10;&lt;br /&gt;
const int motorPin4 = 9;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(motorPin1, OUTPUT);&lt;br /&gt;
  pinMode(motorPin2, OUTPUT);&lt;br /&gt;
  pinMode(motorPin3, OUTPUT);&lt;br /&gt;
  pinMode(motorPin4, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(motorPin1, HIGH);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, HIGH);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, HIGH);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, HIGH);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_13_20260511_FCU_MINIBEE_image60.png Télécharger le transceiver CAN SN65HVD230]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_08_Maquette_et_code_fin_image14.png Télécharger le schéma de principe STM32 / CAN / BluePill / L298N]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
'''Image à ajouter :''' [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_07_Maquette_et_code_fin_image12.jpeg Télécharger le montage maquette complet]&lt;br /&gt;
&lt;br /&gt;
== Exemple de branchement d’une branche moteur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Liaison&lt;br /&gt;
! Connexion&lt;br /&gt;
|-&lt;br /&gt;
| CAN principal vers CAN branche&lt;br /&gt;
| CANH vers CANH, CANL vers CANL&lt;br /&gt;
|-&lt;br /&gt;
| CAN vers BluePill&lt;br /&gt;
| CANTX vers A7, CANRX vers B1&lt;br /&gt;
|-&lt;br /&gt;
| BluePill vers L298N&lt;br /&gt;
| B8 vers ENA, B7 vers IN1, B6 vers IN2, B5 vers IN3, B4 vers IN4, B3 vers ENB&lt;br /&gt;
|-&lt;br /&gt;
| L298N vers moteurs&lt;br /&gt;
| OUT1 / OUT2 vers moteur 1, OUT3 / OUT4 vers moteur 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe d’envoi d’une consigne de vitesse vers plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Images complémentaires ==&lt;br /&gt;
&lt;br /&gt;
Ces images peuvent être ajoutées si la page doit être enrichie.&lt;br /&gt;
&lt;br /&gt;
* [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_04_Maquette_et_code_fin_image8.png Télécharger le montage moteur / pont en H]&lt;br /&gt;
* [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_05_Maquette_et_code_fin_image9.jpeg Télécharger le module de test moteur]&lt;br /&gt;
* [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_06_Maquette_et_code_fin_image10.png Télécharger le module CAN / câblage]&lt;br /&gt;
* [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_10_20260511_FCU_MINIBEE_image41.png Télécharger l’architecture / projet FCU]&lt;br /&gt;
* [sandbox:/mnt/data/stm32_wiki_photos_selected/STM32_wiki_12_20260511_FCU_MINIBEE_image57.png Télécharger le schéma architecture commande / puissance]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur et CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2008</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2008"/>
		<updated>2026-05-22T14:55:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Cette page présente les bases logicielles STM32 utilisées pour la maquette Mini-Bee.&lt;br /&gt;
Elle sert de guide rapide pour installer l’environnement, réaliser les premiers tests et comprendre le lien entre la carte Nucleo, le bus CAN, les BluePills et les modules L298N.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif est de permettre à un nouveau contributeur de démarrer rapidement avec la carte STM32 Nucleo F446RE.&lt;br /&gt;
&lt;br /&gt;
À la fin de cette prise en main, il doit savoir :&lt;br /&gt;
&lt;br /&gt;
* installer l’environnement STM32 dans Arduino IDE ;&lt;br /&gt;
* téléverser un premier programme ;&lt;br /&gt;
* tester une sortie numérique ;&lt;br /&gt;
* lire un joystick ou un potentiomètre ;&lt;br /&gt;
* piloter un moteur DC ;&lt;br /&gt;
* comprendre le rôle du bus CAN dans l’architecture Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== Contexte Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Dans le projet Mini-Bee, la STM32 Nucleo joue le rôle de contrôleur principal du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
Elle reçoit les consignes pilote, lit les données capteurs et transmet les ordres aux modules moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_09_20260511_FCU_MINIBEE_image36.png|center|800px|thumb|Vue Mini-Bee utilisée pour présenter le contexte du Flight Control Unit.]]&lt;br /&gt;
&lt;br /&gt;
L’architecture étudiée vise à rendre le Mini-Bee contrôlable sur trois axes :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
== Matériel utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo F446RE&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
|-&lt;br /&gt;
| BluePill STM32F103&lt;br /&gt;
| Carte esclave locale pour le pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD230&lt;br /&gt;
| Transceiver de communication CAN&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Pont en H pour piloter les moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| Joystick / potentiomètre&lt;br /&gt;
| Entrée de commande&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs DC&lt;br /&gt;
| Actionneurs de test de la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_11_20260511_FCU_MINIBEE_image50.png|center|600px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal.]]&lt;br /&gt;
&lt;br /&gt;
== Installation logicielle ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 peut être programmée avec Arduino IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes principales :&lt;br /&gt;
&lt;br /&gt;
# Installer Arduino IDE.&lt;br /&gt;
# Ajouter le gestionnaire de cartes STM32duino.&lt;br /&gt;
# Installer le support STM32 depuis le gestionnaire de cartes.&lt;br /&gt;
# Importer la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Sélectionner la carte '''Nucleo-64'''.&lt;br /&gt;
# Sélectionner le modèle '''Nucleo F446RE'''.&lt;br /&gt;
# Choisir le port série de la carte.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_01_Maquette_et_code_fin_image1.png|center|800px|thumb|Bibliothèque STM32duino X-NUCLEO-IKS01A2 utilisée dans Arduino IDE.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Point de vigilance :''' importer la bibliothèque directement en fichier ZIP, sans la décompresser.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Premier test : clignotement LED ==&lt;br /&gt;
&lt;br /&gt;
Le premier exercice consiste à faire clignoter une LED sur la broche D13 / PA5.&lt;br /&gt;
&lt;br /&gt;
Il valide :&lt;br /&gt;
&lt;br /&gt;
* le câblage ;&lt;br /&gt;
* la reconnaissance de la carte ;&lt;br /&gt;
* le téléversement du programme ;&lt;br /&gt;
* la commande d’une sortie numérique.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_02_Maquette_et_code_fin_image3.png|center|650px|thumb|Montage de test LED avec breadboard et carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lecture d’un joystick ==&lt;br /&gt;
&lt;br /&gt;
Le joystick permet de transformer une action pilote en signal électrique.&lt;br /&gt;
&lt;br /&gt;
Deux cas sont possibles :&lt;br /&gt;
&lt;br /&gt;
* joystick numérique : lecture ON / OFF ;&lt;br /&gt;
* joystick analogique : lecture proportionnelle sur les axes X et Y.&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est le plus intéressant pour le Mini-Bee, car il permet de générer une consigne progressive.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_03_Maquette_et_code_fin_image6.png|center|600px|thumb|Exemple de montage joystick pour lecture de consigne pilote.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pilotage moteur avec L298N ==&lt;br /&gt;
&lt;br /&gt;
La STM32 ne doit pas alimenter directement un moteur.&lt;br /&gt;
&lt;br /&gt;
Le module L298N sert d’étage de puissance.  &lt;br /&gt;
Il reçoit des signaux logiques et alimente le moteur avec une source adaptée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_14_20260511_FCU_MINIBEE_image61.png|center|550px|thumb|Module L298N utilisé comme pont en H pour piloter les moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
Principe de commande :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Effet&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bus CAN ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN permet de connecter la STM32 Nucleo aux modules moteurs sans multiplier les câbles.&lt;br /&gt;
&lt;br /&gt;
Il est adapté au Mini-Bee car il offre :&lt;br /&gt;
&lt;br /&gt;
* une communication robuste ;&lt;br /&gt;
* une transmission différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* une meilleure résistance aux parasites ;&lt;br /&gt;
* une architecture multipoint ;&lt;br /&gt;
* une extension plus simple vers plusieurs moteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_13_20260511_FCU_MINIBEE_image60.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre les modules.]]&lt;br /&gt;
&lt;br /&gt;
== Architecture de commande ==&lt;br /&gt;
&lt;br /&gt;
L’architecture Mini-Bee sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 décide.  &lt;br /&gt;
La BluePill exécute localement.  &lt;br /&gt;
Le L298N fournit la puissance aux moteurs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_08_Maquette_et_code_fin_image14.png|center|850px|thumb|Schéma de principe de l’architecture STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== Montage maquette ==&lt;br /&gt;
&lt;br /&gt;
Le montage final reprend cette logique sur plusieurs branches moteurs.&lt;br /&gt;
&lt;br /&gt;
Chaque branche comprend :&lt;br /&gt;
&lt;br /&gt;
* un module CAN ;&lt;br /&gt;
* une BluePill ;&lt;br /&gt;
* un L298N ;&lt;br /&gt;
* un ou deux moteurs DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_wiki_07_Maquette_et_code_fin_image12.jpeg|center|700px|thumb|Montage physique de la maquette avec STM32, modules CAN, L298N et moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== Bonnes pratiques ==&lt;br /&gt;
&lt;br /&gt;
Avant chaque test :&lt;br /&gt;
&lt;br /&gt;
* vérifier les masses communes ;&lt;br /&gt;
* tester sans hélice ;&lt;br /&gt;
* limiter la vitesse moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version stable du code ;&lt;br /&gt;
* documenter chaque modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' ne jamais faire un premier test moteur avec hélices montées.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La prise en main STM32 constitue la première étape du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Les exercices simples — LED, joystick, potentiomètre, moteur, CAN — permettent de construire progressivement une architecture distribuée.&lt;br /&gt;
&lt;br /&gt;
Cette base prépare les prochaines étapes :&lt;br /&gt;
&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* intégration des capteurs ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* ajout du correcteur PID ;&lt;br /&gt;
* validation des cas de vol sur la maquette.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2007</id>
		<title>STM32 premier pas et prise en main logiciel</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=STM32_premier_pas_et_prise_en_main_logiciel&amp;diff=2007"/>
		<updated>2026-05-22T14:48:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: Created page with &amp;quot;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}  &amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt; &amp;lt;h...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:STM32 — Premiers pas et prise en main logicielle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:18px 22px; margin-bottom:24px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;margin-top:0;&amp;quot;&amp;gt;STM32 — Premiers pas et prise en main logicielle&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:1.08em;&amp;quot;&amp;gt;&lt;br /&gt;
Cette page présente une prise en main progressive de l’environnement STM32 utilisé pour le projet Mini-Bee.&lt;br /&gt;
Elle explique comment installer l’environnement logiciel, réaliser les premiers exercices Arduino/STM32,&lt;br /&gt;
puis comprendre le rôle de la carte Nucleo, des BluePills, du bus CAN et des modules de puissance L298N dans l’architecture FCU.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
L’objectif n’est pas de tout documenter, mais de donner une base claire, lisible et directement réutilisable par les futurs contributeurs du projet.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== 1. Objectif de la page ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert de point d’entrée pour les étudiants, ingénieurs ou contributeurs qui découvrent la partie logicielle STM32 du projet Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Elle permet de comprendre :&lt;br /&gt;
&lt;br /&gt;
* comment préparer l’environnement de développement ;&lt;br /&gt;
* comment programmer une carte STM32 Nucleo avec l’IDE Arduino ;&lt;br /&gt;
* comment tester les entrées/sorties de base ;&lt;br /&gt;
* comment lire un joystick analogique ou numérique ;&lt;br /&gt;
* comment piloter un moteur à courant continu via un pont en H ;&lt;br /&gt;
* comment utiliser un bus CAN pour connecter la carte principale aux modules moteurs ;&lt;br /&gt;
* comment cette prise en main s’intègre dans le Flight Control Unit du Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eef6f9; border:1px solid #c8dde6; border-radius:10px; padding:16px; margin:20px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Idée clé :''' la STM32 Nucleo joue le rôle de contrôleur principal.  &lt;br /&gt;
Elle lit les consignes pilote, traite les informations capteurs et envoie des ordres aux modules moteurs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. Contexte Mini-Bee et Flight Control Unit ==&lt;br /&gt;
&lt;br /&gt;
Le Mini-Bee est un multicoptère hybride VTOL développé comme plateforme collaborative de recherche et de prototypage.&lt;br /&gt;
&lt;br /&gt;
Dans l’architecture FCU étudiée, la carte STM32 Nucleo agit comme le cerveau de commande.  &lt;br /&gt;
Elle reçoit les consignes de pilotage, prépare les ordres moteurs et coordonne les modules déportés.&lt;br /&gt;
&lt;br /&gt;
Le projet vise à rendre le Mini-Bee contrôlable et stabilisable sur les trois axes principaux :&lt;br /&gt;
&lt;br /&gt;
* '''Roll''' : roulis ;&lt;br /&gt;
* '''Pitch''' : tangage ;&lt;br /&gt;
* '''Yaw''' : lacet.&lt;br /&gt;
&lt;br /&gt;
La soutenance ESTACA rappelle que l’objectif final du FCU Mini-Bee est de rendre le prototype contrôlable et stabilisable en trois axes grâce à une nouvelle architecture de contrôle distribuée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_FCU_MiniBee_architecture_generale.png|center|900px|thumb|Architecture générale du Flight Control Unit Mini-Bee : une carte maître STM32 coordonne les modules moteurs.]]&lt;br /&gt;
&lt;br /&gt;
== 3. Matériel principal utilisé ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Élément&lt;br /&gt;
! Rôle dans la maquette&lt;br /&gt;
! Point important&lt;br /&gt;
|-&lt;br /&gt;
| '''STM32 Nucleo F446RE'''&lt;br /&gt;
| Carte maître du système&lt;br /&gt;
| Lit les consignes, prépare les ordres et pilote la communication&lt;br /&gt;
|-&lt;br /&gt;
| '''BluePill STM32F103C8T6'''&lt;br /&gt;
| Carte esclave locale&lt;br /&gt;
| Reçoit les ordres et génère les signaux moteur localement&lt;br /&gt;
|-&lt;br /&gt;
| '''SN65HVD230'''&lt;br /&gt;
| Transceiver CAN&lt;br /&gt;
| Permet la communication différentielle CAN en 3,3 V&lt;br /&gt;
|-&lt;br /&gt;
| '''L298N'''&lt;br /&gt;
| Pont en H de puissance&lt;br /&gt;
| Alimente et contrôle le sens de rotation des moteurs DC&lt;br /&gt;
|-&lt;br /&gt;
| '''Moteurs DC'''&lt;br /&gt;
| Actionneurs de la maquette&lt;br /&gt;
| Permettent de visualiser les commandes moteurs&lt;br /&gt;
|-&lt;br /&gt;
| '''Joystick / potentiomètre'''&lt;br /&gt;
| Interface de commande&lt;br /&gt;
| Sert à générer des consignes pilote simples&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_Nucleo_F446RE_MiniBee.jpg|center|650px|thumb|Carte STM32 Nucleo F446RE utilisée comme contrôleur principal de la maquette.]]&lt;br /&gt;
&lt;br /&gt;
== 4. Installation de l’environnement logiciel ==&lt;br /&gt;
&lt;br /&gt;
La première étape consiste à préparer l’IDE Arduino pour programmer la carte STM32.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Installer les bibliothèques STM32 ===&lt;br /&gt;
&lt;br /&gt;
La carte d’extension X-NUCLEO-IKS01A2 est compatible avec l’écosystème Arduino.  &lt;br /&gt;
Une bibliothèque dédiée permet d’utiliser les capteurs et les fonctions associées dans l’IDE.&lt;br /&gt;
&lt;br /&gt;
Étapes recommandées :&lt;br /&gt;
&lt;br /&gt;
# Télécharger la bibliothèque STM32duino X-NUCLEO-IKS01A2 au format ZIP.&lt;br /&gt;
# Ouvrir l’IDE Arduino.&lt;br /&gt;
# Aller dans '''Croquis &amp;gt; Inclure une bibliothèque &amp;gt; Ajouter la bibliothèque .ZIP'''.&lt;br /&gt;
# Sélectionner directement le fichier ZIP sans le décompresser.&lt;br /&gt;
# Vérifier que la bibliothèque apparaît bien dans la liste des bibliothèques disponibles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e5; border:1px solid #e4c46a; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Attention :''' ne pas décompresser le fichier ZIP avant import dans Arduino IDE.  &lt;br /&gt;
L’IDE attend l’archive complète.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32duino_X_NUCLEO_IKS01A2_installation.png|center|850px|thumb|Installation de la bibliothèque STM32duino X-NUCLEO-IKS01A2 dans l’IDE Arduino.]]&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Ajouter le gestionnaire de cartes STM32 ===&lt;br /&gt;
&lt;br /&gt;
Dans les préférences Arduino, ajouter l’URL du gestionnaire de cartes STM32duino.  &lt;br /&gt;
Puis ouvrir le gestionnaire de cartes et installer les paquets STM32.&lt;br /&gt;
&lt;br /&gt;
Ensuite, configurer la carte :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Paramètre Arduino IDE&lt;br /&gt;
! Valeur à sélectionner&lt;br /&gt;
|-&lt;br /&gt;
| Board&lt;br /&gt;
| Nucleo-64&lt;br /&gt;
|-&lt;br /&gt;
| Board part number&lt;br /&gt;
| Nucleo F446RE&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| Port série correspondant à la carte branchée&lt;br /&gt;
|-&lt;br /&gt;
| Upload method&lt;br /&gt;
| Valeur par défaut adaptée à la Nucleo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Arduino_IDE_Nucleo64_F446RE_configuration.png|center|750px|thumb|Configuration de la carte Nucleo-64 / Nucleo F446RE dans l’IDE Arduino.]]&lt;br /&gt;
&lt;br /&gt;
== 5. Premier exercice : clignotement d’une LED ==&lt;br /&gt;
&lt;br /&gt;
Le clignotement d’une LED est l’exercice de base pour valider :&lt;br /&gt;
&lt;br /&gt;
* le branchement ;&lt;br /&gt;
* le téléversement du code ;&lt;br /&gt;
* la configuration d’une sortie numérique ;&lt;br /&gt;
* le retour d’information dans le moniteur série.&lt;br /&gt;
&lt;br /&gt;
=== 5.1 Câblage ===&lt;br /&gt;
&lt;br /&gt;
Connecter une LED sur la broche '''D13 / PA5''' de la Nucleo.&lt;br /&gt;
&lt;br /&gt;
Prévoir :&lt;br /&gt;
&lt;br /&gt;
* une LED ;&lt;br /&gt;
* une résistance de 220 Ω ;&lt;br /&gt;
* une connexion vers GND ;&lt;br /&gt;
* un fil entre D13 / PA5 et l’anode de la LED.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_LED_breadboard_Nucleo.png|center|700px|thumb|Premier montage LED sur breadboard avec la carte STM32 Nucleo.]]&lt;br /&gt;
&lt;br /&gt;
=== 5.2 Code de test ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_PIN PA5&lt;br /&gt;
#define BLINK_DELAY 500&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
  Serial.println(&amp;quot;LED blink test started&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  Serial.println(&amp;quot;LED: ON&amp;quot;);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(LED_PIN, LOW);&lt;br /&gt;
  Serial.println(&amp;quot;LED: OFF&amp;quot;);&lt;br /&gt;
  delay(BLINK_DELAY);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5.3 Résultat attendu ===&lt;br /&gt;
&lt;br /&gt;
La LED doit s’allumer et s’éteindre toutes les 500 ms.  &lt;br /&gt;
Le moniteur série doit afficher alternativement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
LED: ON&lt;br /&gt;
LED: OFF&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce test valide que la carte est reconnue, que le programme est chargé correctement et que la sortie numérique fonctionne.&lt;br /&gt;
&lt;br /&gt;
== 6. Lecture d’un joystick numérique ==&lt;br /&gt;
&lt;br /&gt;
Le joystick numérique est utilisé comme une série d’interrupteurs logiques.&lt;br /&gt;
&lt;br /&gt;
Il permet de détecter des états simples :&lt;br /&gt;
&lt;br /&gt;
* direction activée ;&lt;br /&gt;
* bouton pressé ;&lt;br /&gt;
* position de repos.&lt;br /&gt;
&lt;br /&gt;
=== 6.1 Broches utilisées ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Fonction&lt;br /&gt;
! Broche STM32&lt;br /&gt;
! Remarque&lt;br /&gt;
|-&lt;br /&gt;
| Axe X&lt;br /&gt;
| PA0&lt;br /&gt;
| Entrée numérique&lt;br /&gt;
|-&lt;br /&gt;
| Axe Y&lt;br /&gt;
| PA1&lt;br /&gt;
| Entrée numérique&lt;br /&gt;
|-&lt;br /&gt;
| Bouton&lt;br /&gt;
| PB2&lt;br /&gt;
| Entrée numérique avec pull-up&lt;br /&gt;
|-&lt;br /&gt;
| VCC&lt;br /&gt;
| 3.3 V&lt;br /&gt;
| Alimentation logique&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| Masse commune&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define PIN_X PA0&lt;br /&gt;
#define PIN_Y PA1&lt;br /&gt;
#define PIN_BTN PB2&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(PIN_X, INPUT_PULLUP);&lt;br /&gt;
  pinMode(PIN_Y, INPUT_PULLUP);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT_PULLUP);&lt;br /&gt;
  Serial.println(&amp;quot;Digital joystick test ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int stateX = digitalRead(PIN_X);&lt;br /&gt;
  int stateY = digitalRead(PIN_Y);&lt;br /&gt;
  int stateBtn = digitalRead(PIN_BTN);&lt;br /&gt;
&lt;br /&gt;
  if (stateX == LOW &amp;amp;&amp;amp; stateY == HIGH) {&lt;br /&gt;
    Serial.println(&amp;quot;Position detected: upper right&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (stateBtn == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Button pressed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_joystick_numerique_montage.png|center|650px|thumb|Montage d’un joystick sur la carte Nucleo pour lire des états numériques.]]&lt;br /&gt;
&lt;br /&gt;
== 7. Lecture d’un joystick analogique ==&lt;br /&gt;
&lt;br /&gt;
Le joystick analogique est plus adapté au pilotage progressif du Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Contrairement au joystick numérique, il ne donne pas seulement un état ON/OFF.  &lt;br /&gt;
Il fournit une valeur proportionnelle à l’inclinaison.&lt;br /&gt;
&lt;br /&gt;
=== 7.1 Principe ===&lt;br /&gt;
&lt;br /&gt;
Les axes X et Y sont lus par les entrées analogiques de la STM32.&lt;br /&gt;
&lt;br /&gt;
Sur STM32, la lecture analogique peut être effectuée sur une résolution élevée.  &lt;br /&gt;
Dans les exercices, les valeurs sont exploitées pour détecter des zones :&lt;br /&gt;
&lt;br /&gt;
* centre ;&lt;br /&gt;
* gauche / droite ;&lt;br /&gt;
* haut / bas.&lt;br /&gt;
&lt;br /&gt;
=== 7.2 Exemple de code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define JOYSTICK_X_PIN PA0&lt;br /&gt;
#define JOYSTICK_Y_PIN PA1&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(JOYSTICK_X_PIN, INPUT);&lt;br /&gt;
  pinMode(JOYSTICK_Y_PIN, INPUT);&lt;br /&gt;
  Serial.println(&amp;quot;Analog joystick ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x = analogRead(JOYSTICK_X_PIN);&lt;br /&gt;
  int y = analogRead(JOYSTICK_Y_PIN);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;);&lt;br /&gt;
  Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; | Y: &amp;quot;);&lt;br /&gt;
  Serial.println(y);&lt;br /&gt;
&lt;br /&gt;
  if (x &amp;gt; 600) {&lt;br /&gt;
    Serial.println(&amp;quot;Action: right&amp;quot;);&lt;br /&gt;
  } else if (x &amp;lt; 400) {&lt;br /&gt;
    Serial.println(&amp;quot;Action: left&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (y &amp;gt; 600) {&lt;br /&gt;
    Serial.println(&amp;quot;Action: up&amp;quot;);&lt;br /&gt;
  } else if (y &amp;lt; 400) {&lt;br /&gt;
    Serial.println(&amp;quot;Action: down&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eef6f9; border:1px solid #c8dde6; border-radius:10px; padding:14px; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Lien avec le Mini-Bee :''' le joystick analogique est indispensable pour générer une consigne proportionnelle.&lt;br /&gt;
Il permet de piloter progressivement la poussée, l’orientation ou la vitesse angulaire.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. Pilotage de moteurs avec un pont en H ==&lt;br /&gt;
&lt;br /&gt;
La carte STM32 ne peut pas alimenter directement les moteurs.  &lt;br /&gt;
Il faut utiliser un composant de puissance.&lt;br /&gt;
&lt;br /&gt;
Dans les exercices, deux approches apparaissent :&lt;br /&gt;
&lt;br /&gt;
* L293D pour les premiers tests pédagogiques ;&lt;br /&gt;
* L298N pour la maquette Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
Le principe reste le même : le pont en H permet d’inverser la polarité appliquée au moteur, donc de changer son sens de rotation.&lt;br /&gt;
&lt;br /&gt;
=== 8.1 Logique de commande ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! IN1&lt;br /&gt;
! IN2&lt;br /&gt;
! Résultat moteur&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| LOW&lt;br /&gt;
| Rotation sens A&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| HIGH&lt;br /&gt;
| Rotation sens B&lt;br /&gt;
|-&lt;br /&gt;
| LOW&lt;br /&gt;
| LOW&lt;br /&gt;
| Arrêt&lt;br /&gt;
|-&lt;br /&gt;
| HIGH&lt;br /&gt;
| HIGH&lt;br /&gt;
| Arrêt / freinage selon montage&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 8.2 Exemple simple ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
const int motorPin1 = 5;&lt;br /&gt;
const int motorPin2 = 6;&lt;br /&gt;
const int motorPin3 = 10;&lt;br /&gt;
const int motorPin4 = 9;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(motorPin1, OUTPUT);&lt;br /&gt;
  pinMode(motorPin2, OUTPUT);&lt;br /&gt;
  pinMode(motorPin3, OUTPUT);&lt;br /&gt;
  pinMode(motorPin4, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(motorPin1, HIGH);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, HIGH);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, HIGH);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, HIGH);&lt;br /&gt;
  delay(2000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(motorPin1, LOW);&lt;br /&gt;
  digitalWrite(motorPin2, LOW);&lt;br /&gt;
  digitalWrite(motorPin3, LOW);&lt;br /&gt;
  digitalWrite(motorPin4, LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:STM32_L298N_moteur_DC_montage.png|center|700px|thumb|Montage de test moteur avec module de puissance et carte STM32.]]&lt;br /&gt;
&lt;br /&gt;
== 9. Potentiomètre et jauge de poussée ==&lt;br /&gt;
&lt;br /&gt;
Le potentiomètre permet de simuler une commande de puissance.&lt;br /&gt;
&lt;br /&gt;
Dans le rapport d’exercices, il est utilisé pour allumer progressivement une, deux puis trois LED.  &lt;br /&gt;
Ce montage représente une jauge simplifiée de régime moteur.&lt;br /&gt;
&lt;br /&gt;
=== 9.1 Principe ===&lt;br /&gt;
&lt;br /&gt;
* Potentiomètre faible : aucune LED allumée.&lt;br /&gt;
* Potentiomètre moyen : une ou deux LED allumées.&lt;br /&gt;
* Potentiomètre maximum : trois LED allumées.&lt;br /&gt;
&lt;br /&gt;
=== 9.2 Exemple de code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define POT_PIN A0&lt;br /&gt;
#define LED1 D2&lt;br /&gt;
#define LED2 D3&lt;br /&gt;
#define LED3 D4&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(LED1, OUTPUT);&lt;br /&gt;
  pinMode(LED2, OUTPUT);&lt;br /&gt;
  pinMode(LED3, OUTPUT);&lt;br /&gt;
  Serial.println(&amp;quot;Throttle gauge ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int value = analogRead(POT_PIN);&lt;br /&gt;
&lt;br /&gt;
  if (value &amp;lt; 50) {&lt;br /&gt;
    digitalWrite(LED1, LOW);&lt;br /&gt;
    digitalWrite(LED2, LOW);&lt;br /&gt;
    digitalWrite(LED3, LOW);&lt;br /&gt;
  } else if (value &amp;lt; 2000) {&lt;br /&gt;
    digitalWrite(LED1, HIGH);&lt;br /&gt;
    digitalWrite(LED2, LOW);&lt;br /&gt;
    digitalWrite(LED3, LOW);&lt;br /&gt;
  } else if (value &amp;lt; 4000) {&lt;br /&gt;
    digitalWrite(LED1, HIGH);&lt;br /&gt;
    digitalWrite(LED2, HIGH);&lt;br /&gt;
    digitalWrite(LED3, LOW);&lt;br /&gt;
  } else {&lt;br /&gt;
    digitalWrite(LED1, HIGH);&lt;br /&gt;
    digitalWrite(LED2, HIGH);&lt;br /&gt;
    digitalWrite(LED3, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Potentiometer value: &amp;quot;);&lt;br /&gt;
  Serial.println(value);&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10. Bus CAN : pourquoi l’utiliser ? ==&lt;br /&gt;
&lt;br /&gt;
Le bus CAN est utilisé pour faire communiquer la carte principale STM32 Nucleo avec les modules moteurs.&lt;br /&gt;
&lt;br /&gt;
Il présente plusieurs avantages pour la maquette :&lt;br /&gt;
&lt;br /&gt;
* réduction du câblage ;&lt;br /&gt;
* meilleure robustesse face aux parasites ;&lt;br /&gt;
* communication différentielle sur CAN_H et CAN_L ;&lt;br /&gt;
* architecture multipoint ;&lt;br /&gt;
* possibilité d’ajouter des modules sans refaire toute l’architecture ;&lt;br /&gt;
* priorité des messages grâce aux identifiants CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f5f9fb; border-left:6px solid #0b4f6c; padding:16px; margin:20px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Pourquoi le CAN est important :''' les moteurs et les modules de puissance génèrent des perturbations électriques.&lt;br /&gt;
Le bus CAN est mieux adapté qu’une liaison simple ou qu’un câblage en étoile pour une maquette distribuée.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SN65HVD230_CAN_transceiver.png|center|500px|thumb|Transceiver CAN SN65HVD230 utilisé pour la communication entre STM32 et modules déportés.]]&lt;br /&gt;
&lt;br /&gt;
== 11. Test CAN en mode loopback ==&lt;br /&gt;
&lt;br /&gt;
Le mode loopback permet de vérifier que le contrôleur CAN fonctionne sans dépendre immédiatement d’un autre module.&lt;br /&gt;
&lt;br /&gt;
Le test consiste à :&lt;br /&gt;
&lt;br /&gt;
# configurer les broches D14 / D15 ;&lt;br /&gt;
# initialiser le CAN à 500 kbps ;&lt;br /&gt;
# envoyer une trame ;&lt;br /&gt;
# recevoir la même trame en retour ;&lt;br /&gt;
# afficher le résultat dans le moniteur série.&lt;br /&gt;
&lt;br /&gt;
=== 11.1 Paramètres principaux ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Paramètre&lt;br /&gt;
! Valeur utilisée&lt;br /&gt;
|-&lt;br /&gt;
| TX&lt;br /&gt;
| D14 / PB9&lt;br /&gt;
|-&lt;br /&gt;
| RX&lt;br /&gt;
| D15 / PB8&lt;br /&gt;
|-&lt;br /&gt;
| Débit&lt;br /&gt;
| 500 kbps&lt;br /&gt;
|-&lt;br /&gt;
| Mode&lt;br /&gt;
| Loopback&lt;br /&gt;
|-&lt;br /&gt;
| Identifiant de test&lt;br /&gt;
| 0x123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 11.2 Résultat attendu ===&lt;br /&gt;
&lt;br /&gt;
Le moniteur série doit afficher une réception de données.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SUCCESS: CAN uses D14/D15&lt;br /&gt;
Sending...&lt;br /&gt;
RECEIVED! Data: 1 2 3 4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 12. Architecture distribuée de la maquette ==&lt;br /&gt;
&lt;br /&gt;
L’architecture retenue sépare la commande et la puissance.&lt;br /&gt;
&lt;br /&gt;
La STM32 Nucleo ne pilote pas directement tous les moteurs.  &lt;br /&gt;
Elle envoie des ordres à des BluePills, qui pilotent localement les modules L298N.&lt;br /&gt;
&lt;br /&gt;
=== 12.1 Chaîne fonctionnelle ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; margin:24px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display:inline-block; text-align:left; background:#f5f9fb; border:1px solid #c8dde6; border-radius:10px; padding:16px;&amp;quot;&amp;gt;&lt;br /&gt;
Joystick / capteurs&lt;br /&gt;
        ↓&lt;br /&gt;
STM32 Nucleo F446RE&lt;br /&gt;
        ↓ Bus CAN&lt;br /&gt;
SN65HVD230&lt;br /&gt;
        ↓&lt;br /&gt;
BluePill STM32F103&lt;br /&gt;
        ↓ PWM + direction&lt;br /&gt;
L298N&lt;br /&gt;
        ↓&lt;br /&gt;
Moteurs DC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 12.2 Rôle de chaque niveau ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Niveau&lt;br /&gt;
! Fonction&lt;br /&gt;
|-&lt;br /&gt;
| STM32 Nucleo&lt;br /&gt;
| Décision, consigne, stratégie de vol, coordination&lt;br /&gt;
|-&lt;br /&gt;
| Bus CAN&lt;br /&gt;
| Transport fiable des messages vers les modules&lt;br /&gt;
|-&lt;br /&gt;
| BluePill&lt;br /&gt;
| Exécution locale, génération PWM, pilotage moteur&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Amplification de puissance et inversion de sens&lt;br /&gt;
|-&lt;br /&gt;
| Moteurs&lt;br /&gt;
| Action physique observable sur la maquette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MiniBee_schema_branchement_STM32_CAN_Bluepill_L298N.png|center|900px|thumb|Schéma de principe de l’architecture STM32, CAN, BluePill et L298N.]]&lt;br /&gt;
&lt;br /&gt;
== 13. Exemple de branchements maquette ==&lt;br /&gt;
&lt;br /&gt;
Les documents de référence indiquent une organisation répétable par branche moteur.&lt;br /&gt;
&lt;br /&gt;
=== 13.1 STM32 vers CAN principal ===&lt;br /&gt;
&lt;br /&gt;
* TX / D1 de la STM32 vers TX du CAN principal.&lt;br /&gt;
* RX / D0 de la STM32 vers RX du CAN principal.&lt;br /&gt;
* GND de la STM32 vers GND du CAN principal.&lt;br /&gt;
* 3.3 V de la STM32 vers 3.3 V du CAN principal.&lt;br /&gt;
&lt;br /&gt;
=== 13.2 CAN principal vers modules CAN ===&lt;br /&gt;
&lt;br /&gt;
Pour chaque branche :&lt;br /&gt;
&lt;br /&gt;
* CANH vers CANH ;&lt;br /&gt;
* CANL vers CANL.&lt;br /&gt;
&lt;br /&gt;
=== 13.3 CAN vers BluePill ===&lt;br /&gt;
&lt;br /&gt;
* CANTX vers A7 de la BluePill.&lt;br /&gt;
* CANRX vers B1 de la BluePill.&lt;br /&gt;
&lt;br /&gt;
=== 13.4 BluePill vers L298N ===&lt;br /&gt;
&lt;br /&gt;
* B8 vers ENA.&lt;br /&gt;
* B7 vers IN1.&lt;br /&gt;
* B6 vers IN2.&lt;br /&gt;
* B5 vers IN3.&lt;br /&gt;
* B4 vers IN4.&lt;br /&gt;
* B3 vers ENB.&lt;br /&gt;
&lt;br /&gt;
=== 13.5 L298N vers moteurs ===&lt;br /&gt;
&lt;br /&gt;
* OUT1 / OUT2 vers le premier moteur DC.&lt;br /&gt;
* OUT3 / OUT4 vers le second moteur DC.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MiniBee_montage_maquette_STM32_CAN_L298N.jpg|center|750px|thumb|Montage physique de la maquette avec STM32, CAN, BluePill, L298N et moteurs DC.]]&lt;br /&gt;
&lt;br /&gt;
== 14. Exemple de code maître STM32 ==&lt;br /&gt;
&lt;br /&gt;
Ce code illustre le principe : la STM32 envoie une consigne de vitesse à plusieurs BluePills via le bus CAN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define HAL_CAN_MODULE_ENABLED&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, ALT);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Serial.println(&amp;quot;Mini-Bee master ready&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  static uint8_t speed = 0;&lt;br /&gt;
  static bool increasing = true;&lt;br /&gt;
&lt;br /&gt;
  for (int id = 0x101; id &amp;lt;= 0x104; id++) {&lt;br /&gt;
    CAN_message_t msg;&lt;br /&gt;
    msg.id = id;&lt;br /&gt;
    msg.len = 2;&lt;br /&gt;
    msg.buf[0] = speed;&lt;br /&gt;
    msg.buf[1] = speed;&lt;br /&gt;
    Can1.write(msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (increasing) {&lt;br /&gt;
    speed += 5;&lt;br /&gt;
  } else {&lt;br /&gt;
    speed -= 5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speed &amp;gt;= 250 || speed &amp;lt;= 0) {&lt;br /&gt;
    increasing = !increasing;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 15. Exemple de code BluePill esclave ==&lt;br /&gt;
&lt;br /&gt;
Chaque BluePill possède un identifiant unique.  &lt;br /&gt;
Elle ne traite que les messages CAN qui lui sont destinés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;STM32_CAN.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NODE_ID 0x101&lt;br /&gt;
&lt;br /&gt;
#define ENA_PIN PB8&lt;br /&gt;
#define IN1_PIN PB7&lt;br /&gt;
#define IN2_PIN PB6&lt;br /&gt;
#define IN3_PIN PB5&lt;br /&gt;
#define IN4_PIN PB4&lt;br /&gt;
#define ENB_PIN PB3&lt;br /&gt;
&lt;br /&gt;
STM32_CAN Can1(CAN1, DEF);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ENA_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN1_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN2_PIN, OUTPUT);&lt;br /&gt;
  pinMode(ENB_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN3_PIN, OUTPUT);&lt;br /&gt;
  pinMode(IN4_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Can1.begin();&lt;br /&gt;
  Can1.setBaudRate(500000);&lt;br /&gt;
  Can1.setFilter(0, NODE_ID, 0x7FF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void driveMotors(uint8_t spd1, uint8_t spd2) {&lt;br /&gt;
  analogWrite(ENA_PIN, spd1);&lt;br /&gt;
  digitalWrite(IN1_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN2_PIN, LOW);&lt;br /&gt;
&lt;br /&gt;
  analogWrite(ENB_PIN, spd2);&lt;br /&gt;
  digitalWrite(IN3_PIN, HIGH);&lt;br /&gt;
  digitalWrite(IN4_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  CAN_message_t msg_rx;&lt;br /&gt;
&lt;br /&gt;
  if (Can1.read(msg_rx)) {&lt;br /&gt;
    if (msg_rx.id == NODE_ID) {&lt;br /&gt;
      driveMotors(msg_rx.buf[0], msg_rx.buf[1]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 16. Lien avec les futures lois de commande ==&lt;br /&gt;
&lt;br /&gt;
Ces exercices ne sont pas seulement pédagogiques.  &lt;br /&gt;
Ils préparent directement la logique du Flight Control Unit.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Exercice&lt;br /&gt;
! Compétence acquise&lt;br /&gt;
! Application FCU&lt;br /&gt;
|-&lt;br /&gt;
| LED&lt;br /&gt;
| Sortie numérique&lt;br /&gt;
| Signal d’état, diagnostic, alerte&lt;br /&gt;
|-&lt;br /&gt;
| Joystick numérique&lt;br /&gt;
| Lecture d’ordre simple&lt;br /&gt;
| Boutons, modes, commandes discrètes&lt;br /&gt;
|-&lt;br /&gt;
| Joystick analogique&lt;br /&gt;
| Lecture proportionnelle&lt;br /&gt;
| Consigne pilote progressive&lt;br /&gt;
|-&lt;br /&gt;
| Potentiomètre&lt;br /&gt;
| Lecture ADC&lt;br /&gt;
| Simulation de throttle ou jauge de poussée&lt;br /&gt;
|-&lt;br /&gt;
| Pont en H&lt;br /&gt;
| Commande moteur&lt;br /&gt;
| Sens, vitesse, arrêt moteur&lt;br /&gt;
|-&lt;br /&gt;
| CAN loopback&lt;br /&gt;
| Communication robuste&lt;br /&gt;
| Validation du bus de commande&lt;br /&gt;
|-&lt;br /&gt;
| CAN + L298N&lt;br /&gt;
| Ordre numérique vers action moteur&lt;br /&gt;
| Architecture distribuée Mini-Bee&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 17. Bonnes pratiques de démarrage ==&lt;br /&gt;
&lt;br /&gt;
Avant de lancer un test moteur :&lt;br /&gt;
&lt;br /&gt;
* vérifier le câblage GND commun ;&lt;br /&gt;
* vérifier les alimentations 3.3 V, 5 V et puissance moteur ;&lt;br /&gt;
* tester d’abord sans hélice ;&lt;br /&gt;
* limiter la vitesse au début ;&lt;br /&gt;
* utiliser le moniteur série ;&lt;br /&gt;
* documenter chaque branche moteur ;&lt;br /&gt;
* numéroter les BluePills ;&lt;br /&gt;
* noter les identifiants CAN ;&lt;br /&gt;
* conserver une version du code stable avant modification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff1f1; border:1px solid #d99; border-radius:10px; padding:16px; margin:20px 0;&amp;quot;&amp;gt;&lt;br /&gt;
'''Sécurité :''' les tests moteurs doivent être réalisés sans hélices lors des premières validations.&lt;br /&gt;
Une erreur de code, de sens moteur ou de câblage peut déclencher un mouvement imprévu.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 18. Perspectives pour la suite ==&lt;br /&gt;
&lt;br /&gt;
La prise en main logicielle STM32 ouvre la voie aux travaux suivants :&lt;br /&gt;
&lt;br /&gt;
* intégration complète du bus CAN sur toutes les branches ;&lt;br /&gt;
* validation de la commande moteur distribuée ;&lt;br /&gt;
* synchronisation des moteurs ;&lt;br /&gt;
* lecture des capteurs inertiels ;&lt;br /&gt;
* intégration d’un correcteur PID ;&lt;br /&gt;
* stabilisation roll / pitch / yaw ;&lt;br /&gt;
* test des cas de vol : décollage, stationnaire, montée, descente, virage et arrêt d’urgence.&lt;br /&gt;
&lt;br /&gt;
Le travail réalisé constitue donc une base de reprise pour les futurs groupes.  &lt;br /&gt;
Il permet de passer d’exercices simples à une architecture de contrôle réellement exploitable sur la maquette Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
== 19. Visuels recommandés pour cette page ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Visuel&lt;br /&gt;
! Source recommandée&lt;br /&gt;
! Utilisation dans la page&lt;br /&gt;
|-&lt;br /&gt;
| Capture installation bibliothèque STM32duino&lt;br /&gt;
| Rapport codes et exercices, page installation&lt;br /&gt;
| Section 4&lt;br /&gt;
|-&lt;br /&gt;
| Configuration Nucleo-64 / F446RE dans Arduino IDE&lt;br /&gt;
| Rapport codes et exercices, page configuration&lt;br /&gt;
| Section 4.2&lt;br /&gt;
|-&lt;br /&gt;
| Montage LED + breadboard&lt;br /&gt;
| Rapport codes et exercices, exercice LED&lt;br /&gt;
| Section 5&lt;br /&gt;
|-&lt;br /&gt;
| Montage joystick&lt;br /&gt;
| Rapport codes et exercices, exercice joystick&lt;br /&gt;
| Section 6&lt;br /&gt;
|-&lt;br /&gt;
| Transceiver CAN SN65HVD230&lt;br /&gt;
| Rapport codes et exercices, section bus CAN&lt;br /&gt;
| Section 10&lt;br /&gt;
|-&lt;br /&gt;
| BluePill&lt;br /&gt;
| Rapport codes et exercices, section BluePill&lt;br /&gt;
| Section 12&lt;br /&gt;
|-&lt;br /&gt;
| L298N&lt;br /&gt;
| Rapport codes et exercices, section L298N&lt;br /&gt;
| Section 8 ou 12&lt;br /&gt;
|-&lt;br /&gt;
| Schéma de branchement maquette&lt;br /&gt;
| Rapport codes et exercices, montage maquette&lt;br /&gt;
| Section 13&lt;br /&gt;
|-&lt;br /&gt;
| Architecture FCU&lt;br /&gt;
| Soutenance FCU Mini-Bee&lt;br /&gt;
| Section 2 ou 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 20. Conclusion ==&lt;br /&gt;
&lt;br /&gt;
La STM32 est le point d’entrée logiciel du Flight Control Unit Mini-Bee.&lt;br /&gt;
&lt;br /&gt;
En partant d’exercices simples — LED, joystick, potentiomètre, moteur — on construit progressivement les briques nécessaires à une architecture de vol distribuée :&lt;br /&gt;
&lt;br /&gt;
* acquisition des consignes ;&lt;br /&gt;
* traitement logiciel ;&lt;br /&gt;
* communication CAN ;&lt;br /&gt;
* délégation locale aux BluePills ;&lt;br /&gt;
* pilotage de puissance par L298N ;&lt;br /&gt;
* commande synchronisée des moteurs.&lt;br /&gt;
&lt;br /&gt;
Cette progression rend le système compréhensible, testable et améliorable.  &lt;br /&gt;
Elle facilite la reprise du projet par de nouveaux contributeurs et prépare les prochaines étapes de stabilisation du Mini-Bee.&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2006</id>
		<title>FCU multicopter hybrid</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2006"/>
		<updated>2026-05-22T09:24:44Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''Flight Control Unit''', or '''FCU''', is the flight control computer of a [[hybrid multicopter]]. In this type of aircraft, energy comes from a piston engine feeding a distributed propulsion architecture with fixed-pitch vertical-thrust propellers. The FCU translates pilot commands into safe, stable, and efficient flight behavior. It distributes power between the rotors, keeps the aircraft balanced, continuously monitors onboard sensors, corrects deviations caused by wind or system anomalies, and manages warnings as well as emergency procedures.&lt;br /&gt;
Unlike a conventional helicopter, where the pilot directly manages much of the aircraft response, or a fully electric VTOL focused mainly on battery management, the FCU of a hybrid multicopter must simultaneously stabilize flight and coordinate a more complex propulsion system.&lt;br /&gt;
{{Infobox&lt;br /&gt;
| title  = FCU — Hybrid Multicopter&lt;br /&gt;
| Source = Cahier des charges — Flight Control Unit of a Hybrid Multicopter&lt;br /&gt;
| Author = Chérif Hidoussi&lt;br /&gt;
| Reviewer = Xavier Dutertre&lt;br /&gt;
| Date   = 2024-11-08&lt;br /&gt;
}}&lt;br /&gt;
[[File:20241108 Cahier de charge FCU VTOL V2.pdf]]&lt;br /&gt;
TOC&lt;br /&gt;
== Overview ==&lt;br /&gt;
This specification defines the functional and technical requirements for a Flight Control Unit (FCU) that controls a '''hybrid multicopter''' — an aircraft powered by a single piston engine driving electric generation, with fixed-pitch vertical-thrust propellers (no tilt rotor). The reference design uses around 60 rotors.&lt;br /&gt;
The goal is a flight control system that is '''safe, reliable, and efficient''', suitable for the multicopter's operational needs across takeoff, stable flight, maneuvers, and emergency procedures.&lt;br /&gt;
=== Target applications ===&lt;br /&gt;
&lt;br /&gt;
'''Light air ambulance''' — transport of a stabilized patient (no winching). The pilot may be the doctor or stretcher-bearer, seated on the left; the patient is a passenger and does not fly the aircraft.&lt;br /&gt;
'''Tourism''' — one pilot (left seat); the second person is a passenger with controls disabled.&lt;br /&gt;
'''Pilot training''' — both left and right control sets are active.&lt;br /&gt;
&lt;br /&gt;
=== Certification target ===&lt;br /&gt;
CS 27 (small helicopter) or EASA VTOL (a relatively new certification path as of 2024).&lt;br /&gt;
== What makes this FCU different ==&lt;br /&gt;
Unlike a traditional helicopter (single variable-pitch rotor, often pilot-controlled directly or via fly-by-wire) or a fully electric VTOL (Volocopter, Lilium, Joby — where battery management is central), this aircraft relies on '''a single, less powerful piston engine'''.&lt;br /&gt;
Because there is no redundant second engine, the aircraft carries a '''whole-aircraft rescue parachute''' to handle total engine loss, allowing it to land without any flight control. Stabilization and control methods must therefore be adapted to this single-engine hybrid configuration.&lt;br /&gt;
=== Pilot controls and flight axes ===&lt;br /&gt;
The pilot uses a '''right-hand joystick'''. The three flight axes are:&lt;br /&gt;
&lt;br /&gt;
'''Pitch''' (''tangage'')&lt;br /&gt;
'''Roll''' (''roulis'')&lt;br /&gt;
'''Yaw''' (''lacet'')&lt;br /&gt;
&lt;br /&gt;
== The 10 operating cases ==&lt;br /&gt;
The specification breaks FCU behavior down into distinct flight scenarios, each with defined inputs, outputs, and rules. For clarity, vertical climb and vertical descent are presented here as two separate cases, even though they are grouped together in the original requirements document.&lt;br /&gt;
=== Case 1 — Progressive takeoff ===&lt;br /&gt;
As the pilot raises the throttle, engine speed and available electrical power increase, spinning the rotors faster until the aircraft lifts off. The FCU distributes power evenly across all rotors to keep the aircraft level and lifting vertically. It manages progressive power increase, automatic tilt correction (e.g. wind gusts or a failed rotor), continuous sensor monitoring, climb-rate limiting, motor-saturation prevention, altitude and vertical-speed control, and alarm generation for abnormal conditions.&lt;br /&gt;
=== Case 2 — Stabilized hover ===&lt;br /&gt;
Pressing the red push/pull stop button on the joystick holds the aircraft stationary in the air with a fixed heading. The FCU uses positioning and altitude sensors to maintain position and altitude, correcting for wind drift. It handles fallback cases such as GPS dropout (switching to inertial mode), rotor performance loss (redistributing power), logs the stop event, manages subsequent pilot commands (restart/resume), and can disable automatic functions (e.g. auto-follow, return-to-home) temporarily or permanently.&lt;br /&gt;
=== Case 3 — Vertical climb ===&lt;br /&gt;
With the stop button engaged and joystick centered, the pilot presses climb. The FCU increases motor power proportionally so the aircraft climbs along its vertical axis while preserving trajectory control, stability, and motor availability. It maintains stability against wind, monitors altitude, and handles emergencies such as a motor jam during climb or an obstacle triggering an emergency climb.&lt;br /&gt;
=== Case 4 — Vertical descent ===&lt;br /&gt;
The same principle applies during descent. The FCU reduces motor power proportionally to keep the aircraft stable and on a controlled vertical path down to the target altitude, compensating for wind. It manages emergencies such as motor overheat (progressive power reduction) or power loss (emergency descent protocols).&lt;br /&gt;
=== Case 5 — Yaw rotation on the spot ===&lt;br /&gt;
With the stop button pressed, turning the joystick left or right rotates the aircraft about its vertical axis. The FCU modulates individual rotor speeds to produce accurate yaw motion — keeping pitch = 0, roll = 0, and altitude constant — without excessive drift or loss of control. It respects the aircraft's operational limits and handles faults such as gyro failure or loss of yaw authority. Returning the joystick to center reverts to the Case 2 hover.&lt;br /&gt;
=== Case 6 — Straight forward flight ===&lt;br /&gt;
Pressing the forward button with the joystick centered, the pilot adjusts throttle to hold altitude. The FCU generates a pitch command to tilt the aircraft forward for horizontal thrust, controls attitude in real time, compensates for disturbances (gusts, front-rotor loss, speed-sensor failure), manages propulsion and thrust distribution to hold the target speed, and respects pitch-angle limits to prevent stall or instability.&lt;br /&gt;
=== Case 7 — Turning while moving forward ===&lt;br /&gt;
With forward already engaged, turning the joystick makes the FCU coordinate roll, yaw, and power management to perform a balanced right or left turn at constant speed and altitude. It differentiates motor power side-to-side to bank the aircraft, caps the maximum bank angle (with pilot alerts and automatic intervention if exceeded), compensates altitude loss from banking, and returns the aircraft smoothly to stable flight after the turn.&lt;br /&gt;
=== Case 8 — Turning while climbing or descending ===&lt;br /&gt;
In a more complex maneuver, combining throttle (climb/descent) with a joystick turn, the FCU analyzes the trajectory, calculates the required bank angle while accounting for changing gravitational load, redistributes motor power, manages attitude and vertical speed, compensates for wind, and maintains reinforced sensor and safety-system monitoring throughout.&lt;br /&gt;
=== Case 9 — In-flight emergency stop with parachute deployment ===&lt;br /&gt;
For critical failures (piston engine, generator/Emrax, flight computers, or many rotors), the pilot presses the red emergency button. The FCU's logic: if the emergency button is pressed and the parachute is not yet deployed, it triggers the parachute. Once deployed, it stops all rotors and shuts down systems — though it may keep a few rotors running at adjusted power to keep the aircraft level during the parachute descent. It continues monitoring critical systems (sensors, batteries, controls) and transmits the emergency situation, location, and flight conditions to ground operators to aid recovery.&lt;br /&gt;
=== Case 10 — Final shutdown on the ground ===&lt;br /&gt;
After landing, pressing the &amp;quot;shut down&amp;quot; button makes the FCU confirm the order, progressively deactivate onboard systems (non-essential first, then flight-critical), cut electrical power to the motors and components, and confirm safe shutdown to the pilot interface. Backup procedures cover faults such as a motor not responding to shutdown, overheating during shutdown, or a non-functional shutdown button.&lt;br /&gt;
== Cross-cutting concerns ==&lt;br /&gt;
=== Sensor and system monitoring ===&lt;br /&gt;
The FCU continuously collects and validates data from gyroscopes, accelerometers, and barometers (plus GPS) to compute motor commands, orientation adjustments, and telemetry. It detects sensor anomalies, falls back to redundant or backup data, and logs critical flight data for post-flight analysis.&lt;br /&gt;
=== Power management and safety ===&lt;br /&gt;
Dynamic power balancing prevents motor overload, especially during power transitions in climb and descent. Maximum power limits protect against overheating and damage, climb-rate limits prevent excessive reactions, and saturation prevention preserves control margin.&lt;br /&gt;
=== Alarms and warnings ===&lt;br /&gt;
Abnormal conditions trigger graded visual or audible alerts on the radio-control display, designed with ergonomics and pilot workload in mind, and built with redundancy for reliability.&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
The FCU is a core technology for the missions targeted by a hybrid multicopter, including light air ambulance operations, tourism, and pilot training. Without it, distributed propulsion would be difficult to operate safely and reliably. With it, the aircraft can take off, hover, move forward, turn, handle emergencies, and shut down in a controlled way while maintaining a high level of operational safety.&lt;br /&gt;
== Sections not yet detailed ==&lt;br /&gt;
The specification reserves (but does not yet fully populate) sections on:&lt;br /&gt;
&lt;br /&gt;
'''Testing and validation''' — test methodology and scenarios covering standard flight and emergencies.&lt;br /&gt;
'''Maintenance and support''' — preventive/corrective maintenance, spare parts, manuals, and manufacturer technical support.&lt;br /&gt;
'''Schedule and budget''' — development/delivery timeline and cost estimates for design, manufacturing, and certification.&lt;br /&gt;
&lt;br /&gt;
== Reference projects ==&lt;br /&gt;
&lt;br /&gt;
'''Mini-Bee''' ([https://www.mini-bee.com mini-bee.com]) — Rotax 915is/916is piston engine (~140 hp).&lt;br /&gt;
'''Workhorse SureFly''' — Honda engine (~200 hp).&lt;br /&gt;
'''Zephyr helicopter''' — cited as the first helicopter with a parachute rescue system.&lt;br /&gt;
&lt;br /&gt;
{{Note|The original document states it was partially drafted with the help of ChatGPT.}}&lt;br /&gt;
[[Category:Flight Control]]&lt;br /&gt;
[[Category:Hybrid Multicopter]]&lt;br /&gt;
[[Category:Avionics]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:20241108_Cahier_de_charge_FCU_VTOL_V2.pdf&amp;diff=2005</id>
		<title>File:20241108 Cahier de charge FCU VTOL V2.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:20241108_Cahier_de_charge_FCU_VTOL_V2.pdf&amp;diff=2005"/>
		<updated>2026-05-22T09:20:20Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This specification defines the Flight Control Unit (FCU) for a hybrid multicopter, powered by a single piston engine driving electric generation, with around 60 fixed-pitch rotors. Target applications are light air ambulance, tourism, and pilot training, with CS 27 or EASA VTOL certification. Lacking a second engine, the aircraft carries a rescue parachute for total engine failure. The pilot commands via a right-hand joystick (pitch, roll, yaw). The core of the document covers nine flight cases: manual takeoff, hover (stop button), vertical climb/descent, yaw rotation, straight-line forward flight, turns, climbing/descending turns, emergency stop with parachute, and final ground shutdown. Each case defines inputs, outputs, and rules. The FCU continuously monitors gyroscopes, accelerometers, and barometers to distribute power, stabilize the aircraft, and generate alerts. Dynamic power management prevents motor overload during transitions. The testing, maintenance, and budget sections remain to be completed. Reference projects: Mini-Bee&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2004</id>
		<title>FCU multicopter hybrid</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2004"/>
		<updated>2026-05-22T09:19:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Flight Control Unit, or FCU, is the flight control computer of a hybrid multicopter. In this type of aircraft, energy comes from a piston engine feeding a distributed propulsion architecture with fixed-pitch vertical-thrust propellers. The FCU translates pilot commands into safe, stable, and efficient flight behavior. It distributes power between the rotors, keeps the aircraft balanced, continuously monitors onboard sensors, corrects deviations caused by wind or system anomalies, and manages warnings as well as emergency procedures. Unlike a conventional helicopter, where the pilot directly manages much of the aircraft response, or a fully electric VTOL focused mainly on battery management, the FCU of a hybrid multicopter must simultaneously stabilize flight and coordinate a more complex propulsion system.&lt;br /&gt;
&lt;br /&gt;
10 Operating Cases, from the Simplest to the Most Complex&lt;br /&gt;
&lt;br /&gt;
For clarity, vertical climb and vertical descent are presented here as two separate cases, even though they are grouped together in the original FCU requirements document.&lt;br /&gt;
&lt;br /&gt;
1. Progressive takeoff&lt;br /&gt;
When the pilot increases throttle, the FCU distributes power across the rotors so the aircraft lifts vertically while remaining level, limiting climb rate and preventing motor saturation.&lt;br /&gt;
&lt;br /&gt;
2. Stabilized hover&lt;br /&gt;
When hover mode is requested, the FCU uses sensor data to maintain position and altitude, even in the presence of wind or drift.&lt;br /&gt;
&lt;br /&gt;
3. Vertical climb&lt;br /&gt;
The FCU adjusts thrust so the aircraft climbs along its vertical axis while preserving trajectory control, stability, and motor availability.&lt;br /&gt;
&lt;br /&gt;
4. Vertical descent&lt;br /&gt;
The same principle applies during descent: the FCU regulates power to keep the aircraft stable and on a controlled vertical path down to the target altitude.&lt;br /&gt;
&lt;br /&gt;
5. Yaw rotation on the spot&lt;br /&gt;
When the pilot commands rotation about the vertical axis, the FCU modulates rotor power to produce accurate yaw motion without excessive drift or loss of control.&lt;br /&gt;
&lt;br /&gt;
6. Straight forward flight&lt;br /&gt;
When a forward command is given, the FCU generates a pitch command and adapts rotor power so the aircraft moves ahead in a stable, controlled way.&lt;br /&gt;
&lt;br /&gt;
7. Turning while moving forward&lt;br /&gt;
The FCU combines roll, yaw, and power management to perform a coordinated right or left turn during forward flight.&lt;br /&gt;
&lt;br /&gt;
8. Turning while climbing&lt;br /&gt;
In a more complex maneuver, the FCU must manage the turn, altitude increase, and reinforced sensor monitoring at the same time to maintain safety and stability.&lt;br /&gt;
&lt;br /&gt;
9. In-flight emergency stop with parachute deployment&lt;br /&gt;
In a critical failure, the FCU detects the emergency, confirms parachute deployment logic, stops or manages the rotors as required, continues monitoring critical systems, and issues the alerts needed to secure descent.&lt;br /&gt;
&lt;br /&gt;
10. Final shutdown on the ground&lt;br /&gt;
After landing, when the pilot commands shutdown, the FCU confirms the instruction, prepares the aircraft for a safe stop, and cuts the motors according to a controlled sequence.&lt;br /&gt;
&lt;br /&gt;
Why it Matters&lt;br /&gt;
&lt;br /&gt;
The FCU is a core technology for the missions targeted by a hybrid multicopter, including light air ambulance operations, tourism, and pilot training. Without it, distributed propulsion would be difficult to operate safely and reliably. With it, the aircraft can take off, hover, move forward, turn, handle emergencies, and shut down in a controlled way while maintaining a high level of operational safety.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:20241108 Cahier de charge FCU VTOL V2.pdf]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Flight Control Unit (FCU) for a Hybrid Multicopter — Specification Summary&lt;br /&gt;
&lt;br /&gt;
*Source: Cahier des charges — Flight Control Unit of a Hybrid Multicopter (Author: Chérif Hidoussi, Reviewer: Xavier Dutertre, 2024-11-08)*&lt;br /&gt;
&lt;br /&gt;
## Overview&lt;br /&gt;
&lt;br /&gt;
This document specifies the functional and technical requirements for a **Flight Control Unit (FCU)** that controls a **hybrid multicopter** — an aircraft powered by a single piston engine driving electric generation, with fixed-pitch vertical-thrust propellers (no tilt rotor). The reference design uses around 60 rotors.&lt;br /&gt;
&lt;br /&gt;
The goal is a flight control system that is **safe, reliable, and efficient**, suitable for the multicopter's operational needs across takeoff, stable flight, maneuvers, and emergency procedures.&lt;br /&gt;
&lt;br /&gt;
### Target applications&lt;br /&gt;
- **Light air ambulance** — transport of a stabilized patient (no winching). The pilot may be the doctor/stretcher-bearer, seated on the left; the patient is a passenger and does not fly the aircraft.&lt;br /&gt;
- **Tourism** — one pilot (left seat); the second person is a passenger with controls disabled.&lt;br /&gt;
- **Pilot training** — both left and right control sets are active.&lt;br /&gt;
&lt;br /&gt;
### Certification target&lt;br /&gt;
CS 27 (small helicopter) or EASA VTOL (a relatively new certification path as of 2024).&lt;br /&gt;
&lt;br /&gt;
## What makes this FCU different&lt;br /&gt;
&lt;br /&gt;
Unlike a traditional helicopter (single variable-pitch rotor, often pilot-controlled directly or via fly-by-wire) or a fully electric VTOL (Volocopter, Lilium, Joby — where battery management is central), this aircraft relies on **a single, less powerful piston engine**. Because there is no redundant second engine, the aircraft carries a **whole-aircraft rescue parachute** to handle total engine loss, allowing it to land without any flight control. Stabilization and control methods must therefore be adapted to this single-engine hybrid configuration.&lt;br /&gt;
&lt;br /&gt;
### Pilot controls and flight axes&lt;br /&gt;
The pilot uses a **right-hand joystick**. The three flight axes are pitch (tangage), roll (roulis), and yaw (lacet).&lt;br /&gt;
&lt;br /&gt;
## Functional requirements by use case&lt;br /&gt;
&lt;br /&gt;
The specification breaks FCU behavior down into distinct flight scenarios, each with defined inputs, outputs, and rules.&lt;br /&gt;
&lt;br /&gt;
**Case 1 — Takeoff (throttle increased by hand):** As the pilot raises the throttle, engine speed and available electrical power increase, spinning the rotors faster until the aircraft lifts off. The FCU distributes power evenly across all rotors to keep the aircraft level and lifting vertically. It manages progressive power increase, automatic tilt correction (e.g. wind gusts or a failed rotor), continuous sensor monitoring, climb-rate limiting, motor-saturation prevention, altitude and vertical-speed control, and alarm generation for abnormal conditions.&lt;br /&gt;
&lt;br /&gt;
**Case 2 — Hover via the stop button:** Pressing the red push/pull stop button on the joystick holds the aircraft stationary in the air with a fixed heading. The FCU uses positioning and altitude sensors to maintain position and altitude, correcting for wind drift. It handles fallback cases such as GPS dropout (switching to inertial mode), rotor performance loss (redistributing power), logs the stop event, manages subsequent pilot commands (restart/resume), and can disable automatic functions (e.g. auto-follow, return-to-home) temporarily or permanently.&lt;br /&gt;
&lt;br /&gt;
**Case 3 — Climb and descent around a vertical axis:** With the stop button engaged and joystick centered, the pilot presses climb or descent. The FCU detects the command, adjusts motor power proportionally (reducing for descent, increasing for climb), maintains stability against wind, monitors altitude, and handles emergencies (e.g. obstacle detection triggering emergency climb, motor overheat triggering controlled descent, motor jam during climb).&lt;br /&gt;
&lt;br /&gt;
**Case 4 — Hovering yaw rotation:** With the stop button pressed, turning the joystick left or right rotates the aircraft about its vertical axis. The FCU modulates individual rotor speeds to produce the required yaw torque while keeping pitch = 0, roll = 0, and altitude constant. It maintains stability against wind, respects the aircraft's operational limits, and handles faults (gyro failure, loss of yaw authority). Returning the joystick to center reverts to the Case 2 hover.&lt;br /&gt;
&lt;br /&gt;
**Case 5 — Straight-line forward flight:** Pressing the forward button with the joystick centered, the pilot adjusts throttle to hold altitude. The FCU generates pitch setpoints to tilt the aircraft forward for horizontal thrust, controls attitude in real time, compensates for disturbances (gusts, front-rotor loss, speed-sensor failure), manages propulsion and thrust distribution to hold the target speed, and respects pitch-angle limits to prevent stall or instability.&lt;br /&gt;
&lt;br /&gt;
**Case 6 — Turning while moving forward (left/right):** With forward already engaged, turning the joystick makes the FCU coordinate pitch and roll for a balanced turn at constant speed and altitude. It differentiates motor power side-to-side to bank the aircraft, caps the maximum bank angle (with pilot alerts and automatic intervention if exceeded), compensates altitude loss from banking, and returns the aircraft smoothly to stable flight after the turn.&lt;br /&gt;
&lt;br /&gt;
**Case 7 — Turning while climbing or descending:** Combining throttle (climb/descent) with a joystick turn, the FCU analyzes the trajectory, calculates the required bank angle while accounting for changing gravitational load, redistributes motor power, manages attitude and vertical speed, compensates for wind, and continuously monitors sensors and safety systems.&lt;br /&gt;
&lt;br /&gt;
**Case 8 — In-flight emergency stop and parachute deployment:** For critical failures (piston engine, generator/Emrax, flight computers, or many rotors), the pilot presses the red emergency button. The FCU's logic: if the emergency button is pressed and the parachute is not yet deployed, it triggers the parachute. Once deployed, it stops all rotors and shuts down systems — though it may keep a few rotors running at adjusted power to keep the aircraft level during the parachute descent. It continues monitoring critical systems (sensors, batteries, controls) and transmits the emergency situation, location, and flight conditions to ground operators to aid recovery.&lt;br /&gt;
&lt;br /&gt;
**Case 10 — Final shutdown (power-off button):** On the ground after landing, pressing the &amp;quot;shut down&amp;quot; button makes the FCU confirm the order, progressively deactivate onboard systems (non-essential first, then flight-critical), cut electrical power to the motors and components, and confirm safe shutdown to the pilot interface. Backup procedures cover faults such as a motor not responding to shutdown, overheating during shutdown, or a non-functional shutdown button.&lt;br /&gt;
&lt;br /&gt;
## Cross-cutting concerns&lt;br /&gt;
&lt;br /&gt;
**Sensor and system monitoring:** The FCU continuously collects and validates data from gyroscopes, accelerometers, and barometers (plus GPS) to compute motor commands, orientation adjustments, and telemetry. It detects sensor anomalies, falls back to redundant or backup data, and logs critical flight data for post-flight analysis.&lt;br /&gt;
&lt;br /&gt;
**Power management and safety:** Dynamic power balancing prevents motor overload, especially during power transitions in climb and descent. Maximum power limits protect against overheating and damage, climb-rate limits prevent excessive reactions, and saturation prevention preserves control margin.&lt;br /&gt;
&lt;br /&gt;
**Alarms and warnings:** Abnormal conditions trigger graded visual or audible alerts on the radio-control display, designed with ergonomics and pilot workload in mind, and built with redundancy for reliability.&lt;br /&gt;
&lt;br /&gt;
## Document sections not yet detailed&lt;br /&gt;
&lt;br /&gt;
The specification reserves (but does not yet fully populate) sections on:&lt;br /&gt;
- **Testing and validation** — test methodology and scenarios covering standard flight and emergencies.&lt;br /&gt;
- **Maintenance and support** — preventive/corrective maintenance, spare parts, manuals, and manufacturer technical support.&lt;br /&gt;
- **Schedule and budget** — development/delivery timeline and cost estimates for design, manufacturing, and certification.&lt;br /&gt;
&lt;br /&gt;
## Reference projects&lt;br /&gt;
- **Mini-Bee** (mini-bee.com) — Rotax 915is/916is piston engine (~140 hp).&lt;br /&gt;
- **Workhorse SureFly** — Honda engine (~200 hp).&lt;br /&gt;
- **Zephyr helicopter** — cited as the first helicopter with a parachute rescue system.&lt;br /&gt;
&lt;br /&gt;
*Note: the original document states it was partially drafted with the help of ChatGPT.*&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2003</id>
		<title>FCU multicopter hybrid</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=FCU_multicopter_hybrid&amp;diff=2003"/>
		<updated>2026-05-22T09:18:40Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Flight Control Unit, or FCU, is the flight control computer of a hybrid multicopter. In this type of aircraft, energy comes from a piston engine feeding a distributed propulsion architecture with fixed-pitch vertical-thrust propellers. The FCU translates pilot commands into safe, stable, and efficient flight behavior. It distributes power between the rotors, keeps the aircraft balanced, continuously monitors onboard sensors, corrects deviations caused by wind or system anomalies, and manages warnings as well as emergency procedures. Unlike a conventional helicopter, where the pilot directly manages much of the aircraft response, or a fully electric VTOL focused mainly on battery management, the FCU of a hybrid multicopter must simultaneously stabilize flight and coordinate a more complex propulsion system.&lt;br /&gt;
&lt;br /&gt;
10 Operating Cases, from the Simplest to the Most Complex&lt;br /&gt;
&lt;br /&gt;
For clarity, vertical climb and vertical descent are presented here as two separate cases, even though they are grouped together in the original FCU requirements document.&lt;br /&gt;
&lt;br /&gt;
1. Progressive takeoff&lt;br /&gt;
When the pilot increases throttle, the FCU distributes power across the rotors so the aircraft lifts vertically while remaining level, limiting climb rate and preventing motor saturation.&lt;br /&gt;
&lt;br /&gt;
2. Stabilized hover&lt;br /&gt;
When hover mode is requested, the FCU uses sensor data to maintain position and altitude, even in the presence of wind or drift.&lt;br /&gt;
&lt;br /&gt;
3. Vertical climb&lt;br /&gt;
The FCU adjusts thrust so the aircraft climbs along its vertical axis while preserving trajectory control, stability, and motor availability.&lt;br /&gt;
&lt;br /&gt;
4. Vertical descent&lt;br /&gt;
The same principle applies during descent: the FCU regulates power to keep the aircraft stable and on a controlled vertical path down to the target altitude.&lt;br /&gt;
&lt;br /&gt;
5. Yaw rotation on the spot&lt;br /&gt;
When the pilot commands rotation about the vertical axis, the FCU modulates rotor power to produce accurate yaw motion without excessive drift or loss of control.&lt;br /&gt;
&lt;br /&gt;
6. Straight forward flight&lt;br /&gt;
When a forward command is given, the FCU generates a pitch command and adapts rotor power so the aircraft moves ahead in a stable, controlled way.&lt;br /&gt;
&lt;br /&gt;
7. Turning while moving forward&lt;br /&gt;
The FCU combines roll, yaw, and power management to perform a coordinated right or left turn during forward flight.&lt;br /&gt;
&lt;br /&gt;
8. Turning while climbing&lt;br /&gt;
In a more complex maneuver, the FCU must manage the turn, altitude increase, and reinforced sensor monitoring at the same time to maintain safety and stability.&lt;br /&gt;
&lt;br /&gt;
9. In-flight emergency stop with parachute deployment&lt;br /&gt;
In a critical failure, the FCU detects the emergency, confirms parachute deployment logic, stops or manages the rotors as required, continues monitoring critical systems, and issues the alerts needed to secure descent.&lt;br /&gt;
&lt;br /&gt;
10. Final shutdown on the ground&lt;br /&gt;
After landing, when the pilot commands shutdown, the FCU confirms the instruction, prepares the aircraft for a safe stop, and cuts the motors according to a controlled sequence.&lt;br /&gt;
&lt;br /&gt;
Why it Matters&lt;br /&gt;
&lt;br /&gt;
The FCU is a core technology for the missions targeted by a hybrid multicopter, including light air ambulance operations, tourism, and pilot training. Without it, distributed propulsion would be difficult to operate safely and reliably. With it, the aircraft can take off, hover, move forward, turn, handle emergencies, and shut down in a controlled way while maintaining a high level of operational safety.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Flight Control Unit (FCU) for a Hybrid Multicopter — Specification Summary&lt;br /&gt;
&lt;br /&gt;
*Source: Cahier des charges — Flight Control Unit of a Hybrid Multicopter (Author: Chérif Hidoussi, Reviewer: Xavier Dutertre, 2024-11-08)*&lt;br /&gt;
&lt;br /&gt;
## Overview&lt;br /&gt;
&lt;br /&gt;
This document specifies the functional and technical requirements for a **Flight Control Unit (FCU)** that controls a **hybrid multicopter** — an aircraft powered by a single piston engine driving electric generation, with fixed-pitch vertical-thrust propellers (no tilt rotor). The reference design uses around 60 rotors.&lt;br /&gt;
&lt;br /&gt;
The goal is a flight control system that is **safe, reliable, and efficient**, suitable for the multicopter's operational needs across takeoff, stable flight, maneuvers, and emergency procedures.&lt;br /&gt;
&lt;br /&gt;
### Target applications&lt;br /&gt;
- **Light air ambulance** — transport of a stabilized patient (no winching). The pilot may be the doctor/stretcher-bearer, seated on the left; the patient is a passenger and does not fly the aircraft.&lt;br /&gt;
- **Tourism** — one pilot (left seat); the second person is a passenger with controls disabled.&lt;br /&gt;
- **Pilot training** — both left and right control sets are active.&lt;br /&gt;
&lt;br /&gt;
### Certification target&lt;br /&gt;
CS 27 (small helicopter) or EASA VTOL (a relatively new certification path as of 2024).&lt;br /&gt;
&lt;br /&gt;
## What makes this FCU different&lt;br /&gt;
&lt;br /&gt;
Unlike a traditional helicopter (single variable-pitch rotor, often pilot-controlled directly or via fly-by-wire) or a fully electric VTOL (Volocopter, Lilium, Joby — where battery management is central), this aircraft relies on **a single, less powerful piston engine**. Because there is no redundant second engine, the aircraft carries a **whole-aircraft rescue parachute** to handle total engine loss, allowing it to land without any flight control. Stabilization and control methods must therefore be adapted to this single-engine hybrid configuration.&lt;br /&gt;
&lt;br /&gt;
### Pilot controls and flight axes&lt;br /&gt;
The pilot uses a **right-hand joystick**. The three flight axes are pitch (tangage), roll (roulis), and yaw (lacet).&lt;br /&gt;
&lt;br /&gt;
## Functional requirements by use case&lt;br /&gt;
&lt;br /&gt;
The specification breaks FCU behavior down into distinct flight scenarios, each with defined inputs, outputs, and rules.&lt;br /&gt;
&lt;br /&gt;
**Case 1 — Takeoff (throttle increased by hand):** As the pilot raises the throttle, engine speed and available electrical power increase, spinning the rotors faster until the aircraft lifts off. The FCU distributes power evenly across all rotors to keep the aircraft level and lifting vertically. It manages progressive power increase, automatic tilt correction (e.g. wind gusts or a failed rotor), continuous sensor monitoring, climb-rate limiting, motor-saturation prevention, altitude and vertical-speed control, and alarm generation for abnormal conditions.&lt;br /&gt;
&lt;br /&gt;
**Case 2 — Hover via the stop button:** Pressing the red push/pull stop button on the joystick holds the aircraft stationary in the air with a fixed heading. The FCU uses positioning and altitude sensors to maintain position and altitude, correcting for wind drift. It handles fallback cases such as GPS dropout (switching to inertial mode), rotor performance loss (redistributing power), logs the stop event, manages subsequent pilot commands (restart/resume), and can disable automatic functions (e.g. auto-follow, return-to-home) temporarily or permanently.&lt;br /&gt;
&lt;br /&gt;
**Case 3 — Climb and descent around a vertical axis:** With the stop button engaged and joystick centered, the pilot presses climb or descent. The FCU detects the command, adjusts motor power proportionally (reducing for descent, increasing for climb), maintains stability against wind, monitors altitude, and handles emergencies (e.g. obstacle detection triggering emergency climb, motor overheat triggering controlled descent, motor jam during climb).&lt;br /&gt;
&lt;br /&gt;
**Case 4 — Hovering yaw rotation:** With the stop button pressed, turning the joystick left or right rotates the aircraft about its vertical axis. The FCU modulates individual rotor speeds to produce the required yaw torque while keeping pitch = 0, roll = 0, and altitude constant. It maintains stability against wind, respects the aircraft's operational limits, and handles faults (gyro failure, loss of yaw authority). Returning the joystick to center reverts to the Case 2 hover.&lt;br /&gt;
&lt;br /&gt;
**Case 5 — Straight-line forward flight:** Pressing the forward button with the joystick centered, the pilot adjusts throttle to hold altitude. The FCU generates pitch setpoints to tilt the aircraft forward for horizontal thrust, controls attitude in real time, compensates for disturbances (gusts, front-rotor loss, speed-sensor failure), manages propulsion and thrust distribution to hold the target speed, and respects pitch-angle limits to prevent stall or instability.&lt;br /&gt;
&lt;br /&gt;
**Case 6 — Turning while moving forward (left/right):** With forward already engaged, turning the joystick makes the FCU coordinate pitch and roll for a balanced turn at constant speed and altitude. It differentiates motor power side-to-side to bank the aircraft, caps the maximum bank angle (with pilot alerts and automatic intervention if exceeded), compensates altitude loss from banking, and returns the aircraft smoothly to stable flight after the turn.&lt;br /&gt;
&lt;br /&gt;
**Case 7 — Turning while climbing or descending:** Combining throttle (climb/descent) with a joystick turn, the FCU analyzes the trajectory, calculates the required bank angle while accounting for changing gravitational load, redistributes motor power, manages attitude and vertical speed, compensates for wind, and continuously monitors sensors and safety systems.&lt;br /&gt;
&lt;br /&gt;
**Case 8 — In-flight emergency stop and parachute deployment:** For critical failures (piston engine, generator/Emrax, flight computers, or many rotors), the pilot presses the red emergency button. The FCU's logic: if the emergency button is pressed and the parachute is not yet deployed, it triggers the parachute. Once deployed, it stops all rotors and shuts down systems — though it may keep a few rotors running at adjusted power to keep the aircraft level during the parachute descent. It continues monitoring critical systems (sensors, batteries, controls) and transmits the emergency situation, location, and flight conditions to ground operators to aid recovery.&lt;br /&gt;
&lt;br /&gt;
**Case 10 — Final shutdown (power-off button):** On the ground after landing, pressing the &amp;quot;shut down&amp;quot; button makes the FCU confirm the order, progressively deactivate onboard systems (non-essential first, then flight-critical), cut electrical power to the motors and components, and confirm safe shutdown to the pilot interface. Backup procedures cover faults such as a motor not responding to shutdown, overheating during shutdown, or a non-functional shutdown button.&lt;br /&gt;
&lt;br /&gt;
## Cross-cutting concerns&lt;br /&gt;
&lt;br /&gt;
**Sensor and system monitoring:** The FCU continuously collects and validates data from gyroscopes, accelerometers, and barometers (plus GPS) to compute motor commands, orientation adjustments, and telemetry. It detects sensor anomalies, falls back to redundant or backup data, and logs critical flight data for post-flight analysis.&lt;br /&gt;
&lt;br /&gt;
**Power management and safety:** Dynamic power balancing prevents motor overload, especially during power transitions in climb and descent. Maximum power limits protect against overheating and damage, climb-rate limits prevent excessive reactions, and saturation prevention preserves control margin.&lt;br /&gt;
&lt;br /&gt;
**Alarms and warnings:** Abnormal conditions trigger graded visual or audible alerts on the radio-control display, designed with ergonomics and pilot workload in mind, and built with redundancy for reliability.&lt;br /&gt;
&lt;br /&gt;
## Document sections not yet detailed&lt;br /&gt;
&lt;br /&gt;
The specification reserves (but does not yet fully populate) sections on:&lt;br /&gt;
- **Testing and validation** — test methodology and scenarios covering standard flight and emergencies.&lt;br /&gt;
- **Maintenance and support** — preventive/corrective maintenance, spare parts, manuals, and manufacturer technical support.&lt;br /&gt;
- **Schedule and budget** — development/delivery timeline and cost estimates for design, manufacturing, and certification.&lt;br /&gt;
&lt;br /&gt;
## Reference projects&lt;br /&gt;
- **Mini-Bee** (mini-bee.com) — Rotax 915is/916is piston engine (~140 hp).&lt;br /&gt;
- **Workhorse SureFly** — Honda engine (~200 hp).&lt;br /&gt;
- **Zephyr helicopter** — cited as the first helicopter with a parachute rescue system.&lt;br /&gt;
&lt;br /&gt;
*Note: the original document states it was partially drafted with the help of ChatGPT.*&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:20241108_Cahier_de_charge_FCU_VTOL_V2.pdf&amp;diff=2002</id>
		<title>File:20241108 Cahier de charge FCU VTOL V2.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:20241108_Cahier_de_charge_FCU_VTOL_V2.pdf&amp;diff=2002"/>
		<updated>2026-05-22T09:16:56Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:Minibee_official_1.png&amp;diff=2001</id>
		<title>File:Minibee official 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:Minibee_official_1.png&amp;diff=2001"/>
		<updated>2026-05-20T07:55:52Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: Wiki.admin uploaded a new version of File:Minibee official 1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:Minibee_official_1.png&amp;diff=2000</id>
		<title>File:Minibee official 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:Minibee_official_1.png&amp;diff=2000"/>
		<updated>2026-05-19T15:30:16Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: Wiki.admin uploaded a new version of File:Minibee official 1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1999</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1999"/>
		<updated>2026-05-19T10:49:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Useful links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
'''Mini-Bee / RED VTOL — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #d0d7de; border-radius:14px; padding:22px; background:#f8fafc; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:150%; font-weight:bold; color:#1f4e79; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
Mini-Bee / RED VTOL — Certification Pathway&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:105%; line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
This page presents the high-level EASA certification framework studied for the Mini-Bee / RED VTOL concept.&lt;br /&gt;
The objective is to understand how a 2PAX hybrid VTOL multicopter, designed as an ultra-light air ambulance concept, can be positioned inside the European aviation certification environment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Hero.png|center|900px|Mini-Bee / RED VTOL certification framework hero visual]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 1.''' Mini-Bee / RED VTOL certification framework overview.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Main presentation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #1f4e79; border-radius:12px; padding:18px; background:#eef6ff; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:125%; font-weight:bold; color:#1f4e79;&amp;quot;&amp;gt;&lt;br /&gt;
Download the full PowerPoint presentation&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|'''Download the PowerPoint presentation''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This presentation was prepared in the context of the '''Mini-Bee / RED VTOL''' work, with contributions from '''RED VTOL''', '''TechnoPlane''' as coordinator of the Mini-Bee project, and '''ALTEN Sud-Ouest''' through the '''ALTEN Solidaire''' initiative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project context ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Item&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Project'''&lt;br /&gt;
| Mini-Bee / RED VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''Aircraft concept'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
|-&lt;br /&gt;
| '''Mission orientation'''&lt;br /&gt;
| Ultra-light air ambulance / VEMS concept&lt;br /&gt;
|-&lt;br /&gt;
| '''Main certification authority'''&lt;br /&gt;
| EASA — European Union Aviation Safety Agency&lt;br /&gt;
|-&lt;br /&gt;
| '''Main aircraft basis'''&lt;br /&gt;
| CS-27 Small Rotorcraft&lt;br /&gt;
|-&lt;br /&gt;
| '''VTOL-specific basis'''&lt;br /&gt;
| SC-VTOL-02 Small-Category VTOL-Capable Aircraft&lt;br /&gt;
|-&lt;br /&gt;
| '''Project logic'''&lt;br /&gt;
| Build a credible path from innovative VTOL concept to certifiable aircraft architecture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee / RED VTOL concept is not only a flying vehicle study. It is also a certification-oriented design exercise.&lt;br /&gt;
&lt;br /&gt;
The central question is simple:&lt;br /&gt;
&lt;br /&gt;
: '''How can an innovative hybrid VTOL aircraft be designed from the beginning with certification, safety and operational approval in mind?'''&lt;br /&gt;
&lt;br /&gt;
This question is essential because a VTOL aircraft cannot be evaluated only through performance. It must also be understandable by the authority, technically justified, testable, and traceable.&lt;br /&gt;
&lt;br /&gt;
== RED VTOL and ALTEN Solidaire ==&lt;br /&gt;
&lt;br /&gt;
'''RED VTOL''' is associated with the humanitarian and emergency medical orientation of the project.&lt;br /&gt;
&lt;br /&gt;
The RED VTOL vision gives the Mini-Bee concept a concrete use case: a compact VTOL aircraft able to support medical aid, rapid response, local mobility, and potentially emergency transport missions.&lt;br /&gt;
&lt;br /&gt;
The name RED VTOL is linked to the idea of a '''VTOL vehicle for emergency medical service''', or '''VEMS'''. This mission orientation creates strong design and certification implications:&lt;br /&gt;
&lt;br /&gt;
* the aircraft must be safe in degraded modes;&lt;br /&gt;
* the lift and thrust system must be robust;&lt;br /&gt;
* the operational use must be clearly defined;&lt;br /&gt;
* the pilot and crew logic must be considered;&lt;br /&gt;
* medical or public-service missions may bring additional constraints;&lt;br /&gt;
* the aircraft must be credible not only as a prototype, but as a future operational system.&lt;br /&gt;
&lt;br /&gt;
'''ALTEN Solidaire''' appears in the presentation as a collaborative support framework.&lt;br /&gt;
&lt;br /&gt;
It refers to the involvement of ALTEN through a solidarity or skills-based contribution logic, with '''Christophe Marionneau, ALTEN Sud-Ouest for ALTEN Solidaire''', mentioned in the presentation credits.&lt;br /&gt;
&lt;br /&gt;
In this context, ALTEN Solidaire contributes to the technical structuring of the certification analysis. The value is not only to produce a document, but to help transform the project into a more rigorous engineering framework.&lt;br /&gt;
&lt;br /&gt;
This type of collaboration is important for Mini-Bee because certification requires several levels of expertise:&lt;br /&gt;
&lt;br /&gt;
* aircraft architecture;&lt;br /&gt;
* systems engineering;&lt;br /&gt;
* safety analysis;&lt;br /&gt;
* regulatory interpretation;&lt;br /&gt;
* electric and hybrid propulsion;&lt;br /&gt;
* rotorcraft certification logic;&lt;br /&gt;
* documentation and traceability.&lt;br /&gt;
&lt;br /&gt;
TechnoPlane is identified as the coordinator of the Mini-Bee project, while RED VTOL and ALTEN Solidaire contribute to the broader collaborative R&amp;amp;D and certification preparation effort.&lt;br /&gt;
&lt;br /&gt;
== Objective of the certification framework ==&lt;br /&gt;
&lt;br /&gt;
The purpose of the certification framework is to define the regulatory environment in which Mini-Bee / RED VTOL could be positioned.&lt;br /&gt;
&lt;br /&gt;
The presentation has four main objectives:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Objective&lt;br /&gt;
! Meaning for the project&lt;br /&gt;
|-&lt;br /&gt;
| '''Classify the aircraft'''&lt;br /&gt;
| Understand whether the aircraft is treated as a rotorcraft, a VTOL-capable aircraft, or both.&lt;br /&gt;
|-&lt;br /&gt;
| '''Identify applicable texts'''&lt;br /&gt;
| List the EASA certification specifications and special conditions that influence design choices.&lt;br /&gt;
|-&lt;br /&gt;
| '''Assess rule maturity'''&lt;br /&gt;
| Understand where VTOL-capable aircraft regulation is mature, evolving, or still uncertain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Prepare future evidence'''&lt;br /&gt;
| Anticipate the analyses, tests and demonstrations needed to support certification.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification snapshot ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Three_Level_Logic.png|center|900px|Mini-Bee certification three-level logic]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 2.''' Three-level certification logic: aircraft framework, system architecture, and compliance evidence.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Main question&lt;br /&gt;
! Main output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Where does Mini-Bee fit in the EASA framework?&lt;br /&gt;
| Aircraft category and certification basis&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| Which rules apply to each system?&lt;br /&gt;
| System and sub-system certification map&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Which evidence proves compliance?&lt;br /&gt;
| Analyses, tests, inspections, simulations and reports&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== High Level — aircraft positioning ==&lt;br /&gt;
&lt;br /&gt;
The high-level framework defines the regulatory positioning of Mini-Bee / RED VTOL.&lt;br /&gt;
&lt;br /&gt;
The current logic is to consider the aircraft as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This is the main certification idea of the presentation.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides the small rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 covers the specific aspects of VTOL-capable aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|center|900px|Mini-Bee CS-27 and SC-VTOL-02 positioning]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 3.''' Mini-Bee positioned between CS-27 small rotorcraft logic and SC-VTOL-02 VTOL-capable aircraft logic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
EASA is the official European authority for aviation certification.&lt;br /&gt;
&lt;br /&gt;
For the Mini-Bee / RED VTOL project, all certification assumptions must be traced back to official EASA documents, with the correct issue date, amendment level and applicability.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role in the framework&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, only if the design fits its restrictions.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for complex rotorcraft aspects or if the aircraft exits CS-27 boundaries.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
| Certification specifications for engines.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
| Special condition for electric and hybrid propulsion systems.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
| Certification specifications for propellers.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
| Additional airworthiness specifications for operations.&lt;br /&gt;
|-&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
| Acceptable means of compliance for products, parts and appliances.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
| Aircraft engine emissions and fuel venting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Reference_Map.png|center|900px|Mini-Bee EASA reference map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 4.''' EASA reference map for the Mini-Bee / RED VTOL certification framework.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System and sub-system logic ==&lt;br /&gt;
&lt;br /&gt;
The medium-level framework translates the aircraft-level certification basis into system and sub-system references.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, the main technical domains are:&lt;br /&gt;
&lt;br /&gt;
* engine;&lt;br /&gt;
* electric and hybrid propulsion system;&lt;br /&gt;
* propellers and rotors;&lt;br /&gt;
* high-power electrical architecture;&lt;br /&gt;
* lift / thrust system;&lt;br /&gt;
* operational airworthiness;&lt;br /&gt;
* emissions and fuel venting;&lt;br /&gt;
* environmental constraints.&lt;br /&gt;
&lt;br /&gt;
The important point is that Mini-Bee cannot be certified only as a list of independent components.&lt;br /&gt;
&lt;br /&gt;
The aircraft must be understood as an integrated system.&lt;br /&gt;
&lt;br /&gt;
In particular, the complete '''lift / thrust system''' must be considered as a chain from energy source to thrust production.&lt;br /&gt;
&lt;br /&gt;
== Lift / thrust system chain ==&lt;br /&gt;
&lt;br /&gt;
The lift / thrust system is the core technical object of the Mini-Bee / RED VTOL certification study.&lt;br /&gt;
&lt;br /&gt;
It includes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention point&lt;br /&gt;
|-&lt;br /&gt;
| '''Fuel / battery'''&lt;br /&gt;
| Energy availability, storage, safety and endurance.&lt;br /&gt;
|-&lt;br /&gt;
| '''Engine'''&lt;br /&gt;
| Certified status, installation, operating limits and failure modes.&lt;br /&gt;
|-&lt;br /&gt;
| '''Generator'''&lt;br /&gt;
| Electrical generation, reliability and integration with the hybrid chain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Power electronics'''&lt;br /&gt;
| High-voltage distribution, thermal control, EMC and safety.&lt;br /&gt;
|-&lt;br /&gt;
| '''Motors'''&lt;br /&gt;
| Redundancy, monitoring, degraded modes and thrust command.&lt;br /&gt;
|-&lt;br /&gt;
| '''Rotors / propellers'''&lt;br /&gt;
| Loads, vibration, thrust generation, noise and failure behaviour.&lt;br /&gt;
|-&lt;br /&gt;
| '''Lift'''&lt;br /&gt;
| Aircraft controllability, stability and safety in normal and degraded conditions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|center|900px|Mini-Bee lift thrust system chain]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 5.''' Lift / thrust system chain from energy source to distributed lift.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification risks ==&lt;br /&gt;
&lt;br /&gt;
The presentation highlights several certification risks that must be controlled early.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Why it matters&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27 / SC-VTOL boundary'''&lt;br /&gt;
| Mini-Bee combines rotorcraft behaviour and VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Possible CS-29 drift'''&lt;br /&gt;
| Mass, occupants, system complexity or operations may increase certification expectations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The complete energy and propulsion chain may become a safety-critical integrated system.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| EWIS, EMC, power electronics and electrical safety must be justified.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure cases and degraded modes must be clearly demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS mission'''&lt;br /&gt;
| Medical or public-service missions may create additional operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level — evidence and demonstration ==&lt;br /&gt;
&lt;br /&gt;
The low level is the level of concrete proof.&lt;br /&gt;
&lt;br /&gt;
Certification is not based only on design intention.  &lt;br /&gt;
It is based on evidence.&lt;br /&gt;
&lt;br /&gt;
Typical evidence includes:&lt;br /&gt;
&lt;br /&gt;
* requirement allocation;&lt;br /&gt;
* safety analyses;&lt;br /&gt;
* calculations;&lt;br /&gt;
* system schematics;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* HIL / SIL simulations;&lt;br /&gt;
* inspection reports;&lt;br /&gt;
* environmental qualification;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* flight test reports;&lt;br /&gt;
* compliance documentation.&lt;br /&gt;
&lt;br /&gt;
The purpose of this work is to connect each certification requirement to a verifiable means of compliance.&lt;br /&gt;
&lt;br /&gt;
This can include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Analysis&lt;br /&gt;
! Test&lt;br /&gt;
! Simulation&lt;br /&gt;
! Inspection&lt;br /&gt;
! Demonstration&lt;br /&gt;
|-&lt;br /&gt;
| Safety studies&lt;br /&gt;
| Bench tests&lt;br /&gt;
| HIL / SIL&lt;br /&gt;
| Installation checks&lt;br /&gt;
| Flight evidence&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification pathway logic ==&lt;br /&gt;
&lt;br /&gt;
The certification pathway should be progressive.&lt;br /&gt;
&lt;br /&gt;
It should move from regulatory positioning to detailed evidence:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Step 1&lt;br /&gt;
! Step 2&lt;br /&gt;
! Step 3&lt;br /&gt;
! Step 4&lt;br /&gt;
! Step 5&lt;br /&gt;
|-&lt;br /&gt;
| Aircraft classification&lt;br /&gt;
| Applicable rules&lt;br /&gt;
| System allocation&lt;br /&gt;
| Evidence production&lt;br /&gt;
| Testing and approval&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The presentation therefore supports a structured development logic:&lt;br /&gt;
&lt;br /&gt;
* first define the aircraft category;&lt;br /&gt;
* then identify the applicable EASA texts;&lt;br /&gt;
* then allocate requirements to systems and sub-systems;&lt;br /&gt;
* then prepare the evidence matrix;&lt;br /&gt;
* then organize tests, analyses and demonstrations.&lt;br /&gt;
&lt;br /&gt;
== What this work brings to the project ==&lt;br /&gt;
&lt;br /&gt;
The RED VTOL / ALTEN Solidaire certification work brings structure to the Mini-Bee project.&lt;br /&gt;
&lt;br /&gt;
It helps the project move from a conceptual aircraft architecture to a more credible engineering path.&lt;br /&gt;
&lt;br /&gt;
The main benefits are:&lt;br /&gt;
&lt;br /&gt;
* better understanding of EASA certification logic;&lt;br /&gt;
* clearer positioning between CS-27 and SC-VTOL-02;&lt;br /&gt;
* identification of system-level certification references;&lt;br /&gt;
* early detection of regulatory risks;&lt;br /&gt;
* preparation of future compliance evidence;&lt;br /&gt;
* improved design discipline;&lt;br /&gt;
* stronger credibility for partners, authorities and future operators.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / RED VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is based on:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable aspects;&lt;br /&gt;
* '''SC E-19''' for electric and hybrid propulsion;&lt;br /&gt;
* '''CS-E''' for engines;&lt;br /&gt;
* '''CS-P''' for propellers;&lt;br /&gt;
* additional references such as CS-26, AMC-20, CS-34, CS-VLR and CS-29 when relevant.&lt;br /&gt;
&lt;br /&gt;
The certification framework is not only a regulatory checklist.  &lt;br /&gt;
It is a design management tool.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, it helps transform an innovative hybrid VTOL concept into a structured, traceable and progressively certifiable aircraft project.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL ONG]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_VTOL_Certification_Framework_Hero.png&amp;diff=1998</id>
		<title>File:MiniBee VTOL Certification Framework Hero.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_VTOL_Certification_Framework_Hero.png&amp;diff=1998"/>
		<updated>2026-05-19T10:41:41Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1997</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1997"/>
		<updated>2026-05-19T10:35:26Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
'''Mini-Bee / RED VTOL — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #d0d7de; border-radius:14px; padding:22px; background:#f8fafc; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:150%; font-weight:bold; color:#1f4e79; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
Mini-Bee / RED VTOL — Certification Pathway&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:105%; line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
This page presents the high-level EASA certification framework studied for the Mini-Bee / RED VTOL concept.&lt;br /&gt;
The objective is to understand how a 2PAX hybrid VTOL multicopter, designed as an ultra-light air ambulance concept, can be positioned inside the European aviation certification environment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Hero.png|center|900px|Mini-Bee / RED VTOL certification framework hero visual]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 1.''' Mini-Bee / RED VTOL certification framework overview.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Main presentation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #1f4e79; border-radius:12px; padding:18px; background:#eef6ff; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:125%; font-weight:bold; color:#1f4e79;&amp;quot;&amp;gt;&lt;br /&gt;
Download the full PowerPoint presentation&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|'''Download the PowerPoint presentation''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This presentation was prepared in the context of the '''Mini-Bee / RED VTOL''' work, with contributions from '''RED VTOL''', '''TechnoPlane''' as coordinator of the Mini-Bee project, and '''ALTEN Sud-Ouest''' through the '''ALTEN Solidaire''' initiative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project context ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Item&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Project'''&lt;br /&gt;
| Mini-Bee / RED VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''Aircraft concept'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
|-&lt;br /&gt;
| '''Mission orientation'''&lt;br /&gt;
| Ultra-light air ambulance / VEMS concept&lt;br /&gt;
|-&lt;br /&gt;
| '''Main certification authority'''&lt;br /&gt;
| EASA — European Union Aviation Safety Agency&lt;br /&gt;
|-&lt;br /&gt;
| '''Main aircraft basis'''&lt;br /&gt;
| CS-27 Small Rotorcraft&lt;br /&gt;
|-&lt;br /&gt;
| '''VTOL-specific basis'''&lt;br /&gt;
| SC-VTOL-02 Small-Category VTOL-Capable Aircraft&lt;br /&gt;
|-&lt;br /&gt;
| '''Project logic'''&lt;br /&gt;
| Build a credible path from innovative VTOL concept to certifiable aircraft architecture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee / RED VTOL concept is not only a flying vehicle study. It is also a certification-oriented design exercise.&lt;br /&gt;
&lt;br /&gt;
The central question is simple:&lt;br /&gt;
&lt;br /&gt;
: '''How can an innovative hybrid VTOL aircraft be designed from the beginning with certification, safety and operational approval in mind?'''&lt;br /&gt;
&lt;br /&gt;
This question is essential because a VTOL aircraft cannot be evaluated only through performance. It must also be understandable by the authority, technically justified, testable, and traceable.&lt;br /&gt;
&lt;br /&gt;
== RED VTOL and ALTEN Solidaire ==&lt;br /&gt;
&lt;br /&gt;
'''RED VTOL''' is associated with the humanitarian and emergency medical orientation of the project.&lt;br /&gt;
&lt;br /&gt;
The RED VTOL vision gives the Mini-Bee concept a concrete use case: a compact VTOL aircraft able to support medical aid, rapid response, local mobility, and potentially emergency transport missions.&lt;br /&gt;
&lt;br /&gt;
The name RED VTOL is linked to the idea of a '''VTOL vehicle for emergency medical service''', or '''VEMS'''. This mission orientation creates strong design and certification implications:&lt;br /&gt;
&lt;br /&gt;
* the aircraft must be safe in degraded modes;&lt;br /&gt;
* the lift and thrust system must be robust;&lt;br /&gt;
* the operational use must be clearly defined;&lt;br /&gt;
* the pilot and crew logic must be considered;&lt;br /&gt;
* medical or public-service missions may bring additional constraints;&lt;br /&gt;
* the aircraft must be credible not only as a prototype, but as a future operational system.&lt;br /&gt;
&lt;br /&gt;
'''ALTEN Solidaire''' appears in the presentation as a collaborative support framework.&lt;br /&gt;
&lt;br /&gt;
It refers to the involvement of ALTEN through a solidarity or skills-based contribution logic, with '''Christophe Marionneau, ALTEN Sud-Ouest for ALTEN Solidaire''', mentioned in the presentation credits.&lt;br /&gt;
&lt;br /&gt;
In this context, ALTEN Solidaire contributes to the technical structuring of the certification analysis. The value is not only to produce a document, but to help transform the project into a more rigorous engineering framework.&lt;br /&gt;
&lt;br /&gt;
This type of collaboration is important for Mini-Bee because certification requires several levels of expertise:&lt;br /&gt;
&lt;br /&gt;
* aircraft architecture;&lt;br /&gt;
* systems engineering;&lt;br /&gt;
* safety analysis;&lt;br /&gt;
* regulatory interpretation;&lt;br /&gt;
* electric and hybrid propulsion;&lt;br /&gt;
* rotorcraft certification logic;&lt;br /&gt;
* documentation and traceability.&lt;br /&gt;
&lt;br /&gt;
TechnoPlane is identified as the coordinator of the Mini-Bee project, while RED VTOL and ALTEN Solidaire contribute to the broader collaborative R&amp;amp;D and certification preparation effort.&lt;br /&gt;
&lt;br /&gt;
== Objective of the certification framework ==&lt;br /&gt;
&lt;br /&gt;
The purpose of the certification framework is to define the regulatory environment in which Mini-Bee / RED VTOL could be positioned.&lt;br /&gt;
&lt;br /&gt;
The presentation has four main objectives:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Objective&lt;br /&gt;
! Meaning for the project&lt;br /&gt;
|-&lt;br /&gt;
| '''Classify the aircraft'''&lt;br /&gt;
| Understand whether the aircraft is treated as a rotorcraft, a VTOL-capable aircraft, or both.&lt;br /&gt;
|-&lt;br /&gt;
| '''Identify applicable texts'''&lt;br /&gt;
| List the EASA certification specifications and special conditions that influence design choices.&lt;br /&gt;
|-&lt;br /&gt;
| '''Assess rule maturity'''&lt;br /&gt;
| Understand where VTOL-capable aircraft regulation is mature, evolving, or still uncertain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Prepare future evidence'''&lt;br /&gt;
| Anticipate the analyses, tests and demonstrations needed to support certification.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification snapshot ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Three_Level_Logic.png|center|900px|Mini-Bee certification three-level logic]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 2.''' Three-level certification logic: aircraft framework, system architecture, and compliance evidence.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Main question&lt;br /&gt;
! Main output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Where does Mini-Bee fit in the EASA framework?&lt;br /&gt;
| Aircraft category and certification basis&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| Which rules apply to each system?&lt;br /&gt;
| System and sub-system certification map&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Which evidence proves compliance?&lt;br /&gt;
| Analyses, tests, inspections, simulations and reports&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== High Level — aircraft positioning ==&lt;br /&gt;
&lt;br /&gt;
The high-level framework defines the regulatory positioning of Mini-Bee / RED VTOL.&lt;br /&gt;
&lt;br /&gt;
The current logic is to consider the aircraft as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This is the main certification idea of the presentation.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides the small rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 covers the specific aspects of VTOL-capable aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|center|900px|Mini-Bee CS-27 and SC-VTOL-02 positioning]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 3.''' Mini-Bee positioned between CS-27 small rotorcraft logic and SC-VTOL-02 VTOL-capable aircraft logic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
EASA is the official European authority for aviation certification.&lt;br /&gt;
&lt;br /&gt;
For the Mini-Bee / RED VTOL project, all certification assumptions must be traced back to official EASA documents, with the correct issue date, amendment level and applicability.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role in the framework&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, only if the design fits its restrictions.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for complex rotorcraft aspects or if the aircraft exits CS-27 boundaries.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
| Certification specifications for engines.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
| Special condition for electric and hybrid propulsion systems.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
| Certification specifications for propellers.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
| Additional airworthiness specifications for operations.&lt;br /&gt;
|-&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
| Acceptable means of compliance for products, parts and appliances.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
| Aircraft engine emissions and fuel venting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Reference_Map.png|center|900px|Mini-Bee EASA reference map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 4.''' EASA reference map for the Mini-Bee / RED VTOL certification framework.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System and sub-system logic ==&lt;br /&gt;
&lt;br /&gt;
The medium-level framework translates the aircraft-level certification basis into system and sub-system references.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, the main technical domains are:&lt;br /&gt;
&lt;br /&gt;
* engine;&lt;br /&gt;
* electric and hybrid propulsion system;&lt;br /&gt;
* propellers and rotors;&lt;br /&gt;
* high-power electrical architecture;&lt;br /&gt;
* lift / thrust system;&lt;br /&gt;
* operational airworthiness;&lt;br /&gt;
* emissions and fuel venting;&lt;br /&gt;
* environmental constraints.&lt;br /&gt;
&lt;br /&gt;
The important point is that Mini-Bee cannot be certified only as a list of independent components.&lt;br /&gt;
&lt;br /&gt;
The aircraft must be understood as an integrated system.&lt;br /&gt;
&lt;br /&gt;
In particular, the complete '''lift / thrust system''' must be considered as a chain from energy source to thrust production.&lt;br /&gt;
&lt;br /&gt;
== Lift / thrust system chain ==&lt;br /&gt;
&lt;br /&gt;
The lift / thrust system is the core technical object of the Mini-Bee / RED VTOL certification study.&lt;br /&gt;
&lt;br /&gt;
It includes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention point&lt;br /&gt;
|-&lt;br /&gt;
| '''Fuel / battery'''&lt;br /&gt;
| Energy availability, storage, safety and endurance.&lt;br /&gt;
|-&lt;br /&gt;
| '''Engine'''&lt;br /&gt;
| Certified status, installation, operating limits and failure modes.&lt;br /&gt;
|-&lt;br /&gt;
| '''Generator'''&lt;br /&gt;
| Electrical generation, reliability and integration with the hybrid chain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Power electronics'''&lt;br /&gt;
| High-voltage distribution, thermal control, EMC and safety.&lt;br /&gt;
|-&lt;br /&gt;
| '''Motors'''&lt;br /&gt;
| Redundancy, monitoring, degraded modes and thrust command.&lt;br /&gt;
|-&lt;br /&gt;
| '''Rotors / propellers'''&lt;br /&gt;
| Loads, vibration, thrust generation, noise and failure behaviour.&lt;br /&gt;
|-&lt;br /&gt;
| '''Lift'''&lt;br /&gt;
| Aircraft controllability, stability and safety in normal and degraded conditions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|center|900px|Mini-Bee lift thrust system chain]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 5.''' Lift / thrust system chain from energy source to distributed lift.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification risks ==&lt;br /&gt;
&lt;br /&gt;
The presentation highlights several certification risks that must be controlled early.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Why it matters&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27 / SC-VTOL boundary'''&lt;br /&gt;
| Mini-Bee combines rotorcraft behaviour and VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Possible CS-29 drift'''&lt;br /&gt;
| Mass, occupants, system complexity or operations may increase certification expectations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The complete energy and propulsion chain may become a safety-critical integrated system.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| EWIS, EMC, power electronics and electrical safety must be justified.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure cases and degraded modes must be clearly demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS mission'''&lt;br /&gt;
| Medical or public-service missions may create additional operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level — evidence and demonstration ==&lt;br /&gt;
&lt;br /&gt;
The low level is the level of concrete proof.&lt;br /&gt;
&lt;br /&gt;
Certification is not based only on design intention.  &lt;br /&gt;
It is based on evidence.&lt;br /&gt;
&lt;br /&gt;
Typical evidence includes:&lt;br /&gt;
&lt;br /&gt;
* requirement allocation;&lt;br /&gt;
* safety analyses;&lt;br /&gt;
* calculations;&lt;br /&gt;
* system schematics;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* HIL / SIL simulations;&lt;br /&gt;
* inspection reports;&lt;br /&gt;
* environmental qualification;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* flight test reports;&lt;br /&gt;
* compliance documentation.&lt;br /&gt;
&lt;br /&gt;
The purpose of this work is to connect each certification requirement to a verifiable means of compliance.&lt;br /&gt;
&lt;br /&gt;
This can include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Analysis&lt;br /&gt;
! Test&lt;br /&gt;
! Simulation&lt;br /&gt;
! Inspection&lt;br /&gt;
! Demonstration&lt;br /&gt;
|-&lt;br /&gt;
| Safety studies&lt;br /&gt;
| Bench tests&lt;br /&gt;
| HIL / SIL&lt;br /&gt;
| Installation checks&lt;br /&gt;
| Flight evidence&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification pathway logic ==&lt;br /&gt;
&lt;br /&gt;
The certification pathway should be progressive.&lt;br /&gt;
&lt;br /&gt;
It should move from regulatory positioning to detailed evidence:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Step 1&lt;br /&gt;
! Step 2&lt;br /&gt;
! Step 3&lt;br /&gt;
! Step 4&lt;br /&gt;
! Step 5&lt;br /&gt;
|-&lt;br /&gt;
| Aircraft classification&lt;br /&gt;
| Applicable rules&lt;br /&gt;
| System allocation&lt;br /&gt;
| Evidence production&lt;br /&gt;
| Testing and approval&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The presentation therefore supports a structured development logic:&lt;br /&gt;
&lt;br /&gt;
* first define the aircraft category;&lt;br /&gt;
* then identify the applicable EASA texts;&lt;br /&gt;
* then allocate requirements to systems and sub-systems;&lt;br /&gt;
* then prepare the evidence matrix;&lt;br /&gt;
* then organize tests, analyses and demonstrations.&lt;br /&gt;
&lt;br /&gt;
== What this work brings to the project ==&lt;br /&gt;
&lt;br /&gt;
The RED VTOL / ALTEN Solidaire certification work brings structure to the Mini-Bee project.&lt;br /&gt;
&lt;br /&gt;
It helps the project move from a conceptual aircraft architecture to a more credible engineering path.&lt;br /&gt;
&lt;br /&gt;
The main benefits are:&lt;br /&gt;
&lt;br /&gt;
* better understanding of EASA certification logic;&lt;br /&gt;
* clearer positioning between CS-27 and SC-VTOL-02;&lt;br /&gt;
* identification of system-level certification references;&lt;br /&gt;
* early detection of regulatory risks;&lt;br /&gt;
* preparation of future compliance evidence;&lt;br /&gt;
* improved design discipline;&lt;br /&gt;
* stronger credibility for partners, authorities and future operators.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / RED VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is based on:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable aspects;&lt;br /&gt;
* '''SC E-19''' for electric and hybrid propulsion;&lt;br /&gt;
* '''CS-E''' for engines;&lt;br /&gt;
* '''CS-P''' for propellers;&lt;br /&gt;
* additional references such as CS-26, AMC-20, CS-34, CS-VLR and CS-29 when relevant.&lt;br /&gt;
&lt;br /&gt;
The certification framework is not only a regulatory checklist.  &lt;br /&gt;
It is a design management tool.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, it helps transform an innovative hybrid VTOL concept into a structured, traceable and progressively certifiable aircraft project.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
* [[TRL]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1996</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1996"/>
		<updated>2026-05-19T10:29:04Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
'''Mini-Bee / RED VTOL — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #d0d7de; border-radius:14px; padding:22px; background:#f8fafc; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:150%; font-weight:bold; color:#1f4e79; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
Mini-Bee / RED VTOL — Certification Pathway&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:105%; line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
This page presents the high-level EASA certification framework studied for the Mini-Bee / RED VTOL concept.&lt;br /&gt;
The objective is to understand how a 2PAX hybrid VTOL multicopter, designed as an ultra-light air ambulance concept, can be positioned inside the European aviation certification environment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Hero.png|center|900px|Mini-Bee / RED VTOL certification framework hero visual]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 1.''' Mini-Bee / RED VTOL certification framework overview.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Main presentation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #1f4e79; border-radius:12px; padding:18px; background:#eef6ff; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:125%; font-weight:bold; color:#1f4e79;&amp;quot;&amp;gt;&lt;br /&gt;
Download the full PowerPoint presentation&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|'''Download the PowerPoint presentation''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This presentation was prepared in the context of the '''Mini-Bee / RED VTOL''' work, with contributions from '''RED VTOL''', '''TechnoPlane''' as coordinator of the Mini-Bee project, and '''ALTEN Sud-Ouest''' through the '''ALTEN Solidaire''' initiative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project context ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Item&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Project'''&lt;br /&gt;
| Mini-Bee / RED VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''Aircraft concept'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
|-&lt;br /&gt;
| '''Mission orientation'''&lt;br /&gt;
| Ultra-light air ambulance / VEMS concept&lt;br /&gt;
|-&lt;br /&gt;
| '''Main certification authority'''&lt;br /&gt;
| EASA — European Union Aviation Safety Agency&lt;br /&gt;
|-&lt;br /&gt;
| '''Main aircraft basis'''&lt;br /&gt;
| CS-27 Small Rotorcraft&lt;br /&gt;
|-&lt;br /&gt;
| '''VTOL-specific basis'''&lt;br /&gt;
| SC-VTOL-02 Small-Category VTOL-Capable Aircraft&lt;br /&gt;
|-&lt;br /&gt;
| '''Project logic'''&lt;br /&gt;
| Build a credible path from innovative VTOL concept to certifiable aircraft architecture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee / RED VTOL concept is not only a flying vehicle study. It is also a certification-oriented design exercise.&lt;br /&gt;
&lt;br /&gt;
The central question is simple:&lt;br /&gt;
&lt;br /&gt;
: '''How can an innovative hybrid VTOL aircraft be designed from the beginning with certification, safety and operational approval in mind?'''&lt;br /&gt;
&lt;br /&gt;
This question is essential because a VTOL aircraft cannot be evaluated only through performance. It must also be understandable by the authority, technically justified, testable, and traceable.&lt;br /&gt;
&lt;br /&gt;
== RED VTOL and ALTEN Solidaire ==&lt;br /&gt;
&lt;br /&gt;
'''RED VTOL''' is associated with the humanitarian and emergency medical orientation of the project.  &lt;br /&gt;
The RED VTOL vision gives the Mini-Bee concept a concrete use case: a compact VTOL aircraft able to support medical aid, rapid response, local mobility, and potentially emergency transport missions.&lt;br /&gt;
&lt;br /&gt;
The name RED VTOL is linked to the idea of a '''VTOL vehicle for emergency medical service''', or '''VEMS'''. This mission orientation creates strong design and certification implications:&lt;br /&gt;
&lt;br /&gt;
* the aircraft must be safe in degraded modes;&lt;br /&gt;
* the lift and thrust system must be robust;&lt;br /&gt;
* the operational use must be clearly defined;&lt;br /&gt;
* the pilot and crew logic must be considered;&lt;br /&gt;
* medical or public-service missions may bring additional constraints;&lt;br /&gt;
* the aircraft must be credible not only as a prototype, but as a future operational system.&lt;br /&gt;
&lt;br /&gt;
'''ALTEN Solidaire''' appears in the presentation as a collaborative support framework.  &lt;br /&gt;
It refers to the involvement of ALTEN through a solidarity or skills-based contribution logic, with '''Christophe Marionneau, ALTEN Sud-Ouest for ALTEN Solidaire''', mentioned in the presentation credits.&lt;br /&gt;
&lt;br /&gt;
In this context, ALTEN Solidaire contributes to the technical structuring of the certification analysis. The value is not only to produce a document, but to help transform the project into a more rigorous engineering framework.&lt;br /&gt;
&lt;br /&gt;
This type of collaboration is important for Mini-Bee because certification requires several levels of expertise:&lt;br /&gt;
&lt;br /&gt;
* aircraft architecture;&lt;br /&gt;
* systems engineering;&lt;br /&gt;
* safety analysis;&lt;br /&gt;
* regulatory interpretation;&lt;br /&gt;
* electric and hybrid propulsion;&lt;br /&gt;
* rotorcraft certification logic;&lt;br /&gt;
* documentation and traceability.&lt;br /&gt;
&lt;br /&gt;
TechnoPlane is identified as the coordinator of the Mini-Bee project, while RED VTOL and ALTEN Solidaire contribute to the broader collaborative R&amp;amp;D and certification preparation effort.&lt;br /&gt;
&lt;br /&gt;
== Objective of the certification framework ==&lt;br /&gt;
&lt;br /&gt;
The purpose of the certification framework is to define the regulatory environment in which Mini-Bee / RED VTOL could be positioned.&lt;br /&gt;
&lt;br /&gt;
The presentation has four main objectives:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Objective&lt;br /&gt;
! Meaning for the project&lt;br /&gt;
|-&lt;br /&gt;
| '''Classify the aircraft'''&lt;br /&gt;
| Understand whether the aircraft is treated as a rotorcraft, a VTOL-capable aircraft, or both.&lt;br /&gt;
|-&lt;br /&gt;
| '''Identify applicable texts'''&lt;br /&gt;
| List the EASA certification specifications and special conditions that influence design choices.&lt;br /&gt;
|-&lt;br /&gt;
| '''Assess rule maturity'''&lt;br /&gt;
| Understand where VTOL-capable aircraft regulation is mature, evolving, or still uncertain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Prepare future evidence'''&lt;br /&gt;
| Anticipate the analyses, tests and demonstrations needed to support certification.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification snapshot ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Three_Level_Logic.png|center|900px|Mini-Bee certification three-level logic]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 2.''' Three-level certification logic: aircraft framework, system architecture, and compliance evidence.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Main question&lt;br /&gt;
! Main output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Where does Mini-Bee fit in the EASA framework?&lt;br /&gt;
| Aircraft category and certification basis&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| Which rules apply to each system?&lt;br /&gt;
| System and sub-system certification map&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Which evidence proves compliance?&lt;br /&gt;
| Analyses, tests, inspections, simulations and reports&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== High Level — aircraft positioning ==&lt;br /&gt;
&lt;br /&gt;
The high-level framework defines the regulatory positioning of Mini-Bee / RED VTOL.&lt;br /&gt;
&lt;br /&gt;
The current logic is to consider the aircraft as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This is the main certification idea of the presentation.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides the small rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 covers the specific aspects of VTOL-capable aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|center|900px|Mini-Bee CS-27 and SC-VTOL-02 positioning]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 3.''' Mini-Bee positioned between CS-27 small rotorcraft logic and SC-VTOL-02 VTOL-capable aircraft logic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
EASA is the official European authority for aviation certification.&lt;br /&gt;
&lt;br /&gt;
For the Mini-Bee / RED VTOL project, all certification assumptions must be traced back to official EASA documents, with the correct issue date, amendment level and applicability.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role in the framework&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, only if the design fits its restrictions.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for complex rotorcraft aspects or if the aircraft exits CS-27 boundaries.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
| Certification specifications for engines.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
| Special condition for electric and hybrid propulsion systems.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
| Certification specifications for propellers.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
| Additional airworthiness specifications for operations.&lt;br /&gt;
|-&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
| Acceptable means of compliance for products, parts and appliances.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
| Aircraft engine emissions and fuel venting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Reference_Map.png|center|900px|Mini-Bee EASA reference map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 4.''' EASA reference map for the Mini-Bee / RED VTOL certification framework.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System and sub-system logic ==&lt;br /&gt;
&lt;br /&gt;
The medium-level framework translates the aircraft-level certification basis into system and sub-system references.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, the main technical domains are:&lt;br /&gt;
&lt;br /&gt;
* engine;&lt;br /&gt;
* electric and hybrid propulsion system;&lt;br /&gt;
* propellers and rotors;&lt;br /&gt;
* high-power electrical architecture;&lt;br /&gt;
* lift / thrust system;&lt;br /&gt;
* operational airworthiness;&lt;br /&gt;
* emissions and fuel venting;&lt;br /&gt;
* environmental constraints.&lt;br /&gt;
&lt;br /&gt;
The important point is that Mini-Bee cannot be certified only as a list of independent components.&lt;br /&gt;
&lt;br /&gt;
The aircraft must be understood as an integrated system.&lt;br /&gt;
&lt;br /&gt;
In particular, the complete '''lift / thrust system''' must be considered as a chain from energy source to thrust production.&lt;br /&gt;
&lt;br /&gt;
== Lift / thrust system chain ==&lt;br /&gt;
&lt;br /&gt;
The lift / thrust system is the core technical object of the Mini-Bee / RED VTOL certification study.&lt;br /&gt;
&lt;br /&gt;
It includes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention point&lt;br /&gt;
|-&lt;br /&gt;
| '''Fuel / battery'''&lt;br /&gt;
| Energy availability, storage, safety and endurance.&lt;br /&gt;
|-&lt;br /&gt;
| '''Engine'''&lt;br /&gt;
| Certified status, installation, operating limits and failure modes.&lt;br /&gt;
|-&lt;br /&gt;
| '''Generator'''&lt;br /&gt;
| Electrical generation, reliability and integration with the hybrid chain.&lt;br /&gt;
|-&lt;br /&gt;
| '''Power electronics'''&lt;br /&gt;
| High-voltage distribution, thermal control, EMC and safety.&lt;br /&gt;
|-&lt;br /&gt;
| '''Motors'''&lt;br /&gt;
| Redundancy, monitoring, degraded modes and thrust command.&lt;br /&gt;
|-&lt;br /&gt;
| '''Rotors / propellers'''&lt;br /&gt;
| Loads, vibration, thrust generation, noise and failure behaviour.&lt;br /&gt;
|-&lt;br /&gt;
| '''Lift'''&lt;br /&gt;
| Aircraft controllability, stability and safety in normal and degraded conditions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|center|900px|Mini-Bee lift thrust system chain]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 5.''' Lift / thrust system chain from energy source to distributed lift.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification risks ==&lt;br /&gt;
&lt;br /&gt;
The presentation highlights several certification risks that must be controlled early.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Why it matters&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27 / SC-VTOL boundary'''&lt;br /&gt;
| Mini-Bee combines rotorcraft behaviour and VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Possible CS-29 drift'''&lt;br /&gt;
| Mass, occupants, system complexity or operations may increase certification expectations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The complete energy and propulsion chain may become a safety-critical integrated system.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| EWIS, EMC, power electronics and electrical safety must be justified.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure cases and degraded modes must be clearly demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS mission'''&lt;br /&gt;
| Medical or public-service missions may create additional operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level — evidence and demonstration ==&lt;br /&gt;
&lt;br /&gt;
The low level is the level of concrete proof.&lt;br /&gt;
&lt;br /&gt;
Certification is not based only on design intention.  &lt;br /&gt;
It is based on evidence.&lt;br /&gt;
&lt;br /&gt;
Typical evidence includes:&lt;br /&gt;
&lt;br /&gt;
* requirement allocation;&lt;br /&gt;
* safety analyses;&lt;br /&gt;
* calculations;&lt;br /&gt;
* system schematics;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* HIL / SIL simulations;&lt;br /&gt;
* inspection reports;&lt;br /&gt;
* environmental qualification;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* flight test reports;&lt;br /&gt;
* compliance documentation.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|center|900px|Mini-Bee low level evidence matrix]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 6.''' Low-level evidence matrix linking requirements to analyses, tests, inspections and demonstrations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification pathway ==&lt;br /&gt;
&lt;br /&gt;
The certification pathway should be progressive.&lt;br /&gt;
&lt;br /&gt;
It should move from regulatory positioning to detailed evidence:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Step 1&lt;br /&gt;
! Step 2&lt;br /&gt;
! Step 3&lt;br /&gt;
! Step 4&lt;br /&gt;
! Step 5&lt;br /&gt;
|-&lt;br /&gt;
| Aircraft classification&lt;br /&gt;
| Applicable rules&lt;br /&gt;
| System allocation&lt;br /&gt;
| Evidence production&lt;br /&gt;
| Testing and approval&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|center|900px|Mini-Bee certification pathway]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure 7.''' Certification pathway from concept definition to compliance demonstration.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What this work brings to the project ==&lt;br /&gt;
&lt;br /&gt;
The RED VTOL / ALTEN Solidaire certification work brings structure to the Mini-Bee project.&lt;br /&gt;
&lt;br /&gt;
It helps the project move from a conceptual aircraft architecture to a more credible engineering path.&lt;br /&gt;
&lt;br /&gt;
The main benefits are:&lt;br /&gt;
&lt;br /&gt;
* better understanding of EASA certification logic;&lt;br /&gt;
* clearer positioning between CS-27 and SC-VTOL-02;&lt;br /&gt;
* identification of system-level certification references;&lt;br /&gt;
* early detection of regulatory risks;&lt;br /&gt;
* preparation of future compliance evidence;&lt;br /&gt;
* improved design discipline;&lt;br /&gt;
* stronger credibility for partners, authorities and future operators.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / RED VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is based on:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable aspects;&lt;br /&gt;
* '''SC E-19''' for electric and hybrid propulsion;&lt;br /&gt;
* '''CS-E''' for engines;&lt;br /&gt;
* '''CS-P''' for propellers;&lt;br /&gt;
* additional references such as CS-26, AMC-20, CS-34, CS-VLR and CS-29 when relevant.&lt;br /&gt;
&lt;br /&gt;
The certification framework is not only a regulatory checklist.  &lt;br /&gt;
It is a design management tool.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / RED VTOL, it helps transform an innovative hybrid VTOL concept into a structured, traceable and progressively certifiable aircraft project.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
* [[TRL]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Lift_Thrust_System_Chain.png&amp;diff=1995</id>
		<title>File:MiniBee Lift Thrust System Chain.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Lift_Thrust_System_Chain.png&amp;diff=1995"/>
		<updated>2026-05-19T10:23:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Medium_Level_System_Certification_Map.png&amp;diff=1994</id>
		<title>File:MiniBee Medium Level System Certification Map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Medium_Level_System_Certification_Map.png&amp;diff=1994"/>
		<updated>2026-05-19T10:04:03Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_EASA_Reference_Map.png&amp;diff=1993</id>
		<title>File:MiniBee EASA Reference Map.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_EASA_Reference_Map.png&amp;diff=1993"/>
		<updated>2026-05-19T09:21:21Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_CS27_SCVTOL_Positioning.png&amp;diff=1992</id>
		<title>File:MiniBee CS27 SCVTOL Positioning.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_CS27_SCVTOL_Positioning.png&amp;diff=1992"/>
		<updated>2026-05-19T09:06:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Certification_Three_Level_Logic.png&amp;diff=1991</id>
		<title>File:MiniBee Certification Three Level Logic.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:MiniBee_Certification_Three_Level_Logic.png&amp;diff=1991"/>
		<updated>2026-05-19T08:48:10Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1990</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1990"/>
		<updated>2026-05-19T08:25:09Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* VTOL Certification Framework */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #d0d7de; border-radius:14px; padding:22px; background:#f8fafc; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:150%; font-weight:bold; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
Mini-Bee / Red VTOL — EASA Certification Framework&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:105%; line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
A high-level certification map for a 2PAX hybrid VTOL multicopter designed as an ultra-light air ambulance concept.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422 RedVTOL EASA Certification 01 High Level Framework v2 en.pptx|center|900px|Mini-Bee / Red VTOL EASA Certification Framework]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Hero visual placeholder''' — Mini-Bee aircraft, EASA certification path, CS-27, SC-VTOL-02 and system demonstration.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Main document ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #1f4e79; border-radius:12px; padding:18px; background:#eef6ff; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:125%; font-weight:bold; color:#1f4e79;&amp;quot;&amp;gt;&lt;br /&gt;
Download the full PowerPoint presentation&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|'''Download the PowerPoint presentation''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This presentation defines the high-level EASA certification logic for Mini-Bee / Red VTOL.  &lt;br /&gt;
It identifies the main aircraft classification, the applicable certification texts, the system references, and the next certification risks to analyse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification snapshot ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Project&lt;br /&gt;
! Aircraft logic&lt;br /&gt;
! Main basis&lt;br /&gt;
! VTOL complement&lt;br /&gt;
! Key issue&lt;br /&gt;
|-&lt;br /&gt;
| '''Mini-Bee / Red VTOL'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Certifiable lift/thrust system&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;210px&amp;quot;&amp;gt;&lt;br /&gt;
File:MiniBee_High_Level_Certification_Map.png|'''High Level'''&amp;lt;br /&amp;gt;Aircraft classification and regulatory basis.&lt;br /&gt;
File:MiniBee_System_Certification_Map.png|'''Medium Level'''&amp;lt;br /&amp;gt;System and sub-system certification references.&lt;br /&gt;
File:MiniBee_Evidence_Demonstration_Map.png|'''Low Level'''&amp;lt;br /&amp;gt;Evidence, tests and means of compliance.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Page objective ==&lt;br /&gt;
&lt;br /&gt;
The objective of this page is to summarize the certification logic of Mini-Bee / Red VTOL.&lt;br /&gt;
&lt;br /&gt;
It answers three practical questions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Question&lt;br /&gt;
! Certification answer&lt;br /&gt;
|-&lt;br /&gt;
| '''What is the aircraft category?'''&lt;br /&gt;
| Small rotorcraft with VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Which rules apply?'''&lt;br /&gt;
| CS-27, SC-VTOL-02 and associated system references.&lt;br /&gt;
|-&lt;br /&gt;
| '''What must be demonstrated?'''&lt;br /&gt;
| Safety, compliance, lift/thrust system robustness and technical evidence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Visual certification logic ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Three_Level_Logic.png|center|900px|Mini-Bee certification three-level logic]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure placeholder''' — Three-level certification logic: High Level, Medium Level, Low Level.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Meaning&lt;br /&gt;
! Main output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Aircraft classification and certification basis.&lt;br /&gt;
| CS-27 + SC-VTOL-02 positioning.&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| System and sub-system rules.&lt;br /&gt;
| CS-E, SC E-19, CS-P, CS-26, AMC-20, CS-34.&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Compliance demonstration.&lt;br /&gt;
| Analyses, tests, simulations, inspections and reports.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== High Level — aircraft positioning ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current certification logic is to position Mini-Bee / Red VTOL as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This is the central regulatory positioning of the project.&lt;br /&gt;
&lt;br /&gt;
CS-27 gives the rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 covers the specific VTOL-capable aspects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|center|430px|Mini-Bee CS-27 and SC-VTOL-02 positioning]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Mini-Bee positioned between CS-27 and SC-VTOL-02.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role in the framework&lt;br /&gt;
|-&lt;br /&gt;
| '''EASA'''&lt;br /&gt;
| Official European authority for aviation certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, if the design fits.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for more complex rotorcraft aspects.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Reference_Map.png|center|900px|Mini-Bee EASA reference map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — EASA reference map: CS-27, SC-VTOL-02, CS-VLR and CS-29.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Medium Level — system certification map ==&lt;br /&gt;
&lt;br /&gt;
The aircraft-level certification basis must be translated into system and sub-system references.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Aircraft domain&lt;br /&gt;
! Main certification reference&lt;br /&gt;
|-&lt;br /&gt;
| Engine&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
|-&lt;br /&gt;
| Electric / hybrid propulsion&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
|-&lt;br /&gt;
| Propellers&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
|-&lt;br /&gt;
| Operational airworthiness&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
|-&lt;br /&gt;
| Products, parts and appliances&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
|-&lt;br /&gt;
| Emissions and fuel venting&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Medium_Level_System_Certification_Map.png|center|900px|Mini-Bee medium level certification map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — System map linking each aircraft domain to its certification reference.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lift / thrust system ==&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the key technical object is the complete '''lift / thrust system'''.&lt;br /&gt;
&lt;br /&gt;
It must be considered as an integrated chain.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|center|900px|Mini-Bee lift thrust system chain]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Fuel source → engine → generator → power electronics → motors → propellers → thrust.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention&lt;br /&gt;
|-&lt;br /&gt;
| Energy source&lt;br /&gt;
| Safety, endurance, fuel venting.&lt;br /&gt;
|-&lt;br /&gt;
| Thermal engine&lt;br /&gt;
| CS-E and installation.&lt;br /&gt;
|-&lt;br /&gt;
| Electrical generation&lt;br /&gt;
| Reliability and degraded modes.&lt;br /&gt;
|-&lt;br /&gt;
| Power electronics&lt;br /&gt;
| Electrical safety and EMC.&lt;br /&gt;
|-&lt;br /&gt;
| Electric motors&lt;br /&gt;
| Redundancy and failure cases.&lt;br /&gt;
|-&lt;br /&gt;
| Propellers / rotors&lt;br /&gt;
| Loads, vibration, noise and safety.&lt;br /&gt;
|-&lt;br /&gt;
| Control logic&lt;br /&gt;
| Monitoring, command and degraded operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level — evidence and demonstration ==&lt;br /&gt;
&lt;br /&gt;
Certification is not based on intention.  &lt;br /&gt;
It is based on documented evidence.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|center|900px|Mini-Bee evidence matrix]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Requirements linked to analyses, tests, inspections, simulations and demonstrations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Analysis&lt;br /&gt;
! Test&lt;br /&gt;
! Simulation&lt;br /&gt;
! Inspection&lt;br /&gt;
! Demonstration&lt;br /&gt;
|-&lt;br /&gt;
| Safety studies&lt;br /&gt;
| Bench tests&lt;br /&gt;
| HIL / SIL&lt;br /&gt;
| Installation checks&lt;br /&gt;
| Flight evidence&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification risks ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Design impact&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27 / SC-VTOL boundary'''&lt;br /&gt;
| The aircraft must remain clearly classifiable.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29 drift'''&lt;br /&gt;
| Complexity may increase certification burden.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The full chain may be safety-critical.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| EWIS, EMC and power distribution must be justified.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure cases and degraded modes must be demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS mission'''&lt;br /&gt;
| Medical or public service use may add operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification pathway ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|center|900px|Mini-Bee certification pathway]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Concept → classification → system map → evidence → tests → operational approval.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key conclusions from the presentation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:14px 18px; background:#f6f8fa; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable aspects;&lt;br /&gt;
* '''SC E-19''' for hybrid propulsion;&lt;br /&gt;
* '''CS-E''' and '''CS-P''' for engine and propulsive elements;&lt;br /&gt;
* additional references when operations, complexity or environmental aspects require them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visuals to create ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! File name&lt;br /&gt;
! Role&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_VTOL_Certification_Framework_Hero.png'''&lt;br /&gt;
| Hero image for the top of the page.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Certification_Three_Level_Logic.png'''&lt;br /&gt;
| Explain High / Medium / Low certification levels.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_CS27_SCVTOL_Positioning.png'''&lt;br /&gt;
| Show the dual positioning of Mini-Bee.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_EASA_Reference_Map.png'''&lt;br /&gt;
| Show the main EASA references.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Medium_Level_System_Certification_Map.png'''&lt;br /&gt;
| Link systems to certification references.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Lift_Thrust_System_Chain.png'''&lt;br /&gt;
| Show the full lift/thrust chain.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Low_Level_Evidence_Matrix.png'''&lt;br /&gt;
| Show compliance evidence.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Certification_Pathway.png'''&lt;br /&gt;
| Final certification roadmap visual.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Bee-Plane]]&lt;br /&gt;
* [[Iso-Plane]]&lt;br /&gt;
* [[RED VTOL ONG]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx&amp;diff=1989</id>
		<title>File:20260422 RedVTOL EASA Certification 01 High Level Framework v2 en.pptx</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx&amp;diff=1989"/>
		<updated>2026-05-19T08:24:05Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1988</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1988"/>
		<updated>2026-05-19T08:18:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #d0d7de; border-radius:14px; padding:22px; background:#f8fafc; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:150%; font-weight:bold; margin-bottom:8px;&amp;quot;&amp;gt;&lt;br /&gt;
Mini-Bee / Red VTOL — EASA Certification Framework&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:105%; line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
A high-level certification map for a 2PAX hybrid VTOL multicopter designed as an ultra-light air ambulance concept.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Hero.png|center|900px|Mini-Bee / Red VTOL EASA Certification Framework]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Hero visual placeholder''' — Mini-Bee aircraft, EASA certification path, CS-27, SC-VTOL-02 and system demonstration.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Main document ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #1f4e79; border-radius:12px; padding:18px; background:#eef6ff; margin-bottom:25px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:125%; font-weight:bold; color:#1f4e79;&amp;quot;&amp;gt;&lt;br /&gt;
Download the full PowerPoint presentation&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|'''Download the PowerPoint presentation''']]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This presentation defines the high-level EASA certification logic for Mini-Bee / Red VTOL.  &lt;br /&gt;
It identifies the main aircraft classification, the applicable certification texts, the system references, and the next certification risks to analyse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Certification snapshot ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Project&lt;br /&gt;
! Aircraft logic&lt;br /&gt;
! Main basis&lt;br /&gt;
! VTOL complement&lt;br /&gt;
! Key issue&lt;br /&gt;
|-&lt;br /&gt;
| '''Mini-Bee / Red VTOL'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Certifiable lift/thrust system&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;210px&amp;quot;&amp;gt;&lt;br /&gt;
File:MiniBee_High_Level_Certification_Map.png|'''High Level'''&amp;lt;br /&amp;gt;Aircraft classification and regulatory basis.&lt;br /&gt;
File:MiniBee_System_Certification_Map.png|'''Medium Level'''&amp;lt;br /&amp;gt;System and sub-system certification references.&lt;br /&gt;
File:MiniBee_Evidence_Demonstration_Map.png|'''Low Level'''&amp;lt;br /&amp;gt;Evidence, tests and means of compliance.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Page objective ==&lt;br /&gt;
&lt;br /&gt;
The objective of this page is to summarize the certification logic of Mini-Bee / Red VTOL.&lt;br /&gt;
&lt;br /&gt;
It answers three practical questions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Question&lt;br /&gt;
! Certification answer&lt;br /&gt;
|-&lt;br /&gt;
| '''What is the aircraft category?'''&lt;br /&gt;
| Small rotorcraft with VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Which rules apply?'''&lt;br /&gt;
| CS-27, SC-VTOL-02 and associated system references.&lt;br /&gt;
|-&lt;br /&gt;
| '''What must be demonstrated?'''&lt;br /&gt;
| Safety, compliance, lift/thrust system robustness and technical evidence.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Visual certification logic ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Three_Level_Logic.png|center|900px|Mini-Bee certification three-level logic]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555; margin-top:8px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Figure placeholder''' — Three-level certification logic: High Level, Medium Level, Low Level.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Meaning&lt;br /&gt;
! Main output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Aircraft classification and certification basis.&lt;br /&gt;
| CS-27 + SC-VTOL-02 positioning.&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| System and sub-system rules.&lt;br /&gt;
| CS-E, SC E-19, CS-P, CS-26, AMC-20, CS-34.&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Compliance demonstration.&lt;br /&gt;
| Analyses, tests, simulations, inspections and reports.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== High Level — aircraft positioning ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current certification logic is to position Mini-Bee / Red VTOL as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This is the central regulatory positioning of the project.&lt;br /&gt;
&lt;br /&gt;
CS-27 gives the rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 covers the specific VTOL-capable aspects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|center|430px|Mini-Bee CS-27 and SC-VTOL-02 positioning]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Mini-Bee positioned between CS-27 and SC-VTOL-02.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role in the framework&lt;br /&gt;
|-&lt;br /&gt;
| '''EASA'''&lt;br /&gt;
| Official European authority for aviation certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, if the design fits.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for more complex rotorcraft aspects.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Reference_Map.png|center|900px|Mini-Bee EASA reference map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — EASA reference map: CS-27, SC-VTOL-02, CS-VLR and CS-29.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Medium Level — system certification map ==&lt;br /&gt;
&lt;br /&gt;
The aircraft-level certification basis must be translated into system and sub-system references.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Aircraft domain&lt;br /&gt;
! Main certification reference&lt;br /&gt;
|-&lt;br /&gt;
| Engine&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
|-&lt;br /&gt;
| Electric / hybrid propulsion&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
|-&lt;br /&gt;
| Propellers&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
|-&lt;br /&gt;
| Operational airworthiness&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
|-&lt;br /&gt;
| Products, parts and appliances&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
|-&lt;br /&gt;
| Emissions and fuel venting&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Medium_Level_System_Certification_Map.png|center|900px|Mini-Bee medium level certification map]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — System map linking each aircraft domain to its certification reference.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lift / thrust system ==&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the key technical object is the complete '''lift / thrust system'''.&lt;br /&gt;
&lt;br /&gt;
It must be considered as an integrated chain.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|center|900px|Mini-Bee lift thrust system chain]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Fuel source → engine → generator → power electronics → motors → propellers → thrust.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention&lt;br /&gt;
|-&lt;br /&gt;
| Energy source&lt;br /&gt;
| Safety, endurance, fuel venting.&lt;br /&gt;
|-&lt;br /&gt;
| Thermal engine&lt;br /&gt;
| CS-E and installation.&lt;br /&gt;
|-&lt;br /&gt;
| Electrical generation&lt;br /&gt;
| Reliability and degraded modes.&lt;br /&gt;
|-&lt;br /&gt;
| Power electronics&lt;br /&gt;
| Electrical safety and EMC.&lt;br /&gt;
|-&lt;br /&gt;
| Electric motors&lt;br /&gt;
| Redundancy and failure cases.&lt;br /&gt;
|-&lt;br /&gt;
| Propellers / rotors&lt;br /&gt;
| Loads, vibration, noise and safety.&lt;br /&gt;
|-&lt;br /&gt;
| Control logic&lt;br /&gt;
| Monitoring, command and degraded operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level — evidence and demonstration ==&lt;br /&gt;
&lt;br /&gt;
Certification is not based on intention.  &lt;br /&gt;
It is based on documented evidence.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|center|900px|Mini-Bee evidence matrix]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Requirements linked to analyses, tests, inspections, simulations and demonstrations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; text-align:center;&amp;quot;&lt;br /&gt;
! Analysis&lt;br /&gt;
! Test&lt;br /&gt;
! Simulation&lt;br /&gt;
! Inspection&lt;br /&gt;
! Demonstration&lt;br /&gt;
|-&lt;br /&gt;
| Safety studies&lt;br /&gt;
| Bench tests&lt;br /&gt;
| HIL / SIL&lt;br /&gt;
| Installation checks&lt;br /&gt;
| Flight evidence&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification risks ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Design impact&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27 / SC-VTOL boundary'''&lt;br /&gt;
| The aircraft must remain clearly classifiable.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29 drift'''&lt;br /&gt;
| Complexity may increase certification burden.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The full chain may be safety-critical.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| EWIS, EMC and power distribution must be justified.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure cases and degraded modes must be demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS mission'''&lt;br /&gt;
| Medical or public service use may add operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification pathway ==&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|center|900px|Mini-Bee certification pathway]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; font-size:90%; color:#555;&amp;quot;&amp;gt;&lt;br /&gt;
'''Visual placeholder''' — Concept → classification → system map → evidence → tests → operational approval.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key conclusions from the presentation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:14px 18px; background:#f6f8fa; margin:18px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable aspects;&lt;br /&gt;
* '''SC E-19''' for hybrid propulsion;&lt;br /&gt;
* '''CS-E''' and '''CS-P''' for engine and propulsive elements;&lt;br /&gt;
* additional references when operations, complexity or environmental aspects require them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visuals to create ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! File name&lt;br /&gt;
! Role&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_VTOL_Certification_Framework_Hero.png'''&lt;br /&gt;
| Hero image for the top of the page.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Certification_Three_Level_Logic.png'''&lt;br /&gt;
| Explain High / Medium / Low certification levels.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_CS27_SCVTOL_Positioning.png'''&lt;br /&gt;
| Show the dual positioning of Mini-Bee.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_EASA_Reference_Map.png'''&lt;br /&gt;
| Show the main EASA references.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Medium_Level_System_Certification_Map.png'''&lt;br /&gt;
| Link systems to certification references.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Lift_Thrust_System_Chain.png'''&lt;br /&gt;
| Show the full lift/thrust chain.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Low_Level_Evidence_Matrix.png'''&lt;br /&gt;
| Show compliance evidence.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Certification_Pathway.png'''&lt;br /&gt;
| Final certification roadmap visual.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Bee-Plane]]&lt;br /&gt;
* [[Iso-Plane]]&lt;br /&gt;
* [[RED VTOL ONG]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1987</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1987"/>
		<updated>2026-05-19T08:14:49Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
'''Mini-Bee / Red VTOL — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
The '''VTOL Certification Framework''' defines how a vertical take-off and landing aircraft can be designed, justified, tested and progressively accepted by the aviation authority.&lt;br /&gt;
&lt;br /&gt;
For '''Mini-Bee / Red VTOL''', certification is not only a regulatory constraint.  &lt;br /&gt;
It is a design driver.&lt;br /&gt;
&lt;br /&gt;
The objective is to position the aircraft inside the EASA certification environment and to identify the main rules that will guide the future technical demonstration.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Overview.png|thumb|center|900px|'''Mini-Bee / Red VTOL certification framework overview'''&amp;lt;br /&amp;gt;Placeholder visual showing the aircraft, EASA, CS-27, SC-VTOL-02 and the certification pathway.]]&lt;br /&gt;
&lt;br /&gt;
== Quick project summary ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Item&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Project'''&lt;br /&gt;
| Mini-Bee / Red VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''Aircraft type'''&lt;br /&gt;
| 2PAX hybrid VTOL multicopter&lt;br /&gt;
|-&lt;br /&gt;
| '''Mission orientation'''&lt;br /&gt;
| Ultra-light air ambulance / VEMS concept&lt;br /&gt;
|-&lt;br /&gt;
| '''Certification topic'''&lt;br /&gt;
| EASA VTOL Certification Framework&lt;br /&gt;
|-&lt;br /&gt;
| '''Main aircraft basis'''&lt;br /&gt;
| CS-27 Small Rotorcraft&lt;br /&gt;
|-&lt;br /&gt;
| '''VTOL-specific basis'''&lt;br /&gt;
| SC-VTOL-02 Small-Category VTOL-Capable Aircraft&lt;br /&gt;
|-&lt;br /&gt;
| '''Key challenge'''&lt;br /&gt;
| Demonstrate that the aircraft can follow a credible path toward certification, safety and operational approval&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Main presentation ==&lt;br /&gt;
&lt;br /&gt;
The main document supporting this page is the PowerPoint presentation:&lt;br /&gt;
&lt;br /&gt;
: '''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Document&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
| High level certification framework for Mini-Bee / Red VTOL, including EASA references, CS-27, SC-VTOL-02, CS-VLR, CS-29, system and sub-system certification references, environmental topics, official links and glossary.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_EASA_Presentation_Extract.png|thumb|center|900px|'''Presentation overview'''&amp;lt;br /&amp;gt;Placeholder visual to be created from the first slide or from a graphical synthesis of the PowerPoint.]]&lt;br /&gt;
&lt;br /&gt;
== Visual introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;220px&amp;quot;&amp;gt;&lt;br /&gt;
File:MiniBee_High_Level_Certification_Map.png|'''High level framework'''&amp;lt;br /&amp;gt;CS-27, SC-VTOL-02, CS-29 and CS-VLR positioning.&lt;br /&gt;
File:MiniBee_Lift_Thrust_System_Chain.png|'''Lift / thrust system'''&amp;lt;br /&amp;gt;Hybrid chain from energy source to distributed propellers.&lt;br /&gt;
File:MiniBee_Low_Level_Evidence_Matrix.png|'''Compliance evidence'''&amp;lt;br /&amp;gt;Requirements, analyses, tests, inspections and demonstrations.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Project overview ==&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee / Red VTOL concept is a hybrid VTOL aircraft project based on a distributed lift architecture.&lt;br /&gt;
&lt;br /&gt;
From a certification point of view, the aircraft must be treated carefully because it is not a conventional helicopter and not a conventional aeroplane. It combines rotorcraft behaviour with VTOL-capable characteristics.&lt;br /&gt;
&lt;br /&gt;
The current certification logic is therefore based on two main references:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27 Small Rotorcraft''' for the rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for VTOL-capable specific aspects.&lt;br /&gt;
&lt;br /&gt;
This dual approach helps structure the project without ignoring the innovative features of the aircraft.&lt;br /&gt;
&lt;br /&gt;
== High Level Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
The high level framework answers one main question:&lt;br /&gt;
&lt;br /&gt;
: '''Where does Mini-Bee / Red VTOL fit inside the EASA certification environment?'''&lt;br /&gt;
&lt;br /&gt;
The current positioning is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Complementary framework for VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference only if the aircraft fits very light rotorcraft restrictions.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for complex rotorcraft aspects or if the design exits CS-27 boundaries.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|thumb|right|420px|'''Certification positioning'''&amp;lt;br /&amp;gt;Mini-Bee between small rotorcraft logic and VTOL-capable aircraft logic.]]&lt;br /&gt;
&lt;br /&gt;
At this level, the key point is to avoid a late reclassification risk.&lt;br /&gt;
&lt;br /&gt;
A design initially considered under CS-27 may be pushed toward more demanding expectations if it exceeds boundaries related to mass, occupants, complexity, power architecture, operating mode or public transport use.&lt;br /&gt;
&lt;br /&gt;
== EASA as official source ==&lt;br /&gt;
&lt;br /&gt;
EASA is the official European authority for aviation safety and certification.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, every certification reference must be checked from official EASA sources:&lt;br /&gt;
&lt;br /&gt;
* certification specifications;&lt;br /&gt;
* special conditions;&lt;br /&gt;
* acceptable means of compliance;&lt;br /&gt;
* guidance material;&lt;br /&gt;
* rulemaking tasks;&lt;br /&gt;
* consultation documents;&lt;br /&gt;
* easy access rules;&lt;br /&gt;
* official FAQs and product lists.&lt;br /&gt;
&lt;br /&gt;
This is important because certification work must rely on validated texts, with clear issue dates and amendment levels.&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Main use for Mini-Bee / Red VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Small rotorcraft certification basis.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| VTOL-capable aircraft specific requirements.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Very light rotorcraft reference, under strict limitations.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Large rotorcraft reference for complex or higher-category aspects.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
| Engine certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
| Electric and hybrid propulsion system certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
| Propeller certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
| Additional airworthiness specifications for operations.&lt;br /&gt;
|-&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
| Products, parts and appliances.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
| Aircraft engine emissions and fuel venting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== System and sub-system framework ==&lt;br /&gt;
&lt;br /&gt;
The medium level framework links the aircraft-level certification basis to each major technical domain.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the most important domains are:&lt;br /&gt;
&lt;br /&gt;
* thermal engine;&lt;br /&gt;
* electric and hybrid propulsion system;&lt;br /&gt;
* propellers or rotors;&lt;br /&gt;
* high-power electrical architecture;&lt;br /&gt;
* distributed lift system;&lt;br /&gt;
* operational airworthiness;&lt;br /&gt;
* emissions and fuel venting;&lt;br /&gt;
* noise and environmental constraints.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Medium_Level_System_Map.png|thumb|center|900px|'''System and sub-system certification map'''&amp;lt;br /&amp;gt;Placeholder visual showing CS-E, SC E-19, CS-P, CS-26, AMC-20 and CS-34 around the Mini-Bee architecture.]]&lt;br /&gt;
&lt;br /&gt;
The main technical point is the definition of the complete '''lift / thrust system'''.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, this system should include the complete chain:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Chain element&lt;br /&gt;
! Certification attention point&lt;br /&gt;
|-&lt;br /&gt;
| Fuel / energy source&lt;br /&gt;
| Safety, storage, venting, endurance and environmental constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Thermal engine&lt;br /&gt;
| CS-E, installation, operating limits and integration.&lt;br /&gt;
|-&lt;br /&gt;
| Electrical generation&lt;br /&gt;
| Power conversion, reliability and degraded modes.&lt;br /&gt;
|-&lt;br /&gt;
| Power electronics&lt;br /&gt;
| Thermal control, electrical safety and EMC.&lt;br /&gt;
|-&lt;br /&gt;
| Electric motors&lt;br /&gt;
| Redundancy, failure cases and thrust control.&lt;br /&gt;
|-&lt;br /&gt;
| Propellers / rotors&lt;br /&gt;
| CS-P, loads, vibration, safety and noise.&lt;br /&gt;
|-&lt;br /&gt;
| Flight control logic&lt;br /&gt;
| Command, monitoring, degraded modes and safety analysis.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Low Level demonstration ==&lt;br /&gt;
&lt;br /&gt;
The low level framework is the level of evidence.&lt;br /&gt;
&lt;br /&gt;
At this stage, the project must demonstrate that each requirement is satisfied through traceable proof.&lt;br /&gt;
&lt;br /&gt;
Typical evidence includes:&lt;br /&gt;
&lt;br /&gt;
* analyses;&lt;br /&gt;
* calculations;&lt;br /&gt;
* simulations;&lt;br /&gt;
* safety assessments;&lt;br /&gt;
* system schematics;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* HIL / SIL tests;&lt;br /&gt;
* inspections;&lt;br /&gt;
* qualification reports;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* flight test reports.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|thumb|center|900px|'''Low level evidence matrix'''&amp;lt;br /&amp;gt;Placeholder visual showing the link between requirements, means of compliance and project deliverables.]]&lt;br /&gt;
&lt;br /&gt;
This level is essential because certification is not based on intention.  &lt;br /&gt;
It is based on documented, verifiable and reviewable evidence.&lt;br /&gt;
&lt;br /&gt;
== Main certification risks ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Risk&lt;br /&gt;
! Why it matters&lt;br /&gt;
|-&lt;br /&gt;
| '''Boundary between CS-27 and SC-VTOL'''&lt;br /&gt;
| Mini-Bee combines rotorcraft behaviour and VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Possible move toward CS-29 expectations'''&lt;br /&gt;
| Complexity, mass, occupants or operations may increase the certification burden.&lt;br /&gt;
|-&lt;br /&gt;
| '''Hybrid propulsion'''&lt;br /&gt;
| The propulsion chain may need to be treated as an integrated safety-critical system.&lt;br /&gt;
|-&lt;br /&gt;
| '''High electrical power'''&lt;br /&gt;
| Electrical architecture, EWIS and EMC require specific attention.&lt;br /&gt;
|-&lt;br /&gt;
| '''Distributed lift'''&lt;br /&gt;
| Failure modes and degraded operation must be clearly demonstrated.&lt;br /&gt;
|-&lt;br /&gt;
| '''VEMS / medical mission'''&lt;br /&gt;
| Emergency medical use may introduce additional operational constraints.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Certification maturity logic ==&lt;br /&gt;
&lt;br /&gt;
The certification framework for VTOL-capable aircraft is still evolving.&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL should therefore keep a living certification watch on:&lt;br /&gt;
&lt;br /&gt;
* SC-VTOL updates;&lt;br /&gt;
* new means of compliance;&lt;br /&gt;
* EASA Rotorcraft and VTOL Safety Symposium outputs;&lt;br /&gt;
* electric and hybrid propulsion guidance;&lt;br /&gt;
* environmental rules;&lt;br /&gt;
* operational rules for VTOL-capable aircraft;&lt;br /&gt;
* pilot training and licensing evolutions.&lt;br /&gt;
&lt;br /&gt;
This point is important for the transition toward a stronger demonstrator phase.&lt;br /&gt;
&lt;br /&gt;
== What the presentation clarified ==&lt;br /&gt;
&lt;br /&gt;
The PowerPoint presentation clarified several key points:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Topic&lt;br /&gt;
! Clarification&lt;br /&gt;
|-&lt;br /&gt;
| '''Aircraft classification'''&lt;br /&gt;
| Mini-Bee can be considered as a small rotorcraft with VTOL-capable characteristics.&lt;br /&gt;
|-&lt;br /&gt;
| '''Main certification basis'''&lt;br /&gt;
| CS-27 should be used as the main rotorcraft basis.&lt;br /&gt;
|-&lt;br /&gt;
| '''VTOL complement'''&lt;br /&gt;
| SC-VTOL-02 is needed for specific VTOL-capable features.&lt;br /&gt;
|-&lt;br /&gt;
| '''System certification'''&lt;br /&gt;
| Engine, hybrid propulsion, propellers and electrical systems require dedicated references.&lt;br /&gt;
|-&lt;br /&gt;
| '''Design risk'''&lt;br /&gt;
| The project must avoid unintentionally exiting the CS-27 frame.&lt;br /&gt;
|-&lt;br /&gt;
| '''Future work'''&lt;br /&gt;
| Each certification text must be analysed in detail to deduce constraints and design options.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Questions to solve before a future certification phase ==&lt;br /&gt;
&lt;br /&gt;
Before moving toward a more advanced certification phase, several questions must be clarified:&lt;br /&gt;
&lt;br /&gt;
* What is the final certified mass target?&lt;br /&gt;
* What is the final occupant configuration?&lt;br /&gt;
* Which parts of the hybrid propulsion chain can rely on certified components?&lt;br /&gt;
* How should the integrated lift / thrust system be demonstrated?&lt;br /&gt;
* Which degraded modes must be demonstrated?&lt;br /&gt;
* What operational category should be targeted?&lt;br /&gt;
* How far should the VEMS mission be included in the first certification logic?&lt;br /&gt;
* Which EASA discussions or consultations should the project enter?&lt;br /&gt;
&lt;br /&gt;
== Suggested visuals to create ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Visual&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_VTOL_Certification_Framework_Overview.png'''&lt;br /&gt;
| Global cover visual for the page.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_High_Level_Certification_Map.png'''&lt;br /&gt;
| Show CS-27, SC-VTOL-02, CS-29 and CS-VLR around Mini-Bee.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_CS27_SCVTOL_Positioning.png'''&lt;br /&gt;
| Explain the dual positioning: rotorcraft basis + VTOL-capable complement.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Lift_Thrust_System_Chain.png'''&lt;br /&gt;
| Show the complete hybrid chain from fuel to propellers.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Medium_Level_System_Map.png'''&lt;br /&gt;
| Map systems and sub-systems to certification references.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Low_Level_Evidence_Matrix.png'''&lt;br /&gt;
| Show requirements linked to evidence and means of compliance.&lt;br /&gt;
|-&lt;br /&gt;
| '''MiniBee_Certification_Pathway.png'''&lt;br /&gt;
| Final synthesis visual: concept → framework → compliance → tests → approval.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the PowerPoint presentation]]&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
&lt;br /&gt;
== Why this framework matters ==&lt;br /&gt;
&lt;br /&gt;
The VTOL Certification Framework is essential because Mini-Bee / Red VTOL cannot be assessed only through performance or innovation.&lt;br /&gt;
&lt;br /&gt;
The aircraft must also be understandable, justifiable and demonstrable from a certification point of view.&lt;br /&gt;
&lt;br /&gt;
This framework helps the project move from an innovative VTOL concept toward a structured, traceable and credible aircraft development path.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|thumb|center|900px|'''Mini-Bee certification pathway'''&amp;lt;br /&amp;gt;Placeholder visual showing the progression from concept definition to certification evidence and operational approval.]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1986</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1986"/>
		<updated>2026-05-19T08:12:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
[[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|thumb|center|900px|'''Download the full presentation''' — Red VTOL / Mini-Bee EASA Certification Framework]]&lt;br /&gt;
&lt;br /&gt;
The '''VTOL Certification Framework''' defines how a vertical take-off and landing aircraft can be designed, justified, tested, and accepted by the aviation authority.&lt;br /&gt;
&lt;br /&gt;
For a project such as '''Mini-Bee / Red VTOL''', certification is not only a regulatory topic. It is a design driver. The aircraft must not only fly. It must also follow a credible path toward safety demonstration, technical compliance, and operational approval.&lt;br /&gt;
&lt;br /&gt;
In Europe, this framework is based on '''EASA''' — the European Union Aviation Safety Agency. EASA provides the official certification specifications, special conditions, acceptable means of compliance, guidance material, and rulemaking documents used for aircraft certification.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Overview.png|thumb|center|900px|'''Figure 1.''' Overview of the Mini-Bee / Red VTOL certification framework.]]&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&lt;br /&gt;
The objective of this page is to summarize the certification logic presented in the document:&lt;br /&gt;
&lt;br /&gt;
'''Red VTOL TRL4 — 2PAX VTOL hybrid multicopter — Ultra light air ambulance — EASA Certification Framework'''&lt;br /&gt;
&lt;br /&gt;
The presentation identifies the main regulatory references that may apply to Mini-Bee / Red VTOL and explains how the project can be positioned inside the EASA certification environment.&lt;br /&gt;
&lt;br /&gt;
The main objectives are:&lt;br /&gt;
&lt;br /&gt;
* define the certification framework of the concept;&lt;br /&gt;
* identify the main texts that orient the design;&lt;br /&gt;
* anticipate the certification process;&lt;br /&gt;
* analyse the maturity of the VTOL-capable aircraft regulation;&lt;br /&gt;
* prepare future technical demonstration and compliance activities.&lt;br /&gt;
&lt;br /&gt;
== High Level Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
At high level, the main question is:&lt;br /&gt;
&lt;br /&gt;
: '''Where does Mini-Bee / Red VTOL fit inside the EASA certification framework?'''&lt;br /&gt;
&lt;br /&gt;
The current logic is to consider Mini-Bee as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under '''CS-27''';&lt;br /&gt;
* with '''VTOL-capable characteristics''' under '''SC-VTOL-02'''.&lt;br /&gt;
&lt;br /&gt;
This means that the design should be oriented around both references:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27 Small Rotorcraft''';&lt;br /&gt;
* '''SC-VTOL-02 Small-Category VTOL-Capable Aircraft'''.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides the rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 adds the specific requirements linked to VTOL-capable aircraft, distributed lift, hybrid propulsion, high electrical power, and lift/thrust system safety.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_High_Level_Certification_Map.png|thumb|center|900px|'''Figure 2.''' High level certification positioning: CS-27, SC-VTOL-02, CS-29 and CS-VLR.]]&lt;br /&gt;
&lt;br /&gt;
== Main EASA references ==&lt;br /&gt;
&lt;br /&gt;
The presentation identifies several EASA references that structure the certification approach.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Reference&lt;br /&gt;
! Role for Mini-Bee / Red VTOL&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-27'''&lt;br /&gt;
| Main basis for small rotorcraft certification.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC-VTOL-02'''&lt;br /&gt;
| Special condition for small VTOL-capable aircraft.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-VLR'''&lt;br /&gt;
| Possible reference for very light rotorcraft, only if the design fits its restrictions.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-29'''&lt;br /&gt;
| Reference for large rotorcraft and complex design aspects.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-E'''&lt;br /&gt;
| Certification specifications for engines.&lt;br /&gt;
|-&lt;br /&gt;
| '''SC E-19'''&lt;br /&gt;
| Special condition for electric and hybrid propulsion systems.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-P'''&lt;br /&gt;
| Certification specifications for propellers.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-26'''&lt;br /&gt;
| Additional airworthiness specifications for operations.&lt;br /&gt;
|-&lt;br /&gt;
| '''AMC-20'''&lt;br /&gt;
| Acceptable means of compliance for products, parts and appliances.&lt;br /&gt;
|-&lt;br /&gt;
| '''CS-34'''&lt;br /&gt;
| Aircraft engine emissions and fuel venting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== System and Sub-System Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
The medium level of the framework concerns the main systems and sub-systems of the aircraft.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, this includes:&lt;br /&gt;
&lt;br /&gt;
* the engine;&lt;br /&gt;
* the electric or hybrid propulsion system;&lt;br /&gt;
* the propellers or rotors;&lt;br /&gt;
* the high-power electrical architecture;&lt;br /&gt;
* the lift/thrust chain;&lt;br /&gt;
* operational airworthiness topics;&lt;br /&gt;
* emissions and environmental constraints.&lt;br /&gt;
&lt;br /&gt;
The key point is that Mini-Bee cannot be certified only as a set of separate components.  &lt;br /&gt;
The complete '''lift/thrust system''' must be considered as an integrated chain.&lt;br /&gt;
&lt;br /&gt;
This chain includes:&lt;br /&gt;
&lt;br /&gt;
* energy source;&lt;br /&gt;
* thermal engine;&lt;br /&gt;
* electrical generation;&lt;br /&gt;
* power electronics;&lt;br /&gt;
* electric motors;&lt;br /&gt;
* distributed propellers or rotors;&lt;br /&gt;
* control logic;&lt;br /&gt;
* failure modes and degraded operation.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|thumb|center|900px|'''Figure 3.''' Placeholder visual: complete Mini-Bee lift/thrust chain.]]&lt;br /&gt;
&lt;br /&gt;
== Low Level Demonstration ==&lt;br /&gt;
&lt;br /&gt;
The low level corresponds to the concrete demonstration of compliance.&lt;br /&gt;
&lt;br /&gt;
At this stage, the project must produce technical evidence. Each requirement must be linked to a means of compliance.&lt;br /&gt;
&lt;br /&gt;
Typical evidence may include:&lt;br /&gt;
&lt;br /&gt;
* analyses;&lt;br /&gt;
* calculations;&lt;br /&gt;
* safety studies;&lt;br /&gt;
* system schematics;&lt;br /&gt;
* simulations;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* HIL / SIL tests;&lt;br /&gt;
* inspection procedures;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* test reports.&lt;br /&gt;
&lt;br /&gt;
This level is essential because certification is not based only on a concept. It is based on traceable proof.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|thumb|center|900px|'''Figure 4.''' Placeholder visual: requirements linked to analyses, tests, inspections and demonstrations.]]&lt;br /&gt;
&lt;br /&gt;
== Key certification risks ==&lt;br /&gt;
&lt;br /&gt;
The main risks identified for Mini-Bee / Red VTOL are:&lt;br /&gt;
&lt;br /&gt;
* unclear boundary between rotorcraft and VTOL-capable aircraft;&lt;br /&gt;
* possible movement from CS-27 toward CS-29 if the design becomes too complex;&lt;br /&gt;
* certification of the hybrid propulsion system;&lt;br /&gt;
* high electrical power requirements;&lt;br /&gt;
* distributed lift safety demonstration;&lt;br /&gt;
* lack of mature means of compliance for some VTOL technologies;&lt;br /&gt;
* operational requirements linked to air ambulance or public service missions.&lt;br /&gt;
&lt;br /&gt;
These risks do not block the project. They define the topics that must be treated early in the design process.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
The most credible certification logic is therefore based on:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27''' as the small rotorcraft basis;&lt;br /&gt;
* '''SC-VTOL-02''' for the VTOL-capable specific aspects;&lt;br /&gt;
* '''SC E-19''' for hybrid propulsion;&lt;br /&gt;
* additional references such as CS-E, CS-P, CS-26, AMC-20, CS-34, CS-VLR and CS-29 when relevant.&lt;br /&gt;
&lt;br /&gt;
The certification framework is not only a compliance checklist.  &lt;br /&gt;
It is a design management tool.&lt;br /&gt;
&lt;br /&gt;
It helps structure the project, identify design constraints, prepare evidence, and build a credible path toward future certification.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|thumb|center|900px|'''Figure 5.''' Placeholder visual: Mini-Bee certification pathway from concept to compliance demonstration.]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
* [[File:20260422_RedVTOL_EASA_Certification_01_High_Level_Framework_v2_en.pptx|Download the full PowerPoint presentation]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL ONG]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1985</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1985"/>
		<updated>2026-05-19T07:36:41Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework for Mini-Bee / Red VTOL =&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VTOL_Certification_Framework_Cover.png|thumb|center|900px|'''Figure 1.''' Mini-Bee / Red VTOL certification framework overview. Placeholder for a visual showing the aircraft, the EASA framework, and the High / Medium / Low certification logic.]]&lt;br /&gt;
&lt;br /&gt;
The '''VTOL Certification Framework''' is the regulatory and technical structure that defines how a vertical take-off and landing aircraft can be designed, justified, tested, and accepted by the aviation authority.&lt;br /&gt;
&lt;br /&gt;
For a project such as '''Mini-Bee / Red VTOL''', certification is not a secondary topic. It is a central part of the design logic. The objective is not only to build an innovative hybrid VTOL aircraft, but also to demonstrate that the concept can follow a credible path toward certification, safety, and operational approval.&lt;br /&gt;
&lt;br /&gt;
In Europe, this framework is based on '''EASA''' — the European Union Aviation Safety Agency. EASA publishes the official certification specifications, special conditions, acceptable means of compliance, guidance material, and rulemaking documents used as the basis for certification demonstration.&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee / Red VTOL concept is currently positioned as a '''small rotorcraft''' under '''CS-27''', complemented by '''SC-VTOL-02''' for its VTOL-capable characteristics. This combination is essential because the aircraft behaves partly like a rotorcraft, while also introducing specific VTOL features such as distributed lift, hybrid propulsion, high-power electrical architecture, and a complex lift/thrust chain.&lt;br /&gt;
&lt;br /&gt;
== Objective of the certification framework ==&lt;br /&gt;
&lt;br /&gt;
The objective of this certification framework is to:&lt;br /&gt;
&lt;br /&gt;
* define the regulatory environment in which the Mini-Bee / Red VTOL concept is included;&lt;br /&gt;
* identify the main certification texts that orient the aircraft design;&lt;br /&gt;
* anticipate the future certification process;&lt;br /&gt;
* analyse the maturity of the regulation, especially for VTOL-capable aircraft;&lt;br /&gt;
* identify potential gaps, uncertainties, and areas requiring further authority interaction;&lt;br /&gt;
* transform the aircraft concept into a certifiable engineering project.&lt;br /&gt;
&lt;br /&gt;
This framework is also a design enabler. It helps discover associated technologies, technical constraints, and certification orientations that can make the Mini-Bee / Red VTOL concept more coherent with market expectations and aviation safety requirements.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Objectives.png|thumb|center|900px|'''Figure 2.''' Certification framework objectives: classification, applicable rules, maturity analysis, and evidence preparation.]]&lt;br /&gt;
&lt;br /&gt;
== High Level Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
The '''High Level Certification Framework''' corresponds to the strategic level of the certification approach.&lt;br /&gt;
&lt;br /&gt;
At this level, the question is:&lt;br /&gt;
&lt;br /&gt;
: '''Where should Mini-Bee / Red VTOL be classified within the EASA certification framework?'''&lt;br /&gt;
&lt;br /&gt;
The answer defines the aircraft category, the main certification basis, the complementary certification references, and the regulatory philosophy that will guide the design.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the current logic is:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27 Small Rotorcraft''' as the main certification basis;&lt;br /&gt;
* '''SC-VTOL-02 Small-Category VTOL-Capable Aircraft''' as a complementary framework for VTOL-specific features;&lt;br /&gt;
* '''CS-29 Large Rotorcraft''' as a possible reference for design drivers, especially where system complexity or operational use goes beyond CS-27;&lt;br /&gt;
* '''CS-VLR Very Light Rotorcraft''' as a possible reference only if the aircraft design fits its restrictive conditions;&lt;br /&gt;
* selected '''AMC''', '''GM''', '''RMT''', '''NPA''', and consultation documents as supporting material.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_High_Level_Certification_Map.png|thumb|center|900px|'''Figure 3.''' High Level certification map showing CS-27, SC-VTOL-02, CS-29, and CS-VLR around the Mini-Bee concept.]]&lt;br /&gt;
&lt;br /&gt;
=== EASA as the official reference ===&lt;br /&gt;
&lt;br /&gt;
EASA is the official European authority for aviation safety and certification. Any certification basis used for Mini-Bee / Red VTOL must be traced to an official EASA source.&lt;br /&gt;
&lt;br /&gt;
This point is important because certification cannot be built on informal interpretations or outdated documents. Each text used as a reference should be checked for:&lt;br /&gt;
&lt;br /&gt;
* official EASA origin;&lt;br /&gt;
* issue number;&lt;br /&gt;
* amendment number;&lt;br /&gt;
* publication date;&lt;br /&gt;
* current validity;&lt;br /&gt;
* associated AMC or GM;&lt;br /&gt;
* relationship with other certification specifications.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the EASA Pro environment is the main access point for official certification material, including certification specifications, special conditions, rulemaking tasks, easy access rules, and consultation documents.&lt;br /&gt;
&lt;br /&gt;
== Main certification positioning of Mini-Bee ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL is currently considered as:&lt;br /&gt;
&lt;br /&gt;
: '''a small rotorcraft under CS-27, with VTOL-capable characteristics under SC-VTOL-02.'''&lt;br /&gt;
&lt;br /&gt;
This means that the design should comply with both:&lt;br /&gt;
&lt;br /&gt;
* '''CS-27 Small Rotorcraft''';&lt;br /&gt;
* '''SC-VTOL-02 Small-Category VTOL-Capable Aircraft'''.&lt;br /&gt;
&lt;br /&gt;
This dual positioning is one of the key points of the certification strategy.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides the rotorcraft basis.  &lt;br /&gt;
SC-VTOL-02 provides the additional logic for the VTOL-capable aspects that are not fully covered by conventional rotorcraft rules.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_SCVTOL_Positioning.png|thumb|right|450px|'''Figure 4.''' Proposed visual: Mini-Bee positioned between small rotorcraft logic and VTOL-capable aircraft logic.]]&lt;br /&gt;
&lt;br /&gt;
== SC-VTOL-02 Small-Category VTOL-Capable Aircraft ==&lt;br /&gt;
&lt;br /&gt;
'''SC-VTOL-02''' is a special condition for small-category VTOL-capable aircraft.&lt;br /&gt;
&lt;br /&gt;
It addresses aircraft that are able to take off and land vertically but differ from conventional rotorcraft or fixed-wing aircraft. This point is central for Mini-Bee / Red VTOL because the aircraft uses a non-conventional architecture, with distributed propulsion and a hybrid lift/thrust chain.&lt;br /&gt;
&lt;br /&gt;
The main SC-VTOL-02 topics relevant to Mini-Bee include:&lt;br /&gt;
&lt;br /&gt;
* VTOL-capable aircraft classification;&lt;br /&gt;
* safety analysis;&lt;br /&gt;
* single failure prevention;&lt;br /&gt;
* weight and occupant limits;&lt;br /&gt;
* lift/thrust system definition;&lt;br /&gt;
* flight and safety recorders;&lt;br /&gt;
* high electrical power;&lt;br /&gt;
* EWIS considerations;&lt;br /&gt;
* interaction between propulsion, lift, thrust, and control systems.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, the complete hybrid chain must be considered as part of the '''lift/thrust system'''. This means that the certification logic must not only cover the propellers or rotors, but the full chain from energy storage and generation to the final thrust-producing elements.&lt;br /&gt;
&lt;br /&gt;
This includes, for example:&lt;br /&gt;
&lt;br /&gt;
* fuel reservoir;&lt;br /&gt;
* thermal engine;&lt;br /&gt;
* generator or alternator;&lt;br /&gt;
* power electronics;&lt;br /&gt;
* electrical distribution;&lt;br /&gt;
* electric motors;&lt;br /&gt;
* rotors or propellers;&lt;br /&gt;
* control logic;&lt;br /&gt;
* degraded modes;&lt;br /&gt;
* safety monitoring.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Lift_Thrust_System_Chain.png|thumb|center|900px|'''Figure 5.''' Placeholder for a visual showing the complete Mini-Bee lift/thrust chain from energy source to distributed propellers.]]&lt;br /&gt;
&lt;br /&gt;
== CS-27 Small Rotorcraft ==&lt;br /&gt;
&lt;br /&gt;
'''CS-27''' is the Certification Specification for Small Rotorcraft.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, CS-27 is used because the aircraft behaves, from a certification standpoint, like a small rotorcraft. The presence of multiple propellers or rotors does not automatically remove the aircraft from rotorcraft logic. Instead, the general behaviour, flight control logic, lift generation, and operational philosophy remain close to rotorcraft certification principles.&lt;br /&gt;
&lt;br /&gt;
CS-27 provides requirements and acceptable means of compliance for small rotorcraft, including topics such as:&lt;br /&gt;
&lt;br /&gt;
* structural design;&lt;br /&gt;
* flight characteristics;&lt;br /&gt;
* controllability;&lt;br /&gt;
* performance;&lt;br /&gt;
* powerplant installation;&lt;br /&gt;
* equipment;&lt;br /&gt;
* operating limitations;&lt;br /&gt;
* safety and airworthiness.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, CS-27 is therefore the baseline certification frame. However, because Mini-Bee includes VTOL-capable and hybrid propulsion features, CS-27 must be complemented by additional references.&lt;br /&gt;
&lt;br /&gt;
== CS-VLR Very Light Rotorcraft ==&lt;br /&gt;
&lt;br /&gt;
'''CS-VLR''' applies to very light rotorcraft.&lt;br /&gt;
&lt;br /&gt;
It may be useful as a reference only if the design enters its restrictive frame. Typical CS-VLR logic is associated with simple rotorcraft, very limited occupancy, and restricted operations.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, CS-VLR may provide useful insights, but it should not be assumed as the main basis unless the aircraft fully matches its constraints.&lt;br /&gt;
&lt;br /&gt;
CS-VLR is relevant mainly as a comparison tool for:&lt;br /&gt;
&lt;br /&gt;
* simplicity of design;&lt;br /&gt;
* very light rotorcraft logic;&lt;br /&gt;
* low occupant count;&lt;br /&gt;
* restricted operations;&lt;br /&gt;
* possible design simplification.&lt;br /&gt;
&lt;br /&gt;
== CS-29 Large Rotorcraft ==&lt;br /&gt;
&lt;br /&gt;
'''CS-29''' applies to large rotorcraft.&lt;br /&gt;
&lt;br /&gt;
Mini-Bee is not primarily positioned as a CS-29 aircraft. However, CS-29 remains important as a reference because some design characteristics can push a project toward higher certification expectations.&lt;br /&gt;
&lt;br /&gt;
This may happen if the aircraft design includes:&lt;br /&gt;
&lt;br /&gt;
* higher weight;&lt;br /&gt;
* higher occupant capacity;&lt;br /&gt;
* complex systems;&lt;br /&gt;
* multi-engine or complex power architecture;&lt;br /&gt;
* public transport operations;&lt;br /&gt;
* night operations;&lt;br /&gt;
* operations over water;&lt;br /&gt;
* advanced equipment;&lt;br /&gt;
* human factors requirements;&lt;br /&gt;
* safety requirements beyond the CS-27 baseline.&lt;br /&gt;
&lt;br /&gt;
A candidate design under CS-27 may be required to comply with selected CS-29 specifications if some features exceed the boundaries of CS-27.&lt;br /&gt;
&lt;br /&gt;
This is a major risk to be considered early in the design.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_CS27_CS29_Boundary_Risk.png|thumb|center|900px|'''Figure 6.''' Placeholder for a visual showing the risk of moving from CS-27 logic toward CS-29 expectations when design complexity increases.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion of the High Level framework ==&lt;br /&gt;
&lt;br /&gt;
At High Level, Mini-Bee / Red VTOL should be treated as:&lt;br /&gt;
&lt;br /&gt;
* a '''small rotorcraft''' under CS-27;&lt;br /&gt;
* a '''VTOL-capable aircraft''' under SC-VTOL-02;&lt;br /&gt;
* a concept that may need selected CS-29 considerations if complexity, operations, or configuration exceed CS-27 expectations;&lt;br /&gt;
* a design that should only rely on CS-VLR if it fully fits the very light rotorcraft frame.&lt;br /&gt;
&lt;br /&gt;
The main conclusion is that Mini-Bee must be designed with certification boundaries in mind from the beginning.&lt;br /&gt;
&lt;br /&gt;
Only one non-compliant characteristic may be enough to move the aircraft into a higher or more demanding category. This may relate to mass, number of occupants, propulsion complexity, electrical architecture, operational use, or safety assumptions.&lt;br /&gt;
&lt;br /&gt;
== Medium Level Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
The '''Medium Level Certification Framework''' corresponds to the system and sub-system certification architecture.&lt;br /&gt;
&lt;br /&gt;
At this level, the question changes:&lt;br /&gt;
&lt;br /&gt;
: '''Which certification texts apply to each technical domain of the aircraft?'''&lt;br /&gt;
&lt;br /&gt;
The aircraft-level framework must be translated into system-level references. This is where the broad certification strategy becomes a practical engineering map.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the main system and sub-system references include:&lt;br /&gt;
&lt;br /&gt;
* '''CS-E''' for engines;&lt;br /&gt;
* '''SC E-19''' for electric and hybrid propulsion systems;&lt;br /&gt;
* '''CS-P''' for propellers;&lt;br /&gt;
* '''CS-26''' for additional airworthiness specifications for operations;&lt;br /&gt;
* '''AMC-20''' for products, parts, and appliances;&lt;br /&gt;
* '''CS-34''' for aircraft engine emissions and fuel venting;&lt;br /&gt;
* '''CS-36''' for aircraft noise where applicable;&lt;br /&gt;
* '''CS-CO2''' for CO2 aspects where applicable;&lt;br /&gt;
* selected EASA Certification Memoranda and consultation material.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Medium_Level_System_Map.png|thumb|center|900px|'''Figure 7.''' Medium Level certification map: engine, hybrid propulsion, propellers, electrical system, operations, emissions, and environmental references.]]&lt;br /&gt;
&lt;br /&gt;
== CS-E Engines ==&lt;br /&gt;
&lt;br /&gt;
'''CS-E''' defines certification specifications and acceptable means of compliance for engines.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the thermal engine is part of the complete lift/thrust chain. It is therefore not only an isolated component. Its certification status, integration, operating limitations, failure modes, and interaction with the hybrid electrical system must be considered.&lt;br /&gt;
&lt;br /&gt;
A certified aeronautical engine may reduce certification effort, provided that:&lt;br /&gt;
&lt;br /&gt;
* the engine is used within its certified operating envelope;&lt;br /&gt;
* installation effects are properly justified;&lt;br /&gt;
* cooling, fuel, vibration, and control interfaces are demonstrated;&lt;br /&gt;
* the integration with the hybrid chain does not create unaddressed risks.&lt;br /&gt;
&lt;br /&gt;
If a non-certified or significantly modified engine is used, the certification burden becomes much higher.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, the engine must be analysed in relation with:&lt;br /&gt;
&lt;br /&gt;
* CS-E;&lt;br /&gt;
* SC E-19;&lt;br /&gt;
* SC-VTOL-02;&lt;br /&gt;
* CS-34;&lt;br /&gt;
* the full lift/thrust system logic.&lt;br /&gt;
&lt;br /&gt;
== SC E-19 Electric / Hybrid Propulsion System ==&lt;br /&gt;
&lt;br /&gt;
'''SC E-19''' is the special condition addressing electric and hybrid propulsion systems.&lt;br /&gt;
&lt;br /&gt;
It is highly relevant for Mini-Bee / Red VTOL because the aircraft concept includes a hybrid propulsion architecture. SC E-19 provides a structured certification reference for systems that combine energy conversion, electrical power, control, and propulsion functions.&lt;br /&gt;
&lt;br /&gt;
The key point is that the certification approach may consider the hybrid propulsion either as:&lt;br /&gt;
&lt;br /&gt;
* an aircraft-level integrated system;&lt;br /&gt;
* an engine-like certification object;&lt;br /&gt;
* a set of interacting certified and non-certified components;&lt;br /&gt;
* or a dedicated system requiring its own means of compliance.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, this creates a major design question:&lt;br /&gt;
&lt;br /&gt;
: '''Should the hybrid propulsion system be treated as a set of components, or as one integrated lift/thrust system?'''&lt;br /&gt;
&lt;br /&gt;
From a safety perspective, the integrated-system approach appears more coherent because failures may propagate through electrical, mechanical, thermal, and control interfaces.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Electric_Hybrid_Propulsion_Certification.png|thumb|center|900px|'''Figure 8.''' Placeholder for a visual showing SC E-19 applied to the Mini-Bee hybrid propulsion architecture.]]&lt;br /&gt;
&lt;br /&gt;
== CS-P Propellers ==&lt;br /&gt;
&lt;br /&gt;
'''CS-P''' defines certification specifications and acceptable means of compliance for propellers.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, propellers or rotors are part of the lift/thrust system. Their certification cannot be isolated from the aircraft architecture because they interact with:&lt;br /&gt;
&lt;br /&gt;
* distributed lift;&lt;br /&gt;
* propulsion control;&lt;br /&gt;
* structural loads;&lt;br /&gt;
* vibration;&lt;br /&gt;
* redundancy;&lt;br /&gt;
* failure modes;&lt;br /&gt;
* noise;&lt;br /&gt;
* safety around rotating elements;&lt;br /&gt;
* energy management.&lt;br /&gt;
&lt;br /&gt;
If certified propellers are available and compatible with the Mini-Bee design, their use may reduce certification uncertainty. If custom propellers are required, additional design justification and testing will be necessary.&lt;br /&gt;
&lt;br /&gt;
== CS-26 Additional airworthiness specifications for operations ==&lt;br /&gt;
&lt;br /&gt;
'''CS-26''' provides additional airworthiness specifications linked to certain operational conditions.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, CS-26 may become relevant depending on the intended operational use, especially for:&lt;br /&gt;
&lt;br /&gt;
* public transport;&lt;br /&gt;
* emergency medical service;&lt;br /&gt;
* water impact and ditching considerations;&lt;br /&gt;
* emergency equipment;&lt;br /&gt;
* fire extinguishers;&lt;br /&gt;
* operational safety requirements.&lt;br /&gt;
&lt;br /&gt;
This is important because Mini-Bee / Red VTOL is associated with an ultra-light air ambulance concept. If the aircraft is intended for medical aid or public service missions, the operational certification expectations may become more demanding than a basic demonstrator configuration.&lt;br /&gt;
&lt;br /&gt;
== AMC-20 Products, Parts and Appliances ==&lt;br /&gt;
&lt;br /&gt;
'''AMC-20''' provides general acceptable means of compliance for airworthiness of products, parts, and appliances.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, AMC-20 is useful because it creates bridges between certification references. It helps connect product-level airworthiness with system-level and equipment-level certification expectations.&lt;br /&gt;
&lt;br /&gt;
AMC-20 should be used as a supporting reference, especially for:&lt;br /&gt;
&lt;br /&gt;
* equipment qualification;&lt;br /&gt;
* system installation;&lt;br /&gt;
* environmental qualification;&lt;br /&gt;
* electrical and electronic equipment;&lt;br /&gt;
* interfaces between certification domains;&lt;br /&gt;
* means of compliance selection.&lt;br /&gt;
&lt;br /&gt;
== CS-34, CS-36 and CS-CO2 environmental references ==&lt;br /&gt;
&lt;br /&gt;
'''CS-34''' relates to aircraft engine emissions and fuel venting.  &lt;br /&gt;
'''CS-36''' relates to aircraft noise.  &lt;br /&gt;
'''CS-CO2''' relates to aircraft CO2 emissions where applicable.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, environmental certification cannot be ignored. Even if the aircraft is small and hybrid, the use of a thermal engine, fuel system, and propulsive elements creates environmental compliance questions.&lt;br /&gt;
&lt;br /&gt;
The key topics include:&lt;br /&gt;
&lt;br /&gt;
* fuel venting;&lt;br /&gt;
* engine emissions;&lt;br /&gt;
* noise;&lt;br /&gt;
* environmental protection;&lt;br /&gt;
* possible future evolution of CO2-related requirements;&lt;br /&gt;
* alignment with ICAO Annex 16 principles.&lt;br /&gt;
&lt;br /&gt;
Mini-Bee should therefore monitor future evolutions of these requirements, especially because hybrid aircraft and new air mobility vehicles may be subject to evolving environmental expectations.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Environmental_Certification_Map.png|thumb|right|450px|'''Figure 9.''' Placeholder for a visual showing environmental certification links: CS-34, CS-36, CS-CO2, fuel, emissions, and noise.]]&lt;br /&gt;
&lt;br /&gt;
== Low Level Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
The '''Low Level Certification Framework''' is the level of concrete demonstration.&lt;br /&gt;
&lt;br /&gt;
At this level, the question becomes:&lt;br /&gt;
&lt;br /&gt;
: '''Which evidence proves that each requirement is satisfied?'''&lt;br /&gt;
&lt;br /&gt;
This is where the project moves from regulatory interpretation to engineering proof.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, Low Level certification work should include:&lt;br /&gt;
&lt;br /&gt;
* requirement allocation;&lt;br /&gt;
* requirement traceability;&lt;br /&gt;
* design assumptions;&lt;br /&gt;
* safety analyses;&lt;br /&gt;
* functional hazard assessment;&lt;br /&gt;
* system safety assessment;&lt;br /&gt;
* architecture justification;&lt;br /&gt;
* schematics;&lt;br /&gt;
* material files;&lt;br /&gt;
* control logic description;&lt;br /&gt;
* bench tests;&lt;br /&gt;
* simulation reports;&lt;br /&gt;
* HIL and SIL validation;&lt;br /&gt;
* electrical safety evidence;&lt;br /&gt;
* EWIS analysis;&lt;br /&gt;
* electromagnetic compatibility assessment;&lt;br /&gt;
* mechanical tests;&lt;br /&gt;
* environmental tests;&lt;br /&gt;
* inspection procedures;&lt;br /&gt;
* flight test preparation;&lt;br /&gt;
* flight test reports;&lt;br /&gt;
* degraded mode demonstrations.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Low_Level_Evidence_Matrix.png|thumb|center|900px|'''Figure 10.''' Placeholder for a Low Level evidence matrix linking requirements to analysis, test, inspection, simulation, and demonstration.]]&lt;br /&gt;
&lt;br /&gt;
The Low Level is essential because certification is not granted on the basis of concept quality alone. It requires traceable and verifiable evidence.&lt;br /&gt;
&lt;br /&gt;
Each requirement must be connected to a means of compliance, such as:&lt;br /&gt;
&lt;br /&gt;
* analysis;&lt;br /&gt;
* calculation;&lt;br /&gt;
* test;&lt;br /&gt;
* inspection;&lt;br /&gt;
* demonstration;&lt;br /&gt;
* similarity;&lt;br /&gt;
* simulation;&lt;br /&gt;
* qualification;&lt;br /&gt;
* operational limitation.&lt;br /&gt;
&lt;br /&gt;
== Flight test and DOARI considerations ==&lt;br /&gt;
&lt;br /&gt;
The presentation refers to '''DOARI 2021-01 Consultation''' regarding the competence of flight test crew involved in VTOL flight test activities.&lt;br /&gt;
&lt;br /&gt;
This document is no longer valid and should only be considered for its principles. However, it remains useful to understand the type of questions raised by VTOL flight testing.&lt;br /&gt;
&lt;br /&gt;
The main principles retained for Mini-Bee / Red VTOL are:&lt;br /&gt;
&lt;br /&gt;
* flight test operations must be prepared early;&lt;br /&gt;
* the aircraft should be designed to fit the certification frame as much as possible;&lt;br /&gt;
* VTOL-capable aircraft may be assimilated to CS-27 rotorcraft for technical specifications;&lt;br /&gt;
* handling qualities, controls, and performances should remain coherent with rotorcraft expectations;&lt;br /&gt;
* pilot licensing and training considerations must influence design philosophy;&lt;br /&gt;
* the project should avoid creating unnecessary gaps with existing flight crew categories.&lt;br /&gt;
&lt;br /&gt;
This means that certification thinking must influence not only the aircraft hardware, but also the way the aircraft is controlled, tested, trained, and operated.&lt;br /&gt;
&lt;br /&gt;
== Parachute and recovery systems ==&lt;br /&gt;
&lt;br /&gt;
The presentation also highlights the question of parachutes and recovery systems.&lt;br /&gt;
&lt;br /&gt;
EASA FAQ material indicates that personnel parachutes within the scope of EASA are mainly emergency parachutes for glider and aerobatic pilots, while other parachute types may fall under Member State responsibility.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, this means that a parachute or ballistic recovery system should not automatically be assumed as an accepted means of compliance for a lift/thrust failure.&lt;br /&gt;
&lt;br /&gt;
This point requires further analysis.&lt;br /&gt;
&lt;br /&gt;
A recovery system may be useful from a safety perspective, but it must be demonstrated within the applicable certification framework. It cannot replace the need to show robustness of the lift/thrust system, degraded modes, redundancy, and controllability.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Recovery_System_Certification_Question.png|thumb|center|900px|'''Figure 11.''' Placeholder for a visual showing the certification question around parachute or recovery systems for VTOL aircraft.]]&lt;br /&gt;
&lt;br /&gt;
== Rulemaking maturity and VTOL evolution ==&lt;br /&gt;
&lt;br /&gt;
The certification framework for VTOL-capable aircraft is still evolving.&lt;br /&gt;
&lt;br /&gt;
EASA symposiums, rulemaking tasks, notices of proposed amendment, and consultation documents show that the authority is progressively building the certification approach for new air mobility and VTOL-capable aircraft.&lt;br /&gt;
&lt;br /&gt;
Important evolution topics include:&lt;br /&gt;
&lt;br /&gt;
* VTOL means of compliance;&lt;br /&gt;
* human factors;&lt;br /&gt;
* flight envelopes;&lt;br /&gt;
* energy reserve;&lt;br /&gt;
* ditching and emergency flotation;&lt;br /&gt;
* doors and landing gear;&lt;br /&gt;
* design loads;&lt;br /&gt;
* structural durability;&lt;br /&gt;
* fire protection;&lt;br /&gt;
* U-space;&lt;br /&gt;
* artificial intelligence;&lt;br /&gt;
* pilot training;&lt;br /&gt;
* licensing;&lt;br /&gt;
* integration into air transport operations.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, this means that the certification framework should be treated as a living reference. The design should remain adaptable to future updates of SC-VTOL, AMC, GM, and related EASA material.&lt;br /&gt;
&lt;br /&gt;
== Air transport and VEMS use case ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL is linked to the concept of an ultra-light air ambulance.&lt;br /&gt;
&lt;br /&gt;
The EASA material on air transport by VTOL-capable aircraft identifies several possible use cases, including:&lt;br /&gt;
&lt;br /&gt;
* urban passenger services;&lt;br /&gt;
* regional passenger services;&lt;br /&gt;
* VEMS services;&lt;br /&gt;
* sightseeing flights.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee, the VEMS angle is particularly relevant. However, medical aid missions can introduce additional constraints because they may involve:&lt;br /&gt;
&lt;br /&gt;
* public service operations;&lt;br /&gt;
* patient transport;&lt;br /&gt;
* specific equipment;&lt;br /&gt;
* reliability requirements;&lt;br /&gt;
* mission availability;&lt;br /&gt;
* emergency landing considerations;&lt;br /&gt;
* operational approval;&lt;br /&gt;
* crew training;&lt;br /&gt;
* safety procedures.&lt;br /&gt;
&lt;br /&gt;
The certification framework must therefore remain connected to the intended mission of the aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_VEMS_Mission_Certification.png|thumb|center|900px|'''Figure 12.''' Placeholder for a visual showing Mini-Bee as a VTOL emergency medical service concept within certification constraints.]]&lt;br /&gt;
&lt;br /&gt;
== Summary table ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Purpose&lt;br /&gt;
! Main question&lt;br /&gt;
! Main references&lt;br /&gt;
! Output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Define the certification positioning&lt;br /&gt;
| Which aircraft category and framework apply?&lt;br /&gt;
| CS-27, SC-VTOL-02, CS-29, CS-VLR&lt;br /&gt;
| Certification basis and philosophy&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| Map system and sub-system requirements&lt;br /&gt;
| Which rules apply to each technical domain?&lt;br /&gt;
| CS-E, SC E-19, CS-P, CS-26, AMC-20, CS-34&lt;br /&gt;
| System certification architecture&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Produce compliance evidence&lt;br /&gt;
| Which proof demonstrates compliance?&lt;br /&gt;
| AMC, GM, tests, analysis, simulations, inspections&lt;br /&gt;
| Traceable evidence files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Main certification risks ==&lt;br /&gt;
&lt;br /&gt;
The main certification risks for Mini-Bee / Red VTOL are:&lt;br /&gt;
&lt;br /&gt;
* unclear boundary between rotorcraft and VTOL-capable aircraft;&lt;br /&gt;
* design moving outside CS-27 assumptions;&lt;br /&gt;
* hybrid propulsion treated as an integrated safety-critical system;&lt;br /&gt;
* high-power electrical architecture requiring specific evidence;&lt;br /&gt;
* distributed lift creating complex failure cases;&lt;br /&gt;
* lack of accepted means of compliance for some innovative features;&lt;br /&gt;
* operational use leading to additional requirements;&lt;br /&gt;
* environmental and noise requirements evolving before certification;&lt;br /&gt;
* flight test and licensing assumptions not aligned with existing categories.&lt;br /&gt;
&lt;br /&gt;
These risks do not block the project. They define the areas where early engineering discipline is required.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Mini-Bee / Red VTOL should currently be considered as a '''small rotorcraft with VTOL-capable characteristics'''.&lt;br /&gt;
&lt;br /&gt;
Its design should therefore comply with '''CS-27''' as the main rotorcraft basis and '''SC-VTOL-02''' for the specific VTOL-capable aspects. Additional references such as CS-29, CS-VLR, CS-E, SC E-19, CS-P, CS-26, AMC-20, and CS-34 must be used to structure the system-level and sub-system-level certification approach.&lt;br /&gt;
&lt;br /&gt;
The most important point is that certification must be integrated into the design process from the beginning.&lt;br /&gt;
&lt;br /&gt;
For Mini-Bee / Red VTOL, the certification framework is not only a regulatory checklist. It is a design management tool. It helps define the aircraft category, orient technical decisions, identify missing evidence, manage risks, prepare authority discussions, and progressively transform an innovative VTOL concept into a certifiable aircraft project.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|thumb|center|900px|'''Figure 13.''' Placeholder for a final pathway visual: from concept to certification basis, system compliance map, evidence matrix, testing, and operational approval.]]&lt;br /&gt;
&lt;br /&gt;
== Glossary ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Acronym&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| AC&lt;br /&gt;
| Advisory Circular&lt;br /&gt;
|-&lt;br /&gt;
| AMC&lt;br /&gt;
| Acceptable Means of Compliance&lt;br /&gt;
|-&lt;br /&gt;
| ATS&lt;br /&gt;
| Air Traffic Service&lt;br /&gt;
|-&lt;br /&gt;
| CAEP&lt;br /&gt;
| Committee on Aviation Environmental Protection&lt;br /&gt;
|-&lt;br /&gt;
| CM&lt;br /&gt;
| Certification Memorandum&lt;br /&gt;
|-&lt;br /&gt;
| CS&lt;br /&gt;
| Certification Specifications&lt;br /&gt;
|-&lt;br /&gt;
| DOA&lt;br /&gt;
| Design Organisation Approval&lt;br /&gt;
|-&lt;br /&gt;
| DOARI&lt;br /&gt;
| DOA Review Item&lt;br /&gt;
|-&lt;br /&gt;
| EASA&lt;br /&gt;
| European Union Aviation Safety Agency&lt;br /&gt;
|-&lt;br /&gt;
| ED&lt;br /&gt;
| EASA Decision&lt;br /&gt;
|-&lt;br /&gt;
| EHPS&lt;br /&gt;
| Electric / Hybrid Propulsion System&lt;br /&gt;
|-&lt;br /&gt;
| ETSO&lt;br /&gt;
| European Technical Standard Order&lt;br /&gt;
|-&lt;br /&gt;
| EWIS&lt;br /&gt;
| Electrical Wiring Interconnection System&lt;br /&gt;
|-&lt;br /&gt;
| FAA&lt;br /&gt;
| Federal Aviation Administration&lt;br /&gt;
|-&lt;br /&gt;
| GM&lt;br /&gt;
| Guidance Material&lt;br /&gt;
|-&lt;br /&gt;
| ICAO&lt;br /&gt;
| International Civil Aviation Organization&lt;br /&gt;
|-&lt;br /&gt;
| MoC&lt;br /&gt;
| Means of Compliance&lt;br /&gt;
|-&lt;br /&gt;
| NAM&lt;br /&gt;
| New Air Mobility&lt;br /&gt;
|-&lt;br /&gt;
| NPA&lt;br /&gt;
| Notice of Proposed Amendment&lt;br /&gt;
|-&lt;br /&gt;
| PAX&lt;br /&gt;
| Passenger&lt;br /&gt;
|-&lt;br /&gt;
| RMT&lt;br /&gt;
| Rulemaking Task&lt;br /&gt;
|-&lt;br /&gt;
| SARP&lt;br /&gt;
| Standards and Recommended Practices&lt;br /&gt;
|-&lt;br /&gt;
| SC&lt;br /&gt;
| Special Condition&lt;br /&gt;
|-&lt;br /&gt;
| TCDS&lt;br /&gt;
| Type Certificate Data Sheet&lt;br /&gt;
|-&lt;br /&gt;
| TLD&lt;br /&gt;
| Time Limited Dispatch&lt;br /&gt;
|-&lt;br /&gt;
| ToR&lt;br /&gt;
| Terms of Reference&lt;br /&gt;
|-&lt;br /&gt;
| TRL&lt;br /&gt;
| Technology Readiness Level&lt;br /&gt;
|-&lt;br /&gt;
| VEMS&lt;br /&gt;
| VTOL Emergency Medical Service&lt;br /&gt;
|-&lt;br /&gt;
| VLR&lt;br /&gt;
| Very Light Rotorcraft&lt;br /&gt;
|-&lt;br /&gt;
| VTOL&lt;br /&gt;
| Vertical Take-Off and Landing&lt;br /&gt;
|-&lt;br /&gt;
| WG&lt;br /&gt;
| Working Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Suggested visuals to create ==&lt;br /&gt;
&lt;br /&gt;
The following visuals can be created later and inserted into the page:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! File name&lt;br /&gt;
! Purpose&lt;br /&gt;
! Suggested content&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_VTOL_Certification_Framework_Cover.png&lt;br /&gt;
| Cover visual&lt;br /&gt;
| Mini-Bee aircraft, EASA framework, certification pathway&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Certification_Objectives.png&lt;br /&gt;
| Explain the page objective&lt;br /&gt;
| Classification, rules, maturity, evidence&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_High_Level_Certification_Map.png&lt;br /&gt;
| High Level view&lt;br /&gt;
| CS-27, SC-VTOL-02, CS-29, CS-VLR around Mini-Bee&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_CS27_SCVTOL_Positioning.png&lt;br /&gt;
| Aircraft positioning&lt;br /&gt;
| Mini-Bee between rotorcraft and VTOL-capable categories&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Lift_Thrust_System_Chain.png&lt;br /&gt;
| Technical chain&lt;br /&gt;
| Fuel, engine, generator, power electronics, motors, propellers&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_CS27_CS29_Boundary_Risk.png&lt;br /&gt;
| Certification risk&lt;br /&gt;
| Design features that may push toward CS-29&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Medium_Level_System_Map.png&lt;br /&gt;
| Medium Level view&lt;br /&gt;
| System/sub-system certification map&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Electric_Hybrid_Propulsion_Certification.png&lt;br /&gt;
| Hybrid propulsion&lt;br /&gt;
| SC E-19 applied to Mini-Bee&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Environmental_Certification_Map.png&lt;br /&gt;
| Environmental references&lt;br /&gt;
| CS-34, CS-36, CS-CO2&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Low_Level_Evidence_Matrix.png&lt;br /&gt;
| Low Level view&lt;br /&gt;
| Requirements linked to tests, analysis, inspection, simulation&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Recovery_System_Certification_Question.png&lt;br /&gt;
| Safety recovery question&lt;br /&gt;
| Parachute / recovery system versus certification evidence&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_VEMS_Mission_Certification.png&lt;br /&gt;
| Mission use case&lt;br /&gt;
| Mini-Bee as VTOL emergency medical service aircraft&lt;br /&gt;
|-&lt;br /&gt;
| MiniBee_Certification_Pathway.png&lt;br /&gt;
| Final synthesis&lt;br /&gt;
| Concept → certification basis → compliance map → evidence → testing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee_TRL3]]&lt;br /&gt;
* [[RED VTOL]]&lt;br /&gt;
* [[EASA]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;br /&gt;
* [[VTOL Emergency Medical Service]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1984</id>
		<title>Certification FrameWork VTOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Certification_FrameWork_VTOL&amp;diff=1984"/>
		<updated>2026-05-19T07:29:38Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VTOL Certification Framework =&lt;br /&gt;
&lt;br /&gt;
The '''VTOL Certification Framework''' is the regulatory and technical structure that defines how a vertical take-off and landing aircraft can be designed, justified, tested, and accepted by the aviation authority.&lt;br /&gt;
&lt;br /&gt;
For a project such as '''Mini-Bee''', certification is not a secondary topic. It is a central part of the design logic. The challenge is not only to build an innovative VTOL aircraft, but also to demonstrate that the concept can follow a credible path toward certification, safety, and operational approval.&lt;br /&gt;
&lt;br /&gt;
In Europe, this framework is built around '''EASA''' (European Union Aviation Safety Agency), which publishes the official certification rules, certification specifications, acceptable means of compliance, and guidance material used as the basis for demonstration.&lt;br /&gt;
&lt;br /&gt;
[[File:VTOL_Certification_Framework_Overview.png|thumb|center|900px|'''Figure 1.''' Global overview of the VTOL Certification Framework for Mini-Bee, from regulatory classification to technical demonstration.]]&lt;br /&gt;
&lt;br /&gt;
In practical terms, a VTOL Certification Framework answers three essential questions:&lt;br /&gt;
&lt;br /&gt;
* '''Which category does the aircraft belong to?'''&lt;br /&gt;
* '''Which rules apply to its systems and sub-systems?'''&lt;br /&gt;
* '''Which evidence must be produced to demonstrate compliance?'''&lt;br /&gt;
&lt;br /&gt;
For '''Mini-Bee''', the selected logic is based on '''CS-27''' for the small rotorcraft framework, complemented by '''SC-VTOL-02''' to address the specific features of a VTOL-capable aircraft, especially distributed lift, the hybrid thrust chain, the high-power electrical architecture, and the associated safety constraints.&lt;br /&gt;
&lt;br /&gt;
== High Level ==&lt;br /&gt;
&lt;br /&gt;
The '''High Level''' corresponds to the strategic level of the certification framework.&lt;br /&gt;
&lt;br /&gt;
At this stage, the objective is to determine how the aircraft is positioned within the EASA regulatory environment, which main texts apply, and what the overall certification philosophy will be. For a VTOL aircraft, this means identifying the main certification basis and then selecting the complementary texts required to cover the specific characteristics of the concept.&lt;br /&gt;
&lt;br /&gt;
For '''Mini-Bee''', this level leads to a primary positioning under '''CS-27''' because of its rotorcraft logic. This basis is then complemented by '''SC-VTOL-02''' to account for the vertical capability, distributed propulsion architecture, lift/thrust chain, and the special safety considerations linked to VTOL operations.&lt;br /&gt;
&lt;br /&gt;
At the High Level, it is also necessary to assess the maturity of the applicable rules and identify any gaps between the aircraft concept and the existing certification framework. This work may also require considering connections with other regulatory references such as '''CS-29''', '''CS-VLR''', or selected '''AMC/GM''' approaches depending on the detailed configuration and intended use of the aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:VTOL_High_Level_Framework.png|thumb|right|450px|'''Figure 2.''' High Level view: regulatory positioning of Mini-Bee within the EASA certification environment.]]&lt;br /&gt;
&lt;br /&gt;
In other words, the High Level defines the '''strategic certification map'''. It answers the question: ''under which main regulatory logic will the aircraft be certified?''&lt;br /&gt;
&lt;br /&gt;
=== Key objectives of the High Level ===&lt;br /&gt;
&lt;br /&gt;
* Identify the main aircraft category&lt;br /&gt;
* Define the principal certification basis&lt;br /&gt;
* Select the complementary special conditions&lt;br /&gt;
* Detect regulatory gaps or grey zones&lt;br /&gt;
* Establish the global certification philosophy&lt;br /&gt;
&lt;br /&gt;
== Medium Level ==&lt;br /&gt;
&lt;br /&gt;
The '''Medium Level''' corresponds to the compliance architecture of the systems and sub-systems.&lt;br /&gt;
&lt;br /&gt;
Once the aircraft category and overall basis have been defined, it becomes necessary to specify which certification references apply to each major technical function. This is the level where the process moves from the question ''“what is the overall framework?”'' to the question ''“which certification reference applies to each building block?”''&lt;br /&gt;
&lt;br /&gt;
For a hybrid VTOL aircraft such as '''Mini-Bee''', this means linking the aircraft-level basis with the relevant references for each domain:&lt;br /&gt;
&lt;br /&gt;
* '''CS-E''' for the engine logic&lt;br /&gt;
* '''SC E-19''' for electric or hybrid propulsion systems&lt;br /&gt;
* '''CS-P''' for propulsive elements such as propellers or rotors&lt;br /&gt;
* '''CS-26''' for certain operational airworthiness topics&lt;br /&gt;
* '''AMC-20''' for general compliance approaches&lt;br /&gt;
* '''CS-34''' for emissions and environmental aspects&lt;br /&gt;
&lt;br /&gt;
This level therefore transforms a broad regulatory vision into a more structured map of the technical requirements applicable to each major domain of the aircraft: propulsion, electrical installation, rotors, control interfaces, equipment, safety interactions, and environmental performance.&lt;br /&gt;
&lt;br /&gt;
[[File:VTOL_Medium_Level_Compliance_Map.png|thumb|center|900px|'''Figure 3.''' Medium Level view: mapping the main certification references to each aircraft domain and subsystem.]]&lt;br /&gt;
&lt;br /&gt;
The Medium Level is particularly important for '''Mini-Bee''' because the aircraft combines several technological layers that interact strongly with each other: hybrid propulsion, distributed lift, electrical power architecture, flight control logic, and safety management between conventional and non-conventional functions.&lt;br /&gt;
&lt;br /&gt;
In practice, this level builds the '''compliance architecture''' of the project.&lt;br /&gt;
&lt;br /&gt;
=== Key objectives of the Medium Level ===&lt;br /&gt;
&lt;br /&gt;
* Allocate the relevant certification texts to each subsystem&lt;br /&gt;
* Build a technical compliance map&lt;br /&gt;
* Clarify interfaces between propulsion, electrical, and flight systems&lt;br /&gt;
* Identify the means of compliance expected for each domain&lt;br /&gt;
* Prepare the transition toward detailed demonstration&lt;br /&gt;
&lt;br /&gt;
== Low Level ==&lt;br /&gt;
&lt;br /&gt;
The '''Low Level''' is the level of concrete demonstration.&lt;br /&gt;
&lt;br /&gt;
At this stage, the focus is no longer only on regulations or on the global compliance architecture. The work moves toward technical evidence. This is where every requirement must be translated into identifiable, traceable, and verifiable deliverables.&lt;br /&gt;
&lt;br /&gt;
The Low Level includes, for example:&lt;br /&gt;
&lt;br /&gt;
* Detailed requirement allocation&lt;br /&gt;
* Safety analyses&lt;br /&gt;
* Design assumptions&lt;br /&gt;
* System schematics&lt;br /&gt;
* Material files&lt;br /&gt;
* Control logic descriptions&lt;br /&gt;
* Bench tests&lt;br /&gt;
* HIL/SIL simulations&lt;br /&gt;
* Robustness checks&lt;br /&gt;
* Electromagnetic compatibility activities&lt;br /&gt;
* Inspection procedures&lt;br /&gt;
* Test reports&lt;br /&gt;
* Representative-environment evidence&lt;br /&gt;
* Flight evidence when applicable&lt;br /&gt;
&lt;br /&gt;
In other words, the Low Level is where each requirement is linked to an explicit '''means of compliance''': analysis, calculation, test, inspection, demonstration, or a justified combination of these approaches.&lt;br /&gt;
&lt;br /&gt;
[[File:VTOL_Low_Level_Demonstration.png|thumb|right|450px|'''Figure 4.''' Low Level view: technical evidence and means of compliance used to support certification.]]&lt;br /&gt;
&lt;br /&gt;
This level gives an industrial project its real credibility because it connects the certification intent to a body of technical proof. Without this step, a certification framework remains theoretical. With it, the project becomes demonstrable, reviewable, and progressively acceptable from an authority perspective.&lt;br /&gt;
&lt;br /&gt;
For '''Mini-Bee''', the Low Level is especially critical because innovative VTOL architectures require a clear demonstration of safety in normal, degraded, and transitional operating conditions. The project must therefore show not only the expected performance of the aircraft, but also the robustness of the design choices and the traceability of all supporting evidence.&lt;br /&gt;
&lt;br /&gt;
=== Key objectives of the Low Level ===&lt;br /&gt;
&lt;br /&gt;
* Translate requirements into verifiable evidence&lt;br /&gt;
* Define the means of compliance for each requirement&lt;br /&gt;
* Produce safety and technical demonstration files&lt;br /&gt;
* Organize testing, simulation, and verification activities&lt;br /&gt;
* Build traceability between design choices and certification evidence&lt;br /&gt;
&lt;br /&gt;
== Summary View ==&lt;br /&gt;
&lt;br /&gt;
The VTOL Certification Framework can therefore be understood through three complementary levels:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Main purpose&lt;br /&gt;
! Main question&lt;br /&gt;
! Typical output&lt;br /&gt;
|-&lt;br /&gt;
| '''High Level'''&lt;br /&gt;
| Strategic positioning&lt;br /&gt;
| Which regulatory framework applies?&lt;br /&gt;
| Certification basis and global philosophy&lt;br /&gt;
|-&lt;br /&gt;
| '''Medium Level'''&lt;br /&gt;
| Compliance architecture&lt;br /&gt;
| Which text applies to each subsystem?&lt;br /&gt;
| Map of applicable rules by technical domain&lt;br /&gt;
|-&lt;br /&gt;
| '''Low Level'''&lt;br /&gt;
| Technical demonstration&lt;br /&gt;
| Which evidence proves compliance?&lt;br /&gt;
| Analyses, tests, reports, simulations, and demonstrations&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:VTOL_Certification_Three_Levels.png|thumb|center|900px|'''Figure 5.''' The three levels of the VTOL Certification Framework: High Level, Medium Level, and Low Level.]]&lt;br /&gt;
&lt;br /&gt;
== Why this framework is essential for a VTOL aircraft ==&lt;br /&gt;
&lt;br /&gt;
A VTOL aircraft cannot be treated like a conventional aircraft based only on performance. Its real value depends on its ability to be '''certifiable'''. This means being able to demonstrate the safety of its design choices, the consistency of its propulsion architecture, the control of degraded modes, the robustness of its flight control system, and the traceability of its compliance evidence.&lt;br /&gt;
&lt;br /&gt;
The '''VTOL Certification Framework''' is precisely what structures this process, from the high-level regulatory vision down to the detailed technical demonstrations. It is therefore not only a compliance framework, but also a '''design management tool'''. It helps organize engineering decisions, identify missing evidence, structure technical development, and build credibility toward authorities, partners, and future operators.&lt;br /&gt;
&lt;br /&gt;
For '''Mini-Bee''', this framework is essential because it transforms an innovative VTOL concept into a project that can be progressively justified, tested, and matured toward a realistic certification pathway.&lt;br /&gt;
&lt;br /&gt;
[[File:MiniBee_Certification_Pathway.png|thumb|center|900px|'''Figure 6.''' Certification pathway vision for Mini-Bee, from concept definition to demonstrable compliance.]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mini-Bee]]&lt;br /&gt;
* [[Minibee TRL3]]&lt;br /&gt;
* [[EASA]]&lt;br /&gt;
* [[SC-VTOL-02]]&lt;br /&gt;
* [[CS-27]]&lt;br /&gt;
* [[Hybrid Propulsion]]&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Alten_Solidaire&amp;diff=1983</id>
		<title>Alten Solidaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Alten_Solidaire&amp;diff=1983"/>
		<updated>2026-05-18T09:48:28Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Alten Solidaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Alten Solidaire =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px 24px; margin:20px 0 30px 0; background:#f7f9fc; font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Alten Solidaire''' is positioned in the Bee ecosystem as an engineering support contributor serving a project with a humanitarian purpose.  &lt;br /&gt;
Coming from the ALTEN group, Alten Solidaire is linked to a skills-based sponsorship approach, where engineering knowledge, technical method and human commitment can support projects of general interest.&lt;br /&gt;
&lt;br /&gt;
In the context of the Bee ecosystem, this role becomes especially meaningful through the link between '''Alten Solidaire''', '''RED VTOL ONG''' and the '''Mini-Bee Hybrid''' project. The objective is not only to explore an innovative aircraft architecture, but also to support a possible operational use case: vertical flight technologies serving emergency response, medical support and humanitarian missions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.alten.fr/alten-solidaire/ ALTEN Solidaire – ALTEN France]&lt;br /&gt;
&lt;br /&gt;
[[File:Logo Alten Solidaire.png|thumb|center|700px]]&lt;br /&gt;
== Alten Solidaire and RED VTOL ONG ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; gap:28px; align-items:stretch; margin:25px 0; flex-wrap:wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:280px; border:1px solid #ddd; border-radius:14px; padding:22px; background:#ffffff; box-shadow:0 2px 8px rgba(0,0,0,0.06); font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''RED VTOL ONG''' represents the humanitarian application side of the VTOL vision. Its purpose is to promote and explore vertical take-off and landing technologies that could be useful for rescue operations, emergency access, medical evacuation, light logistics and intervention in degraded environments.&lt;br /&gt;
&lt;br /&gt;
In this framework, '''Alten Solidaire''' can be understood as an engineering support actor. Its contribution is not presented as the ownership of an aircraft programme, but as a technical and methodological support helping a humanitarian-oriented project become more structured, credible and readable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:280px; border:1px solid #ddd; border-radius:14px; padding:22px; background:#ffffff; box-shadow:0 2px 8px rgba(0,0,0,0.06); font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The connection between Alten Solidaire and RED VTOL ONG gives a practical meaning to the Mini-Bee Hybrid project. The aircraft is not only considered as a technology demonstrator. It is also studied as a possible tool for missions where rapid access, reduced infrastructure and operational flexibility are essential.&lt;br /&gt;
&lt;br /&gt;
This creates a clear positioning: '''engineering serving humanitarian mobility'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Humanitarian use of VTOL technologies ==&lt;br /&gt;
&lt;br /&gt;
Vertical take-off and landing aircraft are relevant for humanitarian missions because they can operate with limited ground infrastructure. Unlike conventional aircraft, they do not necessarily require a runway. Compared with traditional helicopters, new VTOL concepts may explore different compromises between cost, noise, energy source, maintenance, modularity and operational accessibility.&lt;br /&gt;
&lt;br /&gt;
For humanitarian use, the main value is not technological novelty by itself. The value comes from the mission: reaching isolated areas, supporting emergency teams, transporting light medical equipment, evacuating a patient, or connecting a temporary base with a damaged or remote location.&lt;br /&gt;
&lt;br /&gt;
Typical humanitarian VTOL use cases include:&lt;br /&gt;
&lt;br /&gt;
* '''Emergency medical access''' in isolated or poorly connected territories.&lt;br /&gt;
* '''Light medical evacuation''' when ground transport is too slow or impossible.&lt;br /&gt;
* '''Rapid response after natural disasters''' when roads, bridges or airports are unavailable.&lt;br /&gt;
* '''Transport of small critical payloads''' such as medicine, blood bags, diagnostic equipment or communication devices.&lt;br /&gt;
* '''Support to field teams''' operating in remote, mountainous, flooded or degraded environments.&lt;br /&gt;
* '''Reconnaissance and coordination''' before sending heavier rescue assets.&lt;br /&gt;
&lt;br /&gt;
== Current aircraft families used for emergency missions ==&lt;br /&gt;
&lt;br /&gt;
Before considering innovative VTOL architectures, it is useful to understand the aircraft families already used today for emergency, rescue and humanitarian missions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; overflow:hidden; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; margin:0; font-size:15px; line-height:1.55;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:25%; background:#1f4e79; color:white;&amp;quot; | Aircraft family&lt;br /&gt;
! style=&amp;quot;width:35%; background:#1f4e79; color:white;&amp;quot; | Typical strengths&lt;br /&gt;
! style=&amp;quot;width:40%; background:#1f4e79; color:white;&amp;quot; | Operational limits&lt;br /&gt;
|-&lt;br /&gt;
| '''Twin-engine helicopters'''&lt;br /&gt;
| High safety margin, strong operational capability, medical evacuation compatibility, professional emergency use.&lt;br /&gt;
| High acquisition cost, high operating cost, demanding maintenance, need for trained crews and support infrastructure.&lt;br /&gt;
|-&lt;br /&gt;
| '''Single-turbine helicopters'''&lt;br /&gt;
| Good balance between performance and cost, widely used for utility missions, rescue support and regional operations.&lt;br /&gt;
| Still expensive to operate, noisy, fuel-dependent and maintenance-intensive.&lt;br /&gt;
|-&lt;br /&gt;
| '''Light helicopters'''&lt;br /&gt;
| More accessible, useful for observation, light transport and short-range missions.&lt;br /&gt;
| Limited payload, limited medical configuration, weather sensitivity and reduced redundancy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These aircraft remain essential today. However, they also show why new VTOL concepts are being explored: lower infrastructure needs, potentially lower operating cost, modular deployment and better adaptation to targeted missions.&lt;br /&gt;
&lt;br /&gt;
== Innovative VTOL project landscape ==&lt;br /&gt;
&lt;br /&gt;
The VTOL innovation landscape is broad. It includes electric air taxis, autonomous passenger aircraft, personal VTOL machines, multicopter platforms and hybrid-electric concepts. For a humanitarian project such as RED VTOL ONG, these examples are useful as references, but they must be evaluated with caution. Certification, payload, endurance, safety, maintainability and cost remain decisive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Joby Aviation'''&amp;lt;br&amp;gt;&lt;br /&gt;
All-electric piloted eVTOL concept focused on air taxi operations. It is one of the most visible advanced air mobility projects and is often used as a reference for electric VTOL development.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''EHang EH216-S'''&amp;lt;br&amp;gt;&lt;br /&gt;
Autonomous passenger-carrying eVTOL platform. It is an important reference because of its certification progress in China for pilotless passenger operations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Volocopter'''&amp;lt;br&amp;gt;&lt;br /&gt;
Electric multicopter VTOL concept historically focused on urban air mobility. It remains a useful technical reference, although its industrial and financial situation requires caution.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Lilium'''&amp;lt;br&amp;gt;&lt;br /&gt;
Former electric jet-based eVTOL project. It should now be treated mainly as a historical reference showing both the ambition and the financial difficulty of the eVTOL sector.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Zapata AirScooter'''&amp;lt;br&amp;gt;&lt;br /&gt;
Personal hybrid-electric VTOL machine. It illustrates a different approach, closer to individual vertical mobility than to collective air transport.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Mini-Bee Hybrid'''&amp;lt;br&amp;gt;&lt;br /&gt;
Hybrid VTOL concept developed in the Bee ecosystem, with a humanitarian orientation through RED VTOL ONG and a focus on useful missions, emergency access and modular deployment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electric, hybrid and piston-based VTOL approaches ==&lt;br /&gt;
&lt;br /&gt;
Different VTOL architectures answer different operational needs.&lt;br /&gt;
&lt;br /&gt;
'''All-electric VTOL''' aircraft are attractive because of their low local emissions, reduced acoustic signature and simplified propulsion architecture. However, endurance, charging infrastructure, payload and battery mass remain important constraints, especially for humanitarian missions far from prepared bases.&lt;br /&gt;
&lt;br /&gt;
'''Hybrid-electric VTOL''' aircraft combine electric propulsion with an onboard energy source, often a combustion engine used as a generator. This approach can improve range, endurance and operational flexibility. For humanitarian use, hybridization may be relevant when missions require longer distances, uncertain infrastructure or rapid redeployment.&lt;br /&gt;
&lt;br /&gt;
'''Piston-engine and turbine-based systems''' remain important because they are already proven in aviation. Engines such as Rotax aircraft engines are widely used in light aviation and can support hybrid architectures where a combustion engine feeds an electric propulsion system.&lt;br /&gt;
&lt;br /&gt;
== Mini-Bee Hybrid as a humanitarian VTOL concept ==&lt;br /&gt;
&lt;br /&gt;
Within the Bee ecosystem, '''Mini-Bee Hybrid''' is positioned as a light hybrid VTOL concept designed around useful missions rather than luxury mobility. Its purpose is connected to emergency response, medical support, humanitarian logistics and rapid intervention.&lt;br /&gt;
&lt;br /&gt;
The project explores an aircraft architecture that could support:&lt;br /&gt;
&lt;br /&gt;
* vertical take-off and landing without a conventional runway;&lt;br /&gt;
* modular deployment in difficult environments;&lt;br /&gt;
* light medical or emergency missions;&lt;br /&gt;
* operation in areas with reduced infrastructure;&lt;br /&gt;
* a balance between electric propulsion benefits and hybrid endurance;&lt;br /&gt;
* a possible link with humanitarian field operations through RED VTOL ONG.&lt;br /&gt;
&lt;br /&gt;
This is where the support of Alten Solidaire becomes valuable. The challenge is not only to imagine an aircraft, but to structure a credible engineering approach around the mission.&lt;br /&gt;
&lt;br /&gt;
== Role of Alten Solidaire in the project ==&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire can contribute by bringing engineering culture, technical discipline and project structuring to a humanitarian-oriented innovation effort.&lt;br /&gt;
&lt;br /&gt;
Its role may include:&lt;br /&gt;
&lt;br /&gt;
* helping clarify operational needs;&lt;br /&gt;
* supporting the definition of technical requirements;&lt;br /&gt;
* contributing to architecture studies;&lt;br /&gt;
* improving the readability of engineering choices;&lt;br /&gt;
* supporting the link between mission needs and aircraft design;&lt;br /&gt;
* helping transform a concept into a more structured development path;&lt;br /&gt;
* bringing method, technical review and engineering perspective.&lt;br /&gt;
&lt;br /&gt;
In this position, Alten Solidaire supports RED VTOL ONG by helping the humanitarian application become technically clearer. The objective is to make the project easier to understand, easier to discuss with partners and more coherent from an engineering perspective.&lt;br /&gt;
&lt;br /&gt;
== A shared ambition: engineering for humanitarian action ==&lt;br /&gt;
&lt;br /&gt;
The link between Alten Solidaire, RED VTOL ONG and Mini-Bee Hybrid gives the project a strong identity. It combines three complementary dimensions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Engineering method'''&amp;lt;br&amp;gt;&lt;br /&gt;
A structured approach to requirements, architecture, feasibility and technical credibility.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Humanitarian purpose'''&amp;lt;br&amp;gt;&lt;br /&gt;
A focus on emergency access, medical support, rescue missions and operations in difficult environments.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''VTOL innovation'''&amp;lt;br&amp;gt;&lt;br /&gt;
A search for new aerial mobility solutions that can operate with reduced ground infrastructure.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire therefore appears as an engineering support actor serving a wider humanitarian ambition. Through its connection with RED VTOL ONG, it helps position Mini-Bee Hybrid not only as an aeronautical innovation, but as a possible tool for useful missions.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire is part of the Bee ecosystem as a technical and human support contributor. Its position is especially relevant in relation to RED VTOL ONG, because the project aims to connect VTOL innovation with humanitarian use cases.&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee Hybrid project gives this relationship a concrete direction: a light hybrid VTOL concept studied for emergency, medical and humanitarian missions. In this framework, Alten Solidaire helps reinforce the engineering credibility of a project whose purpose is not only to fly, but to serve.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.collaborativebee.com//index.php?title=Alten_Solidaire&amp;diff=1982</id>
		<title>Alten Solidaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.collaborativebee.com//index.php?title=Alten_Solidaire&amp;diff=1982"/>
		<updated>2026-05-18T09:44:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki.admin: /* Alten Solidaire and RED VTOL ONG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Alten Solidaire =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px 24px; margin:20px 0 30px 0; background:#f7f9fc; font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Alten Solidaire''' is positioned in the Bee ecosystem as an engineering support contributor serving a project with a humanitarian purpose.  &lt;br /&gt;
Coming from the ALTEN group, Alten Solidaire is linked to a skills-based sponsorship approach, where engineering knowledge, technical method and human commitment can support projects of general interest.&lt;br /&gt;
&lt;br /&gt;
In the context of the Bee ecosystem, this role becomes especially meaningful through the link between '''Alten Solidaire''', '''RED VTOL ONG''' and the '''Mini-Bee Hybrid''' project. The objective is not only to explore an innovative aircraft architecture, but also to support a possible operational use case: vertical flight technologies serving emergency response, medical support and humanitarian missions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.alten.fr/alten-solidaire/ ALTEN Solidaire – ALTEN France]&lt;br /&gt;
&lt;br /&gt;
[[File:Logo Alten Solidaire.png]]&lt;br /&gt;
== Alten Solidaire and RED VTOL ONG ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; gap:28px; align-items:stretch; margin:25px 0; flex-wrap:wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:280px; border:1px solid #ddd; border-radius:14px; padding:22px; background:#ffffff; box-shadow:0 2px 8px rgba(0,0,0,0.06); font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''RED VTOL ONG''' represents the humanitarian application side of the VTOL vision. Its purpose is to promote and explore vertical take-off and landing technologies that could be useful for rescue operations, emergency access, medical evacuation, light logistics and intervention in degraded environments.&lt;br /&gt;
&lt;br /&gt;
In this framework, '''Alten Solidaire''' can be understood as an engineering support actor. Its contribution is not presented as the ownership of an aircraft programme, but as a technical and methodological support helping a humanitarian-oriented project become more structured, credible and readable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex:1; min-width:280px; border:1px solid #ddd; border-radius:14px; padding:22px; background:#ffffff; box-shadow:0 2px 8px rgba(0,0,0,0.06); font-size:16px; line-height:1.65;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The connection between Alten Solidaire and RED VTOL ONG gives a practical meaning to the Mini-Bee Hybrid project. The aircraft is not only considered as a technology demonstrator. It is also studied as a possible tool for missions where rapid access, reduced infrastructure and operational flexibility are essential.&lt;br /&gt;
&lt;br /&gt;
This creates a clear positioning: '''engineering serving humanitarian mobility'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Humanitarian use of VTOL technologies ==&lt;br /&gt;
&lt;br /&gt;
Vertical take-off and landing aircraft are relevant for humanitarian missions because they can operate with limited ground infrastructure. Unlike conventional aircraft, they do not necessarily require a runway. Compared with traditional helicopters, new VTOL concepts may explore different compromises between cost, noise, energy source, maintenance, modularity and operational accessibility.&lt;br /&gt;
&lt;br /&gt;
For humanitarian use, the main value is not technological novelty by itself. The value comes from the mission: reaching isolated areas, supporting emergency teams, transporting light medical equipment, evacuating a patient, or connecting a temporary base with a damaged or remote location.&lt;br /&gt;
&lt;br /&gt;
Typical humanitarian VTOL use cases include:&lt;br /&gt;
&lt;br /&gt;
* '''Emergency medical access''' in isolated or poorly connected territories.&lt;br /&gt;
* '''Light medical evacuation''' when ground transport is too slow or impossible.&lt;br /&gt;
* '''Rapid response after natural disasters''' when roads, bridges or airports are unavailable.&lt;br /&gt;
* '''Transport of small critical payloads''' such as medicine, blood bags, diagnostic equipment or communication devices.&lt;br /&gt;
* '''Support to field teams''' operating in remote, mountainous, flooded or degraded environments.&lt;br /&gt;
* '''Reconnaissance and coordination''' before sending heavier rescue assets.&lt;br /&gt;
&lt;br /&gt;
== Current aircraft families used for emergency missions ==&lt;br /&gt;
&lt;br /&gt;
Before considering innovative VTOL architectures, it is useful to understand the aircraft families already used today for emergency, rescue and humanitarian missions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; overflow:hidden; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; margin:0; font-size:15px; line-height:1.55;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:25%; background:#1f4e79; color:white;&amp;quot; | Aircraft family&lt;br /&gt;
! style=&amp;quot;width:35%; background:#1f4e79; color:white;&amp;quot; | Typical strengths&lt;br /&gt;
! style=&amp;quot;width:40%; background:#1f4e79; color:white;&amp;quot; | Operational limits&lt;br /&gt;
|-&lt;br /&gt;
| '''Twin-engine helicopters'''&lt;br /&gt;
| High safety margin, strong operational capability, medical evacuation compatibility, professional emergency use.&lt;br /&gt;
| High acquisition cost, high operating cost, demanding maintenance, need for trained crews and support infrastructure.&lt;br /&gt;
|-&lt;br /&gt;
| '''Single-turbine helicopters'''&lt;br /&gt;
| Good balance between performance and cost, widely used for utility missions, rescue support and regional operations.&lt;br /&gt;
| Still expensive to operate, noisy, fuel-dependent and maintenance-intensive.&lt;br /&gt;
|-&lt;br /&gt;
| '''Light helicopters'''&lt;br /&gt;
| More accessible, useful for observation, light transport and short-range missions.&lt;br /&gt;
| Limited payload, limited medical configuration, weather sensitivity and reduced redundancy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These aircraft remain essential today. However, they also show why new VTOL concepts are being explored: lower infrastructure needs, potentially lower operating cost, modular deployment and better adaptation to targeted missions.&lt;br /&gt;
&lt;br /&gt;
== Innovative VTOL project landscape ==&lt;br /&gt;
&lt;br /&gt;
The VTOL innovation landscape is broad. It includes electric air taxis, autonomous passenger aircraft, personal VTOL machines, multicopter platforms and hybrid-electric concepts. For a humanitarian project such as RED VTOL ONG, these examples are useful as references, but they must be evaluated with caution. Certification, payload, endurance, safety, maintainability and cost remain decisive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Joby Aviation'''&amp;lt;br&amp;gt;&lt;br /&gt;
All-electric piloted eVTOL concept focused on air taxi operations. It is one of the most visible advanced air mobility projects and is often used as a reference for electric VTOL development.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''EHang EH216-S'''&amp;lt;br&amp;gt;&lt;br /&gt;
Autonomous passenger-carrying eVTOL platform. It is an important reference because of its certification progress in China for pilotless passenger operations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Volocopter'''&amp;lt;br&amp;gt;&lt;br /&gt;
Electric multicopter VTOL concept historically focused on urban air mobility. It remains a useful technical reference, although its industrial and financial situation requires caution.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Lilium'''&amp;lt;br&amp;gt;&lt;br /&gt;
Former electric jet-based eVTOL project. It should now be treated mainly as a historical reference showing both the ambition and the financial difficulty of the eVTOL sector.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Zapata AirScooter'''&amp;lt;br&amp;gt;&lt;br /&gt;
Personal hybrid-electric VTOL machine. It illustrates a different approach, closer to individual vertical mobility than to collective air transport.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ddd; border-radius:14px; padding:20px; background:#fdfdfd; box-shadow:0 2px 8px rgba(0,0,0,0.05);&amp;quot;&amp;gt;&lt;br /&gt;
'''Mini-Bee Hybrid'''&amp;lt;br&amp;gt;&lt;br /&gt;
Hybrid VTOL concept developed in the Bee ecosystem, with a humanitarian orientation through RED VTOL ONG and a focus on useful missions, emergency access and modular deployment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electric, hybrid and piston-based VTOL approaches ==&lt;br /&gt;
&lt;br /&gt;
Different VTOL architectures answer different operational needs.&lt;br /&gt;
&lt;br /&gt;
'''All-electric VTOL''' aircraft are attractive because of their low local emissions, reduced acoustic signature and simplified propulsion architecture. However, endurance, charging infrastructure, payload and battery mass remain important constraints, especially for humanitarian missions far from prepared bases.&lt;br /&gt;
&lt;br /&gt;
'''Hybrid-electric VTOL''' aircraft combine electric propulsion with an onboard energy source, often a combustion engine used as a generator. This approach can improve range, endurance and operational flexibility. For humanitarian use, hybridization may be relevant when missions require longer distances, uncertain infrastructure or rapid redeployment.&lt;br /&gt;
&lt;br /&gt;
'''Piston-engine and turbine-based systems''' remain important because they are already proven in aviation. Engines such as Rotax aircraft engines are widely used in light aviation and can support hybrid architectures where a combustion engine feeds an electric propulsion system.&lt;br /&gt;
&lt;br /&gt;
== Mini-Bee Hybrid as a humanitarian VTOL concept ==&lt;br /&gt;
&lt;br /&gt;
Within the Bee ecosystem, '''Mini-Bee Hybrid''' is positioned as a light hybrid VTOL concept designed around useful missions rather than luxury mobility. Its purpose is connected to emergency response, medical support, humanitarian logistics and rapid intervention.&lt;br /&gt;
&lt;br /&gt;
The project explores an aircraft architecture that could support:&lt;br /&gt;
&lt;br /&gt;
* vertical take-off and landing without a conventional runway;&lt;br /&gt;
* modular deployment in difficult environments;&lt;br /&gt;
* light medical or emergency missions;&lt;br /&gt;
* operation in areas with reduced infrastructure;&lt;br /&gt;
* a balance between electric propulsion benefits and hybrid endurance;&lt;br /&gt;
* a possible link with humanitarian field operations through RED VTOL ONG.&lt;br /&gt;
&lt;br /&gt;
This is where the support of Alten Solidaire becomes valuable. The challenge is not only to imagine an aircraft, but to structure a credible engineering approach around the mission.&lt;br /&gt;
&lt;br /&gt;
== Role of Alten Solidaire in the project ==&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire can contribute by bringing engineering culture, technical discipline and project structuring to a humanitarian-oriented innovation effort.&lt;br /&gt;
&lt;br /&gt;
Its role may include:&lt;br /&gt;
&lt;br /&gt;
* helping clarify operational needs;&lt;br /&gt;
* supporting the definition of technical requirements;&lt;br /&gt;
* contributing to architecture studies;&lt;br /&gt;
* improving the readability of engineering choices;&lt;br /&gt;
* supporting the link between mission needs and aircraft design;&lt;br /&gt;
* helping transform a concept into a more structured development path;&lt;br /&gt;
* bringing method, technical review and engineering perspective.&lt;br /&gt;
&lt;br /&gt;
In this position, Alten Solidaire supports RED VTOL ONG by helping the humanitarian application become technically clearer. The objective is to make the project easier to understand, easier to discuss with partners and more coherent from an engineering perspective.&lt;br /&gt;
&lt;br /&gt;
== A shared ambition: engineering for humanitarian action ==&lt;br /&gt;
&lt;br /&gt;
The link between Alten Solidaire, RED VTOL ONG and Mini-Bee Hybrid gives the project a strong identity. It combines three complementary dimensions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; margin:25px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Engineering method'''&amp;lt;br&amp;gt;&lt;br /&gt;
A structured approach to requirements, architecture, feasibility and technical credibility.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Humanitarian purpose'''&amp;lt;br&amp;gt;&lt;br /&gt;
A focus on emergency access, medical support, rescue missions and operations in difficult environments.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left:5px solid #1f4e79; padding:18px; background:#f7f9fc; border-radius:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''VTOL innovation'''&amp;lt;br&amp;gt;&lt;br /&gt;
A search for new aerial mobility solutions that can operate with reduced ground infrastructure.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire therefore appears as an engineering support actor serving a wider humanitarian ambition. Through its connection with RED VTOL ONG, it helps position Mini-Bee Hybrid not only as an aeronautical innovation, but as a possible tool for useful missions.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Alten Solidaire is part of the Bee ecosystem as a technical and human support contributor. Its position is especially relevant in relation to RED VTOL ONG, because the project aims to connect VTOL innovation with humanitarian use cases.&lt;br /&gt;
&lt;br /&gt;
The Mini-Bee Hybrid project gives this relationship a concrete direction: a light hybrid VTOL concept studied for emergency, medical and humanitarian missions. In this framework, Alten Solidaire helps reinforce the engineering credibility of a project whose purpose is not only to fly, but to serve.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Wiki.admin</name></author>
	</entry>
</feed>