TEC · 04

Flight controller e firmware: il cervello del drone

A cura di Redazione Formazione DroniPubblicato il Aggiornato il Tempo di lettura 7 min

Scheda flight controller su un tappetino antistatico accanto a un portatile
Il flight controller chiude l'anello di controllo migliaia di volte al secondo.
Indice della guida

Il flight controller è il calcolatore che tiene in aria il drone. Legge l'assetto dai sensori, lo confronta con quello che il pilota sta chiedendo, calcola quanta potenza dare a ciascun motore e ricomincia: la frequenza tipica del ciclo va da 2 a 8 kHz. Senza questo lavoro un multirotore non starebbe su un secondo, perché è un sistema intrinsecamente instabile che qualcuno deve correggere in continuazione.

È anche il componente su cui passa la differenza più netta fra il mondo consumer e il mondo aperto. Il quadro d'insieme è nella guida su come funziona un drone.

L'anello di controllo, passo per passo

Ogni ciclo il flight controller fa quattro cose:

  1. Legge le velocità angolari dal giroscopio e le accelerazioni dall'accelerometro.
  2. Stima l'assetto reale fondendo i due dati, insieme a barometro, magnetometro e GNSS quando ci sono.
  3. Confronta l'assetto stimato con quello richiesto dal pilota o dalla missione, ottenendo un errore.
  4. Calcola la correzione da applicare a ciascun motore e la invia agli ESC, tipicamente via DShot.

La correzione la produce un regolatore PID. Il termine proporzionale reagisce all'errore attuale, l'integrale corregge l'errore accumulato nel tempo, il derivativo smorza le variazioni rapide. Regolare questi tre termini è ciò che nel gergo si chiama tuning, ed è la parte del lavoro che decide se un drone risulta preciso o "molle".

La MCU: F4, F7, H7 e alternative

FamigliaClock tipicoNote
STM32F4 (F405/F411)168 MHzEconomica e ancora diffusissima; poche UART sull'F411, adeguata a build semplici
STM32F7 (F722/F745)216 MHzPiù UART e più memoria, buon margine per filtri e funzioni
STM32H7 (H743/H750)400-480 MHzRiferimento di fascia alta: loop veloci, filtri complessi, molte periferiche
AT32F435288 MHzAlternativa economica a F7/H7, ampiamente supportata
GD32, APM32varieCloni compatibili, supportati da Betaflight

Il criterio di scelta non è "il più veloce". È il numero di periferiche che ti servono, cioè quante porte seriali per ricevitore, telemetria, GPS e sistema video, e quanto margine di calcolo vuoi lasciare ai filtri.

I sensori a bordo

Sulla scheda del flight controller, o collegati a essa, stanno i sensori che definiscono ciò che il drone sa di sé:

  • IMU. Giroscopio e accelerometro a tre assi. Modelli diffusi sono ICM-42688-P e BMI270, con l'MPU6000 ormai legacy. Il giroscopio è il sensore critico.
  • Barometro. Stima la quota dalla pressione. È sensibile a vento, correnti d'aria e cambi meteo: una deriva di qualche metro su un volo lungo è normale.
  • Magnetometro. Determina la prua. È il sensore più facilmente disturbato, e sui multirotori FPV spesso è del tutto assente.
  • OSD. Sovrappone i dati di telemetria al video.
  • Blackbox. Registra i dati di volo su memoria flash o microSD. È indispensabile per il tuning e per capire cosa è successo dopo un incidente.

Su quando calibrare bussola e IMU, e soprattutto su quando non farlo, la guida dedicata è quella sulla calibrazione della bussola e dell'IMU. Il comportamento dei sensori di ostacolo è invece trattato nella guida su sensori e sistemi anti-collisione.

I quattro firmware che contano

FirmwareAmbitoCaratteristiche
BetaflightFPV racing e freestyleMassime prestazioni acrobatiche, tuning fine, comunità enorme
INAVFPV con navigazione, ala fissaWaypoint, rientro automatico robusto, supporto GNSS avanzato
ArduPilotProfessionale, ricercaMultirotore, ala fissa, VTOL, rover e sottomarini; failsafe, geofence, missioni complesse
PX4Professionale, industriaArchitettura modulare, ecosistema ROS/MAVSDK, base di molti prodotti commerciali

Nota sulle versioni di Betaflight: il progetto ha adottato un versionamento a data nella forma anno.minore, e la release corrente è la 2026.6. Non ha più senso citare "Betaflight 4.6" come versione attuale: lo schema di numerazione è cambiato.

La 2026.6 ha esteso il supporto hardware a ESP32, alle famiglie STM32H5, N6 e C5, all'H757 dual-core e a piattaforme come X-CORE Labs X32M7, oltre a mantenere STM32G4, H7, GD32H7, APM32F4 e RP2350. Sul lato funzioni ha introdotto una scheda Flight Plan con autopilota, per ora solo in simulazione, ha riscritto il GPS Rescue su un nuovo stimatore di posizione tridimensionale, ha portato l'OSD pixel-based su Raspberry Pi Pico 2 e ha aggiunto Betaflight Bridge per la connessione wireless via ESP32-S3 da dispositivi iOS e Wi-Fi.

Perché i droni consumer non si configurano

Su un drone consumer il flight controller esiste, fa esattamente lo stesso lavoro, ma non è accessibile. Il firmware è chiuso e l'utente può intervenire solo su impostazioni di alto livello: quota massima, distanza massima, quota di rientro, comportamento in caso di perdita del link, sensibilità dei comandi.

Non è una scelta arbitraria. I droni con marcatura di classe devono soddisfare requisiti verificati da un organismo notificato, e diversi di questi requisiti sono implementati proprio nel firmware: limitazione dello spazio aereo, geo-awareness, protezione dalla perdita del collegamento di comando e controllo, modalità a bassa velocità sui C2. Un mezzo con firmware modificabile non potrebbe garantirli, e alterare quelle funzioni farebbe uscire il drone dalle condizioni in cui è stato certificato.

Da qui la divisione pratica del mondo: chi vola in Categoria Open con un mezzo di serie configura impostazioni e procedure; chi costruisce un mezzo aperto configura il controllo, e in cambio opera in A3, perché un drone senza marcatura di classe è vincolato a quella sottocategoria. Le regole sono nella guida ai droni autocostruiti e in quella sulle sottocategorie A1, A2 e A3.

Il failsafe è una decisione, non un'impostazione

Il comportamento alla perdita del collegamento è programmabile: Drop (motori a zero, il mezzo cade), Land (atterraggio verticale sul posto), RTH (rientro al punto di decollo), Hold (mantenimento della posizione per un tempo definito, poi azione successiva).

Ognuna di queste opzioni è giusta in un contesto e sbagliata in un altro. In area urbana un Drop è inaccettabile. Sopra un bosco fitto, un rientro automatico con GNSS degradato lo è altrettanto. La scelta va fatta prima del decollo, guardando l'area, e rivista ogni volta che l'area cambia: è materia della guida sulle emergenze in volo.

Domande frequenti

Che cos'è il flight controller di un drone?

È il calcolatore che chiude l'anello di controllo: legge l'assetto dai sensori, lo confronta con quanto richiede il pilota e calcola i comandi ai motori. La frequenza tipica del ciclo va da 2 a 8 kHz.

Che differenza c'è tra F4, F7 e H7?

Sono famiglie di microcontrollori STM32 con potenza crescente: F4 attorno a 168 MHz, F7 a 216 MHz, H7 fra 400 e 480 MHz. Più potenza significa loop più veloci, filtri più complessi e più periferiche disponibili.

Cosa sono i PID di un drone?

Sono i tre termini del regolatore che trasforma l'errore di assetto in correzione ai motori: proporzionale sull'errore attuale, integrale sull'errore accumulato, derivativo sulla sua rapidità di variazione. Regolarli è il tuning.

Betaflight o ArduPilot?

Betaflight è pensato per FPV racing e freestyle, con la migliore risposta acrobatica. ArduPilot è pensato per l'uso professionale e la ricerca: missioni complesse, failsafe articolati, geofence e supporto a molte piattaforme. Sono strumenti per lavori diversi.

Posso configurare il flight controller del mio drone consumer?

No. I droni consumer montano firmware chiuso: puoi cambiare impostazioni di alto livello come quota massima, distanza e comportamento del rientro automatico, non i parametri dell'anello di controllo. È una scelta di sicurezza e di conformità.

Fonti

Le affermazioni normative di questa pagina vengono da qui.

Scrivi almeno due lettere.

↑ ↓ per scorrere · Invio per aprire · Esc per chiudere