Pour bien démarrer l’année 2023, les développeurs de BetaFlight nous proposent une nouvelle version majeure de leur bébé : BetaFlight 4.4. Quelles sont les nouveautés ? Qu’est-ce qui change ? Faut-il faire la mise à jour ? On va essayer de répondre à toutes vos questions.
Vidéo de présentation de BetaFlight 4.4
Comme pour BetaFlight 4.3, on vous a préparé une vidéo de démonstration des nouveautés.
Intro
Après une version 4.3 qui s’est longuement faite attendre et qui marquait le passage à un certain niveau de maturité, l’équipe BetaFlight semble atteindre son rythme de croisière.
Le contenu de la version est bien cadré, le cycle de développement est fluide et efficace. Avec des Release Candidates qui s’enchainent rapidement pour mener à une Release fiable et intensément testée.
C’est une équipe qui a l’air de très bien fonctionner, et ça fait plaisir à voir.
Comme d’habitude, cette nouvelle version du firmware est accompagnée d’une nouvelle version de BetaFlight Configurator, la 10.9.0. Il est indispensable d’installer cette nouvelle version avant de vouloir flasher BetaFlight 4.4 sur vos machines.
Un nouveau site
Avant de plonger dans les nouveautés, une information importante : cette release est accompagnée d’un nouveau site Betaflight.com. Il va devenir le nouveau point d’entrée pour la documentation et divers médias, news et autres infos autour de BetaFlight.
Si vous souhaitez soutenir le projet financièrement, vous trouverez sur la page d’accueil les liens vers leur Paypal et leur Patreon.
Performance en vol, impact sur le tuning ?
On va commencer par la question qui accompagne chaque nouvelle release : est-ce qu’il y a des changements importants au niveau du comportement de vol et est-ce qu’il faut retuner ?
En général, on recommande de retuner à chaque nouvelle release majeure, c’est toujours une bonne pratique. Néanmoins, pour cette version, vous devriez arriver sur un tune très similaire, voire même pouvoir récupérer votre tune de la version 4.3, à quelques détails près.
Les principes de tuning que l’on a vus dans le tuto sur le tuning « aux sliders » avec Betaflight 4.3 restent d’actualité, il n’y a pas de changement à ce niveau là.
Cette version 4.4 est beaucoup moins portée sur les performances en vol que la 4.3, mais il y a tout de même quelques optimisations. On ne pourra pas entrer dans le détail à chaque fois. Cependant, nous tacheront de mettre un lien vers les Pull Requests associées, pour les plus curieux d’entre vous. Voici les principales évolutions :
- L’anti-gravity s’améliore (#11679) pour réduire les risques d’oscillations en particulier sur le Yaw. Attention, la valeur par défaut est maintenant fixée à 8 dans le configurateur, ce qui est assez élevé, il y a peu de chance qu’il soit nécessaire de la pousser davantage. En cas de chargement d’un ancien tune, attention à bien remettre cette valeur à 8.
- La fréquence minimum par défaut pour le filtre notch dynamique passe à 100 Hz, au lieu 150Hz. Ca permet de mieux filtrer certains setups un peu noisy à basse fréquence. Si votre build n’en a pas besoin, vous pourrez le repasser à 150Hz.
- Quelques légères optimisations au niveau de la boucle PID (#11326).
- Verrouillage du iTerm en cas de saturation des moteurs (#11806), cela évitera de l’overshoot dû à l’accumulation de I. Ca sera surtout utile sur des machines assez lourdes ou sous-motorisées, ou sur des mouvements très secs.
- Petite correction sur le Airmode (#11857).
- Optimisation des mesures de l’accéléromètre pour les gyros BMI160 et BMI270 (#11895). Cela ne devrait pas impacter le vol en acro.
- Optimisation de la gestion des nouveaux gyros ICM-426xx (#11866), pour avoir un comportement comparable à celui des MPU6000 et des BMI270 en réglant le filtre hardware interne sur une fréquence de coupure à 258Hz (en mode NORMAL).
Cloud builds
L’une des grosses nouveautés de cette release repose sur un système de compilation spécifique dans le « cloud » (sur un serveur distant).
Jusqu’ici, quand on flashait BetaFlight sur une FC, on choisissait notre target, et BetaFlight Configurator allait récupérer le fichier .HEX (le firmware) correspondant à la version choisie. Le firmware BetaFlight contenait toujours l’intégralité des fonctionnalités.
Et plus le temps passe, plus ce firmware grossit : nouvelles fonctionnalités, de nombreux protocoles (radio, ESCs), nouveau drivers (gyroscope, baromètre, mémoire…).
Selon la cible choisie, BetaFlight 4.3.2 « pèse » entre 450 Ko et 550 Ko environ. Et si on se reporte au tableau suivant, on voit que cette taille devient problématique pour certains micro-controlleurs très répandus, comme les F411, les G4 et les F722. Ces MCU sont équipés de seulement 512 Ko de mémoire flash.
Micro-controleur | Mémoire flash | Fréquence |
F0 (STM32F051) | 256 Ko | 48 Mhz |
F1 (STM32F103) | 128 Ko | 72 Mhz |
F3 (STM32F303) | 256 Ko | 72 Mhz |
F4 (STM32F405) | 1 Mo | 168 Mhz |
F4 (STM32F411) | 512 Ko | 100 Mhz |
G4 (STM32G491) | 512 Ko | 170 Mhz |
F7 (STM32F745) | 1 Mo | 216 Mhz |
F7 (STM32F722) | 512 Ko | 216 Mhz |
F7 (STM32F765) | 2 Mo | 216 Mhz |
H7 (STM32H743) | 2 Mo | 480 Mhz |
Ce nouveau système de « Cloud builds » permet de télécharger un firmware qui ne contient que les fonctionnalités nécessaires, et donc considérablement réduire la quantité de mémoire nécessaire pour le stocker.
Par exemple, aucune raison d’embarquer tous les protocoles pour les ESCs si on n’utilise que le DShot.
Pour une F722 qui nécessitait 450Ko de mémoire flash en 4.3.2, si on ne sélectionne que le strict nécessaire en 4.4, on arrive sur 312 Ko avec les options suivantes :
L’option « Flash » correspond à la prise en charge de la mémoire embarquée pour la Blackbox.
Pour les FC équipées d’un RX SPI ELRS, le firmware compilé contiendra le code pour ExpressLRS 3.x (c’est mentionné dans la target, pas besoin de sélectionner d’option spécifique).
Si votre configuration a déjà été demandée par quelqu’un, le téléchargement sera pratiquement instantané. Par contre, si vous êtes le premier à demander un build bien particulier, la génération du firmware se fera à la demande sur les serveurs de l’équipe BetaFlight. Comptez environ 30 secondes de temps de compilation.
A noter qu’il est possible d’enregistrer localement un firmware téléchargé en cliquant sur son nom, dans la barre de progression en bas :
Cette fonction permettra de rallonger significativement la durée de vie des FC basées sur des F411, F722 ou G4. Ne vous attendez cependant pas à ressusciter de très vieilles FC à base de F0, F1 ou F3 (à la limite) :
- La target doit exister.
- En supprimant TOUTES les fonctionnalités sauf le Crossfire et le DShot, on arrive à 234 Ko, tout juste pour tenir sur une F3 ou une F0. Il faudra donc renoncer à l’OSD.
- La mémoire flash ne fait pas tout : il faut aussi avoir suffisamment de puissance de calcul pour faire tourner BetaFlight 4.4 correctement. Il y a peu de chance de faire tourner le RPM filter sur ces vieilles FC.
GPS : Return To Home
Autre évolution majeure : BetaFlight 4.4 embarque maintenant un « vrai » RTH (#11579). Jusqu’ici, nous avions un « GPS Rescue » qui permettait de ramener le quad en cas de perte du signal par exemple. Une fois le signal récupéré, nous pouvions reprendre le contrôle pour le ramener à bon port.
Les devs ont revu en profondeur la gestion du GPS pour nous proposer une véritable fonction de « Retour à la maison », incluant l’atterrissage du quad ! Ca marche très bien, les mouvements du quads sont beaucoup plus fluides et moins erratiques. Le quad se pose en douceur et coupe ses moteurs dès que l’accéléromètre détecte le contact avec le sol.
Test du RTH de BetaFlight 4.4
Pour le moment, l’équipe BetaFlight recommande de désactiver la boussole/magnétomètre (compass) si vous en avez un et qu’il n’est pas bien calibré. Les évolutions autour du GPS mériteraient un tuto dédié. En attendant, n’hésitez pas à vous reporter à la pull request qui contient énormément d’informations sur les modifications, les conseils de réglages et les informations importantes à prendre en compte.
N’hésitez pas non plus à regarder l’excellent tuto de Ivan Efimov (en anglais).
Nouveautés pour l’OSD
Cette release contient plusieurs améliorations concernant l’OSD en général.
Les premières concernent la prise en compte de VTX HD, qu’on peut maintenant déclarer depuis l’onglet « Ports » :
Dans l’onglet OSD, on peut également choisir le format « HD » qui permettra plus de liberté pour le placement des différents éléments. Si vous volez en 4/3, vous pourrez par exemple positionner les éléments d’OSD sur les côtés de l’image.
Toutes les solutions HD ne gère pas encore toutes les fonctionnalités, mais ça ne saurait tarder.
De nouvelles infos sont maintenant affichables dans l’OSD :
- Le « Ready mode » permet d’indiquer à l’organiseur de course via l’OSD qu’on est prêt (#11886).
- Le RSNR (qualité du signal pour les protocoles radio basés sur LoRa comme Crossfire et ExpressLRS) (#11062).
- Le nom du pilote et du quad sont maintenant séparés sur 2 champs différents (#11391).
- Le rythme cardiaque [si si ! 😉 (#10789)].
- etc.
Autres nouveautés de BetaFlight 4.4
On a vu l’essentiel des grosses évolutions. L’article étant déjà assez long comme ça, on va tâcher de lister ici le reste des nouveautés qui méritent votre intérêt :
- On peut maintenant nommer les profiles PID et Rates ! (limite à 8 caractères) et c’est affichable dans l’OSD (#3150 et #11962).
- Le TPA bascule (enfin !) dans l’onglet PID Profile plutôt que Rate Profile (#11779).
- Intégration de ExpressLRS 3.0 pour les RX SPI ELRS (#11783).
- Le « GPS Lap Timer » permet de compter les tours lors du passage sur un point GPS précis (#11856).
- Le fonctionnement des baromètres a été optimisé, pour obtenir des mesures plus lisses et plus précises (€11775).
- Optimisations autour du protocole Ghost : correction du jitter (#11234) et ajout du support de MSP (#11242) (pensez à mettre à jour aussi les scripts LUA).
Et si vous voulez vraiment TOUT savoir, alors vous pouvez consulter la liste complète des PR inclues dans la version 4.4.
Mise à jour
Avant de mettre à jour, pensez toujours à faire une sauvegarde de votre configuration (via la page des presets ou via un « diff all » dans le CLI).
Vous devriez pouvoir reprendre (en copiant/collant dans le CLI) vos réglages pour : les ports, le mapping des axes, les modes (AUX), l’organisation de l’OSD, la configuration du récepteur, l’ordre des moteurs et vos rates.
On applique ensuite le preset adapté à notre lien radio (pensez à positionner le RC Smoothing Auto factor à 45, les presets proposent des valeurs bien trop hautes).
Enfin, pour tous les réglages des onglets PIDs et filtres, je préfère passer par l’interface graphique pour les configurer pour éviter d’insérer une valeur qui ne serait plus adaptée (ex : la valeur pas défaut de l’anti-gravity qui change entre la 4.3 et la 4.4).
On recommande de refaire un tuning, mais si vous venez de la 4.3, vous devriez pouvoir reprendre l’essentiel de vos réglages de filtrages et de PIDs.
Si après flashage de vos FC vous perdez l’accès à votre baromètre ou à la mémoire pour la Blackbox, reportez vous aux notes de release. Il faudra indiquer dans le champ « Custom defines » des paramètres supplémentaires, par exemple :
Conclusion
L’époque où l’on se demandait s’il fallait mettre à jour BetaFlight est révolue. Chaque version suit un cycle de développement rigoureux, subit plusieurs phases de tests et passe en release quand elle est réellement prête.
En terme de contenu, on reste sur une certaine cohérence d’une version à l’autre. On ne devrait plus se retrouver avec des versions chaotiques comme se fut le cas avec la version 4.0 par exemple, qui n’a pas été très bien reçue.
Je sais qu’une des devises qu’on entend souvent dans le hobby c’est « quand ça marche, ne touche à rien ». Et évidemment, vous pouvez tout à fait décider de ne pas faire de mise à jour.
Personnellement, je préfère faire les mises à jour pour profiter des dernières optimisations, tant pour les performances de vols que pour les corrections de bugs ou les nouvelles fonctionnalités. Le cycle de développement me semble suffisamment robuste pour ne plus m’inquiéter : j’ai volé pendant des mois sur des versions en cours de développement (bien avant les RC) sans rencontrer de problème. Et rien ne vous empêche d’attendre quelques semaines avant de basculer.