Son kontrol: 27 Ekim 2026; bilgiler projelerin kendi belgelerinden doğrulandı. Bu tarihteki kararlı sürümler: Betaflight 2026.6.2, INAV 9.1.0 (10.0 aday sürüm testinde), ArduPilot 4.7.2 ve PX4 v1.17.0. Menü ve parametre adları sürümden sürüme değişebildiği için ayrıntıları kuracağınız sürümün belgesinden teyit edin.
Betaflight, INAV, ArduPilot ve PX4'ün dördü de açık kaynaklı uçuş kontrol yazılımıdır (flight controller firmware), fakat her biri farklı bir uçuş türü için geliştirildi. Birini seçtiğinizde aslında uçuş kontrol kartınızı (flight controller, FC), yer kontrol istasyonu (GCS) yazılımınızı, telemetri protokolünüzü ve takıldığınızda yardım isteyeceğiniz topluluğu da seçmiş olursunuz. Bu rehber dört yazılımı yapılacak işe göre karşılaştırıyor; ardından failsafe davranışlarını, aynı kartta yazılım değiştirmeyi, üç örnek yapıyı ve Türkiye'deki kuralları ele alıyor.
Kısa cevap: hangi iş için hangi uçuş yazılımı?
| Ne yapıyorsunuz? | Başlangıç noktası | Neden? |
|---|---|---|
| Acro modda uçulan freestyle, yarış (racing) veya cinewhoop drone | Betaflight | Ayar ve filtreleme acro FPV'ye göre kurgulanmış (RPM filtresi, hazır ayarlar, Blackbox kayıtları); çok geniş FPV kart desteği; güvenlik yardımcısı olarak GPS Rescue ve Position Hold |
| GPS destekli uzun menzil FPV, sabit kanat veya uçan kanat, FPV sınıfı kartta basit rota noktası (waypoint) görevleri | INAV | F4/F7/H7 kartlarda eve dönüş (RTH), konum tutma, seyir (cruise) modları ve 120 rota noktasına kadar görev; uçak mikserleri ve otomatik fırlatma (autolaunch) |
| Multikopter, uçak, VTOL (QuadPlane), kara aracı, tekne veya denizaltıyla haritalama, denetim ve faydalı yük işleri | ArduPilot | Olgunlaşmış görev (mission) altyapısı, katmanlı failsafe'ler, Lua betikleri; dördü arasında en geniş araç desteği |
| Araştırma, ROS 2 projeleri veya izin verici (permissive) lisans gerektiren ticari ürün | PX4 | BSD-3-Clause lisansı, yerleşik ROS 2 köprüsüne sahip uORB mimarisi, referans donanım olarak Pixhawk, Dronecode yönetişimi |
ArduPilot ile PX4 büyük ölçüde örtüşür: ikisi de MAVLink konuşur, Pixhawk sınıfı donanımda çalışır, tarama (survey) görevleri yürütebilir ve yardımcı bilgisayarla (companion computer) entegre edilebilir. Bu ikisi arasındaki seçimi genellikle lisans, ekibinizin deneyimi ve tam olarak hangi araç tipini uçuracağınız belirler.
Kökenleri ve lisansın neden önemli olduğu
Betaflight ile INAV kardeş projelerdir. Hikâye, 8 bit Arduino sınıfı kartlarda Wii kumandasından alınan jiroskopla çalışan MultiWii ile başlar. Baseflight bu yazılımı 32 bit mikrodenetleyicilere taşıdı, Cleanflight Baseflight'tan çatallandı (fork), Betaflight da 2015'te yeni özellikleri ayrı bir dalda denemek için Cleanflight'tan çatallandı ve zamanla FPV'de performans odaklı tercih hâline geldi. INAV ise aynı Cleanflight kod tabanından navigasyon odağıyla doğdu. İkisinin de MSP protokolünü, diff all ile yedeklenen metin tabanlı komut satırını (CLI), birbirine benzeyen kart hedeflerini (target) ve masaüstü yapılandırma araçlarını kullanması bu ortak geçmişten gelir.ArduPilot 2009'da DIY Drones topluluğundan Arduino tabanlı bir otopilot olarak çıktı ve zamanla genel amaçlı bir araç otopilotuna dönüştü: multikopter, helikopter, uçak, QuadPlane VTOL, kara aracı, tekne, denizaltı, zeplin (blimp) ve anten izleyici (antenna tracker) aynı kod tabanını paylaşır. PX4 ise ETH Zürih'teki Pixhawk öğrenci projesinden doğdu; MAVLink'i, Pixhawk donanımını ve QGroundControl'ü de aynı ekip geliştirdi. Bugün Linux Foundation bünyesindeki Dronecode Vakfı (Dronecode Foundation) tarafından barındırılıyor.
Lisanslar: Betaflight, INAV ve ArduPilot GPLv3, PX4 ise BSD-3-Clause lisanslıdır. GPLv3'te değiştirdiğiniz yazılımı dağıtırsanız (örneğin sattığınız bir ürünün içinde) ilgili kaynak kodunu da aynı lisansla sunmanız gerekir. BSD-3-Clause ise telif bildirimini korumanız koşuluyla değişikliklerinizi kapalı tutmanıza izin verir. Kapalı kaynak uçuş kodu isteyen şirketler için PX4'ü çekici kılan budur; ArduPilot tabanlı ürün çıkarıp değişikliklerini yayımlayan şirketler de vardır. MAVLink de yer istasyonu yazılımınızın kaynak kodunu açmaya zorlamaz: mesaj tanımlarından üretilen kütüphaneler genellikle MIT lisanslıdır. Bir ürünü bu yollardan birine bağlamadan önce hukuki görüş alın.
Donanım: hangi uçuş kontrol kartında ne çalışır?
Burada belirleyici olan büyük ölçüde flash bellektir. FPV uçuş kontrol kartlarının çoğu STM32 F4, F7 veya H7 mikrodenetleyici kullanır; Betaflight ve INAV ayrıca AT32F435 tabanlı kartlarda da çalışır. Bu mikrodenetleyici aileleriyle ilgili arka plan için ESP32, STM32, Raspberry Pi ve RP2040 karşılaştırmamıza bakabilirsiniz; Betaflight, 2025.12 ile RP2350 (Raspberry Pi Pico 2), 2026.6 ile de deneysel ESP32 desteği ekledi.| Kart sınıfı | Betaflight | INAV | ArduPilot | PX4 |
|---|---|---|---|---|
| F411, 512 KB flash (küçük AIO kartlar) | Mevcut hedefler derlenmeye devam ediyor; yeni tasarım kabul edilmiyor | INAV 8'den beri resmî sürümlerde yok | Yok | Yok |
| F405 (1 MB) ve F722 (512 KB) | Var; 4 motorlu freestyle ve yarış için uygun | Var; INAV 8 notlarına göre Geozones özelliği F722'ye sığmıyor | Birçok F405 kart, kısıtlı derlemeyle (Lua yok); F722 kart yok | Pratikte yok; eski F4/F7 kartlar desteği sonlananlar listesinde |
| H743 tabanlı FPV formatlı kartlar (2 MB) | Var; yüksek G/Ç gerektiren yeni tasarımlar için önerilen MCU H743 | Var | Var; Lua için yeterli flash | Üretici destekli bazı kartlar; PX4 listesine bakın |
| Pixhawk standardında FMU (FMUv5, v5X, v6C, v6X) | Hedef platform değil | Hedef platform değil | Var | Var; referans donanım |
Karşınıza çıkacak sensörler:
- GNSS (GPS): Eve dönüş ve görevler için şarttır; konum tutma için de, alçak irtifada bir optik akış sensörü devreye girmiyorsa gerekir. INAV 9 ve sonrası u-blox M8 veya daha yeni (protokol sürümü 15 ve üzeri) bir alıcı ister. Haritalama dronlarında baz istasyonundan ya da NTRIP servisinden düzeltme alan RTK alıcıları kullanılır.
- Pusula (manyetometre): Batarya kablolarından, ESC'lerden ve görüntü vericisinden (VTX) uzakta, GPS direğine takılmalı. Betaflight, Position Hold için pusulayı şiddetle önerir; INAV 7.1'den beri multirotorda pusulasız navigasyona izin verse de pusulayı hâlâ önerir; ArduPilot ve PX4 ile uçan multikopterlerde normalde pusula kullanılır; ArduPilot ayrıca GSF yön kestirimi ve çift antenli GPS ile yön bulma gibi pusulasız seçenekleri belgeler.
- Barometre: Çoğu uçuş kontrol kartında bulunur; irtifa tutmaya yardım eder ama pervane akımından ve ani rüzgârdan etkilenir.
- Hava hızı sensörü (pitot): Uçak ve VTOL'lerin yer hızı yerine hava hızını kontrol etmesini sağlar; rüzgârlı havada fark yaratır. INAV, ArduPilot ve PX4 destekler.
- Mesafe sensörü ve optik akış (optical flow): Alçak irtifada hassas konum ve irtifa tutmayı, GPS olmadan havada sabit kalmayı sağlar. Betaflight 2026.6, desteklenen tek bir birleşik optik akış ve lazer sensörüyle GPS'siz Position Hold ekledi; ArduPilot ve PX4 çok daha geniş bir sensör yelpazesini destekler.
- Yedeklilik (redundancy): Pixhawk sınıfı kartların çoğu çift veya üçlü IMU, IMU ısıtıcısı, titreşim yalıtımı ve DroneCAN çevre birimleri için CAN veri yolu sunar. ArduPilot ve PX4 bu yedek sensörleri kullanır; profesyonel bir araçta bu, ham işlemci hızından daha önemlidir.
Özellik karşılaştırması
| Özellik | Betaflight | INAV | ArduPilot | PX4 |
|---|---|---|---|---|
| Ana araç tipleri | Multirotor; sabit kanat desteği 2025.12 ile genişledi | Multirotor, uçak ve uçan kanat; mikser profilleriyle VTOL | Multikopter, helikopter, uçak, QuadPlane VTOL, kara aracı, tekne, denizaltı, zeplin | Bakımı sürdürülen: multikopter, uçak, VTOL; deneysel: kara aracı, helikopter, denizaltı |
| GPS işlevleri | GPS Rescue, Altitude Hold ve Position Hold; 2026.6'daki waypoint otopilotu yalnızca simülasyon için | RTH, konum tutma, seyir, hedeflerin çoğunda 120 rota noktasına kadar görev, çoklu görev, Geozones | RTL ve SmartRTL, Loiter, Auto görevleri, coğrafi sınırlama (fence), arazi takibi | Return, Hold, Position ve Mission modları, coğrafi sınırlama (geofence) |
| Yapılandırma aracı | Betaflight App (tarayıcıda PWA; masaüstü ve Android sürümleri de var) | INAV Configurator (Windows, macOS, Linux) | Mission Planner (Windows; macOS'ta Mono ile), QGroundControl, MAVProxy | QGroundControl (Windows, macOS, Linux, Android) |
| Telemetri | MSP, CRSF, SmartPort; MAVLink çıktısı 2026.6'da QGroundControl için genişletildi | MSP, CRSF, SmartPort, LTM; 9.x belgelerine göre MAVLink telemetrisi yalnızca gönderim yönlü | Yerleşik MAVLink 2 | Yerleşik MAVLink 2 |
| Kart üstü betik | Yok; kumanda tarafındaki Lua betikleri yalnızca ayar değiştirir | Programming Framework (mantık koşulları; Configurator'da JavaScript düzenleyici) | SD karttan Lua betikleri (2 MB flash'lı kartlar; F4'te yok) | Betik dili yok; C++ modülleri veya ROS 2 üzerinden harici modlar |
| Yardımcı bilgisayar ve ROS 2 | UART üzerinden MSP; sınırlı | MSP ve MSP RC Override modu; sınırlı | MAVLink (MAVROS, pymavlink) ve DDS üzerinden yerleşik ROS 2 arayüzü | uXRCE-DDS köprüsü (v1.14'ten beri), PX4 ROS 2 Interface Library, MAVSDK |
| Simülasyon | SITL; daha çok geliştiriciler için | RealFlight veya X-Plane ile SITL | Yerleşik fizik modelli SITL; Gazebo, JSBSim, Webots | Gazebo ile SITL, hafif SIH, HITL |
| Uçuş kayıtları (log) | Blackbox; 2026.6'dan beri görüntüleyici uygulamanın içinde | Blackbox; INAV blackbox-log-viewer | DataFlash .bin ve telemetri .tlog; MAVExplorer, WebTools, Mission Planner | ULog .ulg; Flight Review |
| Öğrenme eğrisi | FPV pilotu için düşük | Orta | Dik; çok geniş bir parametre seti | Dik; geliştirici odaklı |
| Lisans | GPLv3 | GPLv3 | GPLv3 | BSD-3-Clause |
MAVLink nedir? Hava aracı, yer istasyonu ve araç üstündeki bilgisayarlar arasında mesaj taşıyan hafif bir protokoldür. ArduPilot ve PX4 bu protokolü yerleşik olarak konuştuğu için Mission Planner, QGroundControl, MAVProxy, MAVSDK ve MAVROS ikisiyle de çalışır. Betaflight ve INAV ise yapılandırma için MSP protokolünü, kumanda telemetrisi için CRSF veya SmartPort'u kullanır; MAVLink çıktıları aracı yer istasyonunun haritasında göstermeye yeter, ama kurulum ve ayar yine Betaflight App veya INAV Configurator'da yapılır.
Failsafe: bir şey ters gittiğinde hangi yazılım ne yapar?
Failsafe (arıza emniyeti), radyo bağlantısı koptuğunda, batarya azaldığında ya da konum kestirimi bozulduğunda aracın kendi başına ne yapacağını belirler. Dört proje bu konuyu çok farklı derinliklerde ele alır:| Durum | Betaflight | INAV | ArduPilot (Copter) | PX4 |
|---|---|---|---|---|
| Radyo bağlantısı koptu | failsafe_delay boyunca 1. aşama kanal yedek değerlerini uygular, ardından 2. aşama: DROP (varsayılan), AUTO-LAND veya GPS-RESCUE | failsafe_procedure: LAND (varsayılan), RTH, DROP veya NONE; görev sırasında ne olacağını failsafe_mission_delay belirler | RC_FS_TIMEOUT (varsayılan 1 sn) sonrasında FS_THR_ENABLE ile RTL, Land, SmartRTL vb.; FS_OPTIONS görevin sürmesine izin verebilir | COM_RC_LOSS_T sonrasında COM_FAIL_ACT_T boyunca Hold, ardından NAV_RCL_ACT: Return, Land, Hold vb. |
| Batarya azaldı | Yalnızca OSD ve sesli uyarı (buzzer) | Voltaj ve kapasite alarmları; ayrı bir batarya failsafe eylemi yok | BATT_LOW_VOLT veya BATT_LOW_MAH, BATT_FS_LOW_ACT eylemini tetikler (RTL önerilir); ayrıca ikinci, kritik bir kademe var | BAT_LOW_THR, BAT_CRIT_THR ve BAT_EMERGEN_THR eşikleri ile COM_LOW_BAT_ACT |
| GPS bozuldu veya kayboldu | GPS Rescue tutarlılık (sanity) kontrolleri; 2026.6'dan beri başarısız kurtarma kontrollü alçalmaya geçer | RTH sırasında gerekli bir navigasyon sensörü devre dışı kalırsa kısa süre sonra acil iniş; sabit kanatta isteğe bağlı GPS konum kestirimi | EKF failsafe (FS_EKF_ACTION; örneğin Land veya AltHold) | Konum kaybı failsafe'i (COM_POS_FS_EPH eşiği) |
| Coğrafi sınırlama | Yalnızca simülasyondaki otopilotta | Geozones (INAV 8 ve sonrası): izinli ve yasak alanlar | FENCE_ENABLE, FENCE_TYPE, FENCE_RADIUS, FENCE_ALT_MAX, FENCE_ACTION | GF_ACTION, GF_MAX_HOR_DIST, GF_MAX_VER_DIST |
Yazılımı veya alıcıyı her değiştirdiğinizde şu masa testini yapın:
- Bütün pervaneleri sökün. Aracı uçuş bataryasıyla besleyin ve sonucu normalde izlediğiniz yerden takip edin: Betaflight ve INAV'da OSD (Betaflight App bağlıyken normalde arm etmeye izin vermez), ArduPilot ve PX4'te telemetri üzerinden yer istasyonu.
- Alıcının bağlantı kaybındaki davranışını kontrol edin: alıcı ya kanal verisi göndermeyi kesmeli ya da sizin belirlediğiniz failsafe değerlerini göndermeli; son çubuk konumlarını asla tutmamalı.
- Manuel bir modda arm edip gazı biraz açın, kumandayı kapatın (ya da yazılım sunuyorsa failsafe anahtarını kullanın) ve mod değişimini doğrulayın: Betaflight OSD'sinin uçuş modu alanında !FS! veya RESC (ve FAIL SAFE uyarısı), INAV'da seçtiğiniz prosedür, Mission Planner veya QGroundControl'de radyo failsafe mesajı.
- Kumandayı yeniden açıp kontrolün nasıl geri geldiğine bakın. ArduPilot siz mod değiştirene kadar failsafe modunda kalır; INAV'da bunu failsafe_stick_threshold gibi ayarlar belirler.
- ArduPilot veya PX4'te batarya failsafe'ini denemek için eşiği geçici olarak mevcut voltajın ya da yüzdenin üstüne alın, eylemi görün, sonra eski değere döndürün.
- GPS kaybını ve coğrafi sınır ihlalini önce SITL'de, sonra açık alanda, alçak irtifada ve kontrolü devralmaya hazır bir pilotla deneyin.
Aynı kartta yazılım değiştirmek
- Yedek alın. Betaflight ve INAV'da komut satırına diff all yazıp çıktıyı dosyaya kaydedin (INAV 10'a yükseltirken aday sürüm notları bunun yerine Firmware Flasher sekmesindeki Backup Config ve Restore Config düğmelerini öneriyor, çünkü adı değişen ayarlar yalnızca bu yolla otomatik aktarılıyor; kuracağınız sürümün notlarına uyun). ArduPilot ve PX4'te parametre dosyasını Mission Planner veya QGroundControl'den kaydedin.
- Doğru hedefi (target) bulun. Her proje kartları farklı adlandırır; aynı kartın birkaç revizyonu olabilir. Projenin kendi listesini kullanın: Betaflight App'in yükleyicisi, INAV hedef listesi, ArduPilot'un firmware sunucusu, PX4'ün uçuş kontrol kartı sayfaları.
- Yükleyin. Betaflight ile INAV arasında geçerken hedef projenin yapılandırma aracını Full Chip Erase seçeneğiyle kullanın. Betaflight veya INAV'dan ArduPilot'a geçiş, arduXXX_with_bl.hex dosyasının (önyükleyici ve yazılım bir arada) DFU modunda bir kereliğine yüklenmesidir, örneğin STM32CubeProgrammer ile; sonraki güncellemeler yer istasyonundan yapılır. Betaflight yüklü gelen kartlarda PX4 için de önce PX4'ün önyükleyicisi (bootloader) yüklenmelidir. Geri dönmek için boot düğmesine basılıyken USB'yi takıp DFU moduna girin ve Betaflight App ya da INAV Configurator ile yükleyin.
- Sıfırdan yapılandırın. Betaflight diff çıktısını INAV'a yapıştırmayın, ArduPilot parametre dosyasını PX4'e yüklemeyin. Ayar adları, birimler ve varsayılanlar farklıdır; tanıdık görünen bir değer başka bir şey ifade edebilir.
- Temelleri yeniden doğrulayın. Kart yönü (board alignment), motor numaraları ve dönüş yönleri, ESC protokolü, alıcı protokolü, ivmeölçer ve pusula kalibrasyonu, failsafe'ler. Betaflight'ın Quad-X motor numaralandırması ArduPilot'un varsayılanından farklıdır; ArduPilot, FPV düzeninde bağlanmış kartlar için FRAME_TYPE 12 (BetaFlightX) seçeneğini sunar, PX4'te ise çıkışlar QGroundControl'ün Actuators sekmesinde atanır.
Kod:
# Betaflight / INAV CLI - başka bir yazılım yüklemeden önce
diff all
# çıktının tamamını bir metin dosyasına kopyalayın ve araçla birlikte saklayın
İstisna: Uçuş yazılımını harici flash bellekte tutan birkaç kartta özel bir önyükleyici düzeni vardır ve ArduPilot bu kartlara kendi önyükleyicisini kurmayı geri dönüşü olmayan bir adım olarak belgeler. Başlamadan önce kartınızın belge sayfasını okuyun.
Üç örnek senaryo
1. 5 inç freestyle drone
- Yazılım: Betaflight. Acro uçuyorsunuz, sık düşüyorsunuz; çubuk hissi, filtreleme ve hızlı onarım sizin için önemli.
- Donanım: F405, F722 veya H743 uçuş kontrol kartı; çift yönlü DShot destekleyen 4'ü 1 arada (4-in-1) ESC; UART'a bağlı alıcı (yaygın tercih CRSF üzerinden ExpressLRS); analog veya dijital görüntü sistemi.
- Kurulum: Bulut derlemede (cloud build) ihtiyacınız olan seçeneklerle yükleyin, şasinize uyan bir hazır ayar (preset) uygulayın, çift yönlü DShot özelliğini ve RPM filtresini açın, motor testini pervanesiz yapın, ilk bataryalarda Blackbox kaydı alın.
- Failsafe: GPS yoksa varsayılan DROP mantıklıdır: drone kaçıp gitmek yerine düşer. GPS varsa GPS-RESCUE seçin. Kalibre edip doğruladığınız bir pusula kurtarmayı kalkıştan itibaren güvenilir kılar; 2026.6'da pusula ancak trust_mag = ON yapıldığında kullanılır. Pusula yoksa drone'un, kurtarma çalışmadan önce bir süre burnu önde, düz bir hatta uçması gerekir. Ona güvenmeden önce açık bir alanda failsafe anahtarıyla deneyin.
2. 7 inç uzun menzil veya sabit kanat FPV
- Yazılım: Özellikle uçak ve uçan kanatta INAV. Freestyle gibi uçulan 7 inç bir quad için GPS Rescue'lu Betaflight da makul bir alternatiftir; seyir modları, görevler ve eve dönmeden önce tırmanan bir RTH istiyorsanız INAV'ı seçin.
- Donanım: Kanat formatlı veya H7 uçuş kontrol kartı, direkte u-blox M8 veya daha yeni GPS ve pusula, isteğe bağlı hava hızı sensörü, doğru kapasite okuması için akım sensörü.
- Kurulum: Platform tipini ve mikseri seçin, her kontrol yüzeyinin hareket yönünü Configurator'da kontrol edin, nav_rth_altitude değerini çevredeki engellerin rahatça üstüne çıkarın (varsayılan 10 m), RTH irtifa modunu (nav_rth_alt_mode) belirleyin, failsafe_procedure değerini RTH yapın, elden atılan kanatlarda otomatik fırlatmayı (autolaunch) kullanın.
- Test: Uzak mesafede RTH'ye güvenmeden önce onu görüş mesafesi içinde bir anahtarla tetikleyip deneyin, ardından kayıtları inceleyin.
- Alternatif: Arazi takibi, QuadPlane VTOL veya Lua gerekiyorsa ArduPilot Plane; bedeli daha uzun bir kurulum ve Lua için 2 MB flash'lı bir kart.
3. RTK, kamera tetikleme ve görev planlamalı haritalama drone'u
- Yazılım: ArduPilot Copter veya PX4. Mission Planner'ın tarama ve kayıt analizi araçlarını istiyorsanız ArduPilot'u; şirketiniz ROS 2 yazılımını PX4 üzerine kuruyorsa ya da BSD lisansı gerekiyorsa PX4'ü seçin.
- Donanım: Yedekli IMU'lu, Pixhawk standardında ya da başka bir H7 uçuş kontrol kartı; çift frekanslı RTK GNSS alıcısı; telemetri radyosu; röle, servo çıkışı veya MAVLink kamera protokolüyle tetiklenen kamera.
- RTK düzeltmeleri: Mission Planner da QGroundControl da USB'ye bağlı bir baz alıcısından ya da NTRIP servisinden gelen RTCM düzeltmelerini MAVLink üzerinden araca iletebilir.
- Görev: Alanı Mission Planner'ın grid/survey aracıyla veya QGroundControl'ün Survey deseniyle çizin, kameranın sensör bilgilerini ve istediğiniz bindirme (overlap) oranını girin, arazi düz değilse arazi takibini açın. ArduPilot'ta mesafeye bağlı tetikleme DO_SET_CAM_TRIGG_DIST görev komutuyla yapılır.
- Güvenlik: Silindirik coğrafi sınır (ArduPilot'ta FENCE_TYPE ile; FENCE_RADIUS 30 m'den büyük olmalı, belgeler normalde en az 50 m öneriyor), radyo failsafe'inde RTL, düşük bataryada RTL ve kritik kademede Land, telemetri bağlantısına güveniyorsanız GCS failsafe'i.
- İş tarafı: Tarama veya denetim uçuşlarını hizmet olarak satmayı düşünüyorsanız drone ile bina cephe ve çatı temizliği fizibilite yazımız, bir drone işinin yanıtlaması gereken maliyet ve izin sorularına örnek olabilir.
Sık yapılan hatalar
- Acro freestyle için ArduPilot veya PX4 seçmek. İkisinde de acro modu var, ama ayar araçları, varsayılanlar ve topluluk bilgisi stabilize ve otonom uçuşa göre şekillenmiş; FPV'ye özgü iş akışından vazgeçer, karşılığında pek bir şey almazsınız.
- Pusulayı kötü yere koymak. Batarya kablolarının, ESC'lerin veya VTX'in yanındaki pusula gaza göre kayan bir yön bildirir. INAV'da ve diğer yazılımlarda GPS modlarındaki belirtisi, aracın tutma noktası etrafında daireler çizmesidir ("toilet bowl"); INAV 9.1 bunun için bir uyarı ekledi. Pusulayı direğe takın ve yönünü telefon pusulasıyla karşılaştırın.
- Failsafe'i hiç denememek. Son çubuk değerlerini tutan bir alıcı, hiç tetiklenmemiş bir GPS Rescue, ağaç boyunun altında kalan bir RTH irtifası. Önce masada, sonra sahada deneyin.
- Yanlış şasi tipi veya motor sırası. Betaflight'tan ArduPilot'a taşınan kartlarda tipiktir: araç kalkışta takla atar. Motor testini pervanesiz yapın.
- Eski sürümler için yazılmış rehberleri izlemek. Betaflight 2025.12 ile takvime dayalı sürüm numaralarına (YYYY.M.PATCH) geçti ve 2026.6'da bazı GPS Rescue ayarlarını kaldırıp yerlerine yenilerini koydu; INAV 8 ile F411 kartları bıraktı ve 9.0'dan beri u-blox M8 veya daha yeni GPS istiyor; ArduPilot ve PX4'te de parametre adları değişebiliyor. Yüklediğiniz sürümün notlarını okuyun.
- Betaflight'ın yeni otopilotunu bitmiş sanmak. 2026.6'daki Flight Plan sekmesi ve waypoint otopilotu deneysel ve yalnızca simülasyonda test edilmiş olarak işaretli; proje, bunlar açıkken gerçek bir aracın arm edilmemesini söylüyor.
Türkiye'de yasal çerçeve
Yazılımın bir özelliği desteklemesi, o özelliği kullanma izniniz olduğu anlamına gelmez. 30 Temmuz 2026'da yürürlüğe giren SHGM İnsansız Hava Aracı Sistemleri Talimatı'na (SHT-İHA) göre görüş hattı dışı (BVLOS) operasyonlar P2 lisansı kapsamındadır; aynı madde, pilot lisansının tanımladığı azami uçuş zarfının coğrafi sınırlama (geofence) ile fiilen uygulandığını da belirtir (Madde 6). İHA pilotunun anlık müdahalesi olmadan önceden programlanmış sistemlerle yapılan uçuş olarak tanımlanan otonom operasyonlar ise yalnızca P2 lisansıyla ve Genel Müdürlükten alınan operasyonel yetkilendirmeyle yapılabilir (Madde 4 ve 7). Waypoint ve tarama görevleri bu tanıma girebilir; işiniz bunlara dayanıyorsa SHGM'ye yazılı olarak sorun. Aynı metin, basit İHA (oyuncak sınıfı) dışındaki tüm araçların uçuş kontrol yazılımı dahil yazılımları için SHGM yazılım sertifikasyonu şartı getiriyor (Madde 23) ve yürürlük tarihinde kullanımda olan araçlara 31 Temmuz 2027'ye kadar dönüşüm süresi tanıyor; kullanıcıların sertifikasyon başvurusunu bu süre içinde yapması gerekiyor (Geçici Madde 2). Açık kaynak yazılım çalıştıran ev yapımı bir aracın nasıl değerlendirileceği metinde ayrıca açıklanmıyor; uçmadan önce SHGM'nin sitesindeki güncel metni kontrol edin, emin değilseniz doğrudan sorun.Sık sorulan sorular
Betaflight'lı uçuş kontrol kartıma INAV veya ArduPilot yükleyebilir miyim?Proje kartınızın tam modeli için bir hedef yayımlıyorsa çoğu zaman evet. INAV çoğu F405, F722 ve H7 FPV kartını destekler, ancak 8. sürümden beri F411'i desteklemez. ArduPilot en az 1 MB flash'lı F405 sınıfı bir kart ister ve orada kısıtlı bir derleme çalıştırır; Lua betikleri gibi özellikler için 2 MB flash'lı (örneğin H7) bir kart gerekir. Satın almadan önce her projenin kart listesine bakın.
Betaflight artık waypoint görevi uçabiliyor mu?
Betaflight 2026.6, bir Flight Plan sekmesi ve 30 noktaya kadar waypoint işleyen bir otopilot ekledi. Ancak proje bunu deneysel olarak işaretliyor, yalnızca simülasyonda test edildiğini ve gerçek bir araçta arm edilmemesi gerektiğini söylüyor. Gerçek görevler için INAV, ArduPilot veya PX4 kullanın.
Ticari bir ürün için ArduPilot mu, PX4 mü?
İkisi de ticari ürünlerde kullanılıyor. PX4'ün BSD-3-Clause lisansı yazılım değişikliklerinizi kapalı tutmanıza izin verir; ArduPilot'un GPLv3 lisansı ise dağıttığınız değiştirilmiş yazılımın kaynak kodunu paylaşmanızı gerektirir. Lisansın ötesinde, ihtiyacınız olan araç tiplerini, operatörlerinizin kullanacağı yer istasyonunu ve geliştiricilerinizin deneyimini karşılaştırın.
Pusula şart mı?
Konum tutan veya eve dönen her araçta iyi yerleştirilmiş ve kalibre edilmiş bir pusula işinizi kolaylaştırır. Betaflight, Position Hold için pusulayı şiddetle öneriyor; INAV pusulasız da navigasyon yapabiliyor ama yine de öneriyor; ArduPilot ve PX4 ile uçan multikopterlerde normalde pusula kullanılır; ArduPilot, GPS tabanlı yön kestirimi gibi pusulasız seçenekleri de belgeliyor.
Mission Planner mı, QGroundControl mü?
Mission Planner Windows öncelikli ve ArduPilot için geliştirilmiş bir yer istasyonudur; kurulum, simülasyon ve kayıt analizi araçları çok kapsamlıdır. QGroundControl Windows, macOS, Linux ve Android'de çalışır, hem PX4'ü hem ArduPilot'u destekler. İkisini birlikte de kullanabilirsiniz: dizüstü bilgisayarda Mission Planner ile yapılandırıp sahada Android tablette QGroundControl ile uçmak gibi.
Sonuç ve sonraki adımlar
Seçimi popülerliğe göre değil göreve göre yapın: acro FPV için Betaflight; FPV donanımında GPS destekli uçuş ve uçaklar için INAV; en geniş otonom araç yelpazesi ve faydalı yük işleri için ArduPilot; araştırma, ROS 2 ve izin verici lisans gerektiren ürünler için PX4. Ardından:- Araç tipini, ihtiyaç duyduğunuz GPS işlevlerini ve aracı kimin kullanacağını yazıya dökün.
- Donanım almadan önce deneyin: INAV, ArduPilot ve PX4 için SITL; Betaflight için uygulamanın Virtual Connect modu (Expert Mode açıkken görünür).
- Uçuş kontrol kartını projenin destek listesinden ve flash payı bırakarak seçin.
- Yedek alın, sıfırdan yapılandırın ve her failsafe'i pervaneler sökülüyken masada deneyin.
- Otonom veya BVLOS bir uçuştan önce SHT-İHA'nın güncel metnini kontrol edin.
Checked against each project's own documentation on 27 October 2026. Stable releases on that date: Betaflight 2026.6.2, INAV 9.1.0 (10.0 is in release-candidate testing), ArduPilot 4.7.2 and PX4 v1.17.0. Menu and parameter names change between versions, so confirm details in the docs for the version you install.
Betaflight, INAV, ArduPilot and PX4 are all open-source flight controller firmware, but each was built for a different kind of flying. Choosing one also chooses your flight controller hardware, your ground control station (GCS), your telemetry protocol and the community you will ask for help. This guide compares them by job, then covers failsafes, switching firmware on the same board, three worked builds and the rules that apply in Türkiye.
Quick answer: which firmware for which job
| What you are building | Start with | Why |
|---|---|---|
| Freestyle, racing or cinewhoop quad flown in acro | Betaflight | Tuning and filtering built around acro FPV (RPM filtering, presets, Blackbox logs), very wide FPV board support, GPS Rescue and Position Hold as safety aids |
| GPS-assisted long-range FPV, fixed wing or flying wing, simple waypoint missions on FPV-class boards | INAV | Return to home (RTH), position hold, cruise modes and missions of up to 120 waypoints on F4/F7/H7 boards, plus airplane mixers and auto-launch |
| Mapping, inspection and payload work on copters, planes, VTOL (QuadPlane), rovers, boats or submarines | ArduPilot | Mature mission engine, layered failsafes, Lua scripting and the broadest vehicle support of the four |
| Research, ROS 2 projects, or a commercial product that needs a permissive licence | PX4 | BSD-3-Clause licence, uORB architecture with a built-in ROS 2 bridge, Pixhawk reference hardware, Dronecode governance |
ArduPilot and PX4 overlap heavily: both speak MAVLink, run on Pixhawk-class hardware, fly survey missions and work with companion computers. Between those two, the licence, your team's experience and the exact vehicle type usually decide.
Where they come from, and why the licence matters
Betaflight and INAV are siblings. MultiWii ran on 8-bit Arduino-class boards with a gyro taken from a Wii controller. Baseflight ported it to 32-bit microcontrollers, Cleanflight forked Baseflight, and Betaflight forked Cleanflight in 2015 to try newer features in a separate project and over time became the performance-focused choice for FPV. INAV grew out of the same Cleanflight code with a focus on navigation. That shared ancestry is why both use the MSP protocol, a text CLI backed up with diff all, similar board targets and similar desktop configurators.ArduPilot came out of the DIY Drones community in 2009 as an Arduino-based autopilot and grew into a general vehicle autopilot: multicopters, helicopters, planes, QuadPlane VTOLs, rovers, boats, submarines, blimps and antenna trackers share one code base. PX4 came out of the Pixhawk student project at ETH Zurich, whose team also created MAVLink, the Pixhawk hardware and QGroundControl. It is now hosted by the Dronecode Foundation, a Linux Foundation project.
Licences: Betaflight, INAV and ArduPilot are GPLv3; PX4 is BSD-3-Clause. Under GPLv3, if you distribute modified firmware, for example inside a product you sell, you must also provide the corresponding source code under the same licence. BSD-3-Clause lets you keep your changes closed as long as you keep the copyright notice. That is what makes PX4 attractive to companies that want proprietary flight code; other companies ship ArduPilot-based products and publish their changes. MAVLink does not force your ground software open either: the libraries generated from its message definitions are typically MIT-licensed. Get legal advice before you commit a product to either path.
Hardware: which flight controller runs what
Flash memory decides much of this. Most FPV flight controllers use STM32 F4, F7 or H7 microcontrollers, and Betaflight and INAV also run on AT32F435 boards. For background on these MCU families, see our ESP32 vs STM32 vs Raspberry Pi vs RP2040 comparison; Betaflight added RP2350 (Raspberry Pi Pico 2) support in 2025.12 and experimental ESP32 support in 2026.6.| Board class | Betaflight | INAV | ArduPilot | PX4 |
|---|---|---|---|---|
| F411, 512 KB flash (small AIO boards) | Existing targets still built; no new designs accepted | Not in official releases since INAV 8 | No | No |
| F405 (1 MB) and F722 (512 KB) | Yes; a good fit for 4-motor freestyle and racing | Yes; per the INAV 8 notes, Geozones do not fit on F722 | Many F405 boards with a reduced build (no Lua); no F722 boards | Practically no; older F4/F7 boards are on the discontinued list |
| H743-based FPV-format boards (2 MB) | Yes; H743 is the recommended MCU for new high-I/O designs | Yes | Yes; enough flash for Lua | Some manufacturer-supported boards; check PX4's list |
| Pixhawk-standard FMU (FMUv5, v5X, v6C, v6X) | Not a target platform | Not a target platform | Yes | Yes; reference hardware |
Sensors you will meet:
- GNSS (GPS): needed for return to home and missions, and for position hold unless an optical-flow sensor holds position at low altitude. INAV 9 and later need a u-blox M8 or newer receiver (protocol version 15 or later). Mapping drones use RTK receivers that take corrections from a base station or an NTRIP service.
- Compass (magnetometer): mount it on a GPS mast, away from battery leads, ESCs and the video transmitter. Betaflight strongly recommends one for Position Hold; INAV has allowed multirotor navigation without one since 7.1 but still recommends it; ArduPilot and PX4 multicopters normally use one, and ArduPilot documents compass-less options such as GSF yaw estimation and dual-antenna GPS yaw.
- Barometer: on most flight controllers; it helps altitude hold but is disturbed by prop wash and gusts.
- Airspeed sensor: lets planes and VTOLs control airspeed rather than ground speed, which matters in wind. INAV, ArduPilot and PX4 support it.
- Rangefinder and optical flow: precise low-altitude hold and GPS-free hovering. Betaflight 2026.6 added GPS-free Position Hold with one supported combined flow and laser sensor; ArduPilot and PX4 support a much wider range.
- Redundancy: many Pixhawk-class boards add dual or triple IMUs, IMU heaters, vibration isolation and CAN buses for DroneCAN peripherals. ArduPilot and PX4 use the extra sensors; on a professional aircraft that matters more than raw CPU speed.
Feature comparison
| Feature | Betaflight | INAV | ArduPilot | PX4 |
|---|---|---|---|---|
| Main vehicle types | Multirotors; fixed-wing support expanded in 2025.12 | Multirotors, planes and flying wings; VTOL through mixer profiles | Multicopters, helicopters, planes, QuadPlane VTOL, rovers, boats, submarines, blimps | Maintained: multicopters, planes, VTOL; experimental: rovers, helicopters, submarines |
| GPS functions | GPS Rescue, Altitude Hold and Position Hold; the 2026.6 waypoint autopilot is simulation-only | RTH, position hold, cruise, missions of up to 120 waypoints on most targets, multi-mission, Geozones | RTL and SmartRTL, Loiter, Auto missions, fences, terrain following | Return, Hold, Position and Mission modes, geofence |
| Configuration tool | Betaflight App (browser PWA, plus desktop and Android builds) | INAV Configurator (Windows, macOS, Linux) | Mission Planner (Windows; macOS via Mono), QGroundControl, MAVProxy | QGroundControl (Windows, macOS, Linux, Android) |
| Telemetry | MSP, CRSF, SmartPort; MAVLink output expanded for QGroundControl in 2026.6 | MSP, CRSF, SmartPort, LTM; MAVLink telemetry described as transmit-only in the 9.x docs | MAVLink 2, natively | MAVLink 2, natively |
| Onboard scripting | None; transmitter Lua scripts only change settings | Programming Framework (logic conditions, with a JavaScript editor in the Configurator) | Lua scripts from the SD card (2 MB flash boards; not on F4) | No scripting language; C++ modules or external modes over ROS 2 |
| Companion computer and ROS 2 | MSP over UART, limited | MSP and the MSP RC Override mode, limited | MAVLink (MAVROS, pymavlink) and a native ROS 2 interface over DDS | uXRCE-DDS bridge (since v1.14), PX4 ROS 2 Interface Library, MAVSDK |
| Simulation | SITL, mainly for developers | SITL with RealFlight or X-Plane | SITL with built-in physics; Gazebo, JSBSim, Webots | SITL with Gazebo, lightweight SIH, HITL |
| Logs | Blackbox; viewer built into the app since 2026.6 | Blackbox; INAV blackbox log viewer | DataFlash .bin and telemetry .tlog; MAVExplorer, WebTools, Mission Planner | ULog .ulg; Flight Review |
| Learning curve | Low for FPV pilots | Moderate | Steep; a very large parameter set | Steep; developer-oriented |
| Licence | GPLv3 | GPLv3 | GPLv3 | BSD-3-Clause |
What MAVLink is: a lightweight message protocol between the aircraft, ground stations and onboard computers. ArduPilot and PX4 speak it natively, so Mission Planner, QGroundControl, MAVProxy, MAVSDK and MAVROS work with both. Betaflight and INAV use MSP for configuration and CRSF or SmartPort for radio telemetry; their MAVLink output can put the aircraft on a ground station map, but setup and tuning still happen in the Betaflight App or INAV Configurator.
Failsafes: what each firmware does when something fails
A failsafe decides what the aircraft does on its own when the radio link drops, the battery runs low or the position estimate goes bad. The four projects handle this at very different depths:| Event | Betaflight | INAV | ArduPilot (Copter) | PX4 |
|---|---|---|---|---|
| Radio link lost | Stage 1 applies channel fallback values for failsafe_delay, then Stage 2: DROP (default), AUTO-LAND or GPS-RESCUE | failsafe_procedure: LAND (default), RTH, DROP or NONE; failsafe_mission_delay sets what happens during a mission | After RC_FS_TIMEOUT (1 s by default), FS_THR_ENABLE selects RTL, Land, SmartRTL and others; FS_OPTIONS can let a mission continue | After COM_RC_LOSS_T it holds for COM_FAIL_ACT_T, then runs NAV_RCL_ACT: Return, Land, Hold and others |
| Low battery | OSD and beeper warnings only | Voltage and capacity alarms; no separate battery failsafe action | BATT_LOW_VOLT or BATT_LOW_MAH triggers BATT_FS_LOW_ACT (RTL recommended), with a second, critical stage | BAT_LOW_THR, BAT_CRIT_THR and BAT_EMERGEN_THR with COM_LOW_BAT_ACT |
| GPS glitch or loss | GPS Rescue sanity checks; since 2026.6 a failed rescue attempts a controlled descent | Emergency landing if a required navigation sensor drops out during RTH; optional GPS fix estimation for planes | EKF failsafe (FS_EKF_ACTION, for example Land or AltHold) | Position-loss failsafe (COM_POS_FS_EPH threshold) |
| Geofence | Only in the simulation-only autopilot | Geozones (INAV 8 and later): allowed and no-fly areas | FENCE_ENABLE, FENCE_TYPE, FENCE_RADIUS, FENCE_ALT_MAX, FENCE_ACTION | GF_ACTION, GF_MAX_HOR_DIST, GF_MAX_VER_DIST |
Run this bench test every time you change firmware or receiver:
- Remove all propellers. Power the aircraft from its flight battery and watch the result where you normally would: the OSD for Betaflight and INAV (the Betaflight App normally blocks arming while it is connected), the ground station over telemetry for ArduPilot and PX4.
- Check what the receiver does on link loss: it must either stop sending channel data or send the failsafe values you set, never hold the last stick positions.
- Arm in a manual mode with a little throttle, switch the transmitter off (or use a failsafe switch where the firmware offers one) and confirm the mode change: !FS! or RESC in the Betaflight OSD flight-mode element (plus the FAIL SAFE warning), your chosen procedure in INAV, a radio failsafe message in Mission Planner or QGroundControl.
- Switch the transmitter back on and check how control returns. ArduPilot stays in the failsafe mode until you change modes; in INAV, settings such as failsafe_stick_threshold decide.
- For battery failsafes on ArduPilot or PX4, raise the threshold above the current voltage or percentage temporarily, confirm the action, then restore it.
- Rehearse GPS loss and fence breaches in SITL first, then in the field at low altitude, over open ground, with a pilot ready to take over.
Switching firmware on the same board
- Back up. Betaflight and INAV: run diff all in the CLI and save the output (when upgrading to INAV 10, its release-candidate notes recommend the Backup Config and Restore Config buttons on the Firmware Flasher tab instead, because only that path migrates renamed settings automatically; follow the notes for the version you install). ArduPilot and PX4: save the parameter file from Mission Planner or QGroundControl.
- Find the exact target. Each project names boards differently, and one board can have several revisions. Use the project's own list: the Betaflight App flasher, INAV's target list, ArduPilot's firmware server, PX4's flight controller pages.
- Flash. Between Betaflight and INAV, use the destination project's configurator with Full Chip Erase. Moving from Betaflight or INAV to ArduPilot is a one-time DFU flash of the arduXXX_with_bl.hex file (bootloader plus firmware), for example with STM32CubeProgrammer; later updates come from the ground station. PX4 likewise needs its own bootloader on boards that ship with Betaflight. To go back, hold the boot button while plugging in USB to enter DFU mode, then flash with the Betaflight App or INAV Configurator.
- Reconfigure from scratch. Never paste a Betaflight diff into INAV or load an ArduPilot parameter file into PX4. Setting names, units and defaults differ, and a value that looks familiar can mean something else.
- Re-verify the basics. Board orientation, motor numbering and spin direction, ESC protocol, receiver protocol, accelerometer and compass calibration, failsafes. Betaflight's Quad-X motor numbering differs from ArduPilot's default; ArduPilot offers FRAME_TYPE 12 (BetaFlightX) for boards wired the FPV way, and PX4 assigns outputs in QGroundControl's Actuators tab.
Kod:
# Betaflight / INAV CLI, before flashing anything else
diff all
# copy the whole output into a text file and keep it with the aircraft
Exception: a few boards that keep the flight firmware on external flash use a special bootloader arrangement, and ArduPilot documents installing its own bootloader on them as a one-way step. Read the board's documentation page before you start.
Three worked scenarios
1. 5-inch freestyle quad
- Firmware: Betaflight. You fly acro, crash often and care about stick feel, filtering and quick repairs.
- Hardware: an F405, F722 or H743 flight controller, a 4-in-1 ESC with bidirectional DShot, a receiver on a UART (ExpressLRS over CRSF is the common choice), analog or digital video.
- Setup: flash with the cloud-build options you need, apply a preset that matches the frame, enable bidirectional DShot and the RPM filter, run the motor test with props off, and record Blackbox logs on the first packs.
- Failsafe: without GPS, the default DROP makes sense: the quad falls instead of flying away. With a GPS, choose GPS-RESCUE. A compass you have calibrated and checked makes the rescue dependable from take-off; 2026.6 uses it only after you set trust_mag = ON. Without one, the quad needs some straight, nose-forward flight before a rescue can work. Test it over open ground with a failsafe switch before you rely on it.
2. 7-inch long range or fixed-wing FPV
- Firmware: INAV, especially for planes and flying wings. For a 7-inch quad flown like a freestyle quad, Betaflight with GPS Rescue is a reasonable alternative; choose INAV when you want cruise modes, missions and an RTH that climbs before it returns.
- Hardware: a wing-format or H7 flight controller, a u-blox M8 or newer GPS with a compass on a mast, an optional airspeed sensor and a current sensor for honest capacity readings.
- Setup: set the platform type and mixer, check every control surface direction in the Configurator, raise nav_rth_altitude well above local obstacles (the default is 10 m), pick the RTH altitude mode (nav_rth_alt_mode), set failsafe_procedure to RTH, and use auto-launch for hand-launched wings.
- Tests: trigger RTH from a switch within sight before trusting it at range, then read the logs.
- Alternative: ArduPilot Plane if you need terrain following, QuadPlane VTOL or Lua, at the cost of a longer setup and, for Lua, a 2 MB flash board.
3. Mapping quad with RTK, camera trigger and mission planning
- Firmware: ArduPilot Copter or PX4. Pick ArduPilot if you want Mission Planner's survey and log tools; pick PX4 if your company builds ROS 2 software around it or needs the BSD licence.
- Hardware: a Pixhawk-standard or other H7 flight controller with redundant IMUs, a dual-frequency RTK GNSS receiver, a telemetry radio, and a camera triggered by a relay, a servo output or the MAVLink camera protocol.
- RTK corrections: Mission Planner and QGroundControl can both forward RTCM corrections, from a base receiver on USB or from an NTRIP service, to the aircraft over MAVLink.
- Mission: draw the area with Mission Planner's grid/survey tool or QGroundControl's Survey pattern, enter the camera's sensor data and the overlap you need, and enable terrain following if the ground is not flat. In ArduPilot, distance-based triggering uses the DO_SET_CAM_TRIGG_DIST mission command.
- Safety: a cylindrical fence (in ArduPilot, set through FENCE_TYPE; FENCE_RADIUS must be above 30 m and the docs suggest 50 m or more), RTL on radio failsafe, RTL on low battery with Land as the critical stage, and a GCS failsafe if you rely on the telemetry link.
- Business side: if you plan to sell survey or inspection flights as a service, our drone facade and roof cleaning feasibility thread shows the cost and permit questions a drone business has to answer.
Common mistakes
- Choosing ArduPilot or PX4 for acro freestyle. Both have acro modes, but their tuning tools, defaults and community knowledge are built around stabilized and autonomous flight; you give up the FPV workflow for little gain.
- Poor compass placement. A compass next to battery leads, ESCs or the video transmitter reports a heading that shifts with throttle. In GPS modes, on INAV or any other firmware, the symptom is the aircraft circling around its hold point ("toilet bowl"); INAV 9.1 added a warning for it. Mount the compass on a mast and compare its heading with a phone compass.
- Untested failsafes. A receiver that holds the last stick values, a GPS Rescue that was never triggered, an RTH altitude below the treetops. Test on the bench, then in the field.
- Wrong frame type or motor order. Typical after moving a Betaflight board to ArduPilot: the aircraft flips on take-off. Run the motor test with props off.
- Following tutorials written for older versions. Betaflight switched to calendar versions (YYYY.M.PATCH) with 2025.12 and replaced several GPS Rescue settings in 2026.6; INAV dropped F411 boards in version 8 and needs a u-blox M8 or newer GPS from 9.0; ArduPilot and PX4 rename parameters too. Read the release notes of the exact version you flash.
- Treating Betaflight's new autopilot as finished. The 2026.6 Flight Plan tab and waypoint autopilot are marked experimental and simulation-only, and the project says not to arm a real aircraft with them enabled.
The legal side in Türkiye
Firmware support for a feature is not permission to use it. Under SHGM's Unmanned Aircraft Systems Instruction (SHT-İHA), in force since 30 July 2026, beyond-visual-line-of-sight (BVLOS) operations fall under the P2 licence, and the same article says the maximum flight envelope set by the pilot licence is enforced in practice with a geofence (Article 6). Autonomous operations, defined as flights flown by pre-programmed systems without the pilot's instantaneous intervention, are allowed only under P2 and with an operational authorization from SHGM (Articles 4 and 7). Waypoint and survey missions may fall under that definition, so ask SHGM in writing if your work depends on them. The same text requires SHGM software certification for the software of every drone except the toy category ("basit İHA"), flight control software included (Article 23), and gives drones already in use when it took effect a transition period until 31 July 2027, within which their users must apply for certification (Provisional Article 2). It does not say how a home-built aircraft running open-source firmware will be treated, so check the current text on SHGM's website before you fly and ask if in doubt.FAQ
Can I flash INAV or ArduPilot on my Betaflight flight controller?Often, yes, if the project publishes a target for your exact board. INAV covers most F405, F722 and H7 FPV boards but has not supported F411 since version 8. ArduPilot needs at least an F405-class board with 1 MB of flash and runs a reduced build there; features such as Lua scripting need a 2 MB board such as an H7. Check each project's board list before you buy.
Does Betaflight fly waypoint missions now?
Betaflight 2026.6 added a Flight Plan tab and an autopilot that handles up to 30 waypoints, but the project marks it as experimental, tested only in simulation, and says not to arm a real aircraft with it. For real missions, use INAV, ArduPilot or PX4.
ArduPilot or PX4 for a commercial product?
Both are used in commercial products. PX4's BSD-3-Clause licence lets you keep firmware changes closed; ArduPilot's GPLv3 requires you to share the source of modified firmware you distribute. Beyond the licence, compare the vehicle types you need, the ground station your operators will use and where your developers already have experience.
Do I need a compass?
For anything that holds position or returns home, a well-placed, calibrated compass makes life easier. Betaflight strongly recommends one for Position Hold, INAV recommends one even though it can navigate without, and ArduPilot and PX4 multicopters normally use one; ArduPilot also documents compass-less options such as GPS-based yaw.
Mission Planner or QGroundControl?
Mission Planner is Windows-first and built for ArduPilot, with deep setup, simulation and log analysis tools. QGroundControl runs on Windows, macOS, Linux and Android and supports both PX4 and ArduPilot. You can use both: configure on a laptop with Mission Planner and fly with QGroundControl on an Android tablet.
Conclusion and next steps
Pick by mission, not by popularity: Betaflight for acro FPV, INAV for GPS-assisted flying and planes on FPV hardware, ArduPilot for the widest range of autonomous vehicles and payload work, PX4 for research, ROS 2 and products that need a permissive licence. Then:- Write down the vehicle type, the GPS functions you need and who will operate the aircraft.
- Try before you buy: SITL for INAV, ArduPilot and PX4, and the Betaflight App's Virtual Connect mode (shown once Expert Mode is on) for Betaflight.
- Buy a flight controller from the project's supported list, with flash to spare.
- Back up, configure from scratch and bench-test every failsafe with the props off.
- Check the current SHT-İHA text before any autonomous or BVLOS flight.