# ══════════════════════════════════════════════════════════════ # BETAFLIGHT 4.6 CLI-SKRIPT # Flywoo Flylens 75 HD O4 2S — GOKU F405 BGA · ROBO 1003 14800KV · 1611-3 Props # TBS Crossfire Empfänger · DJI O4 Air Unit # Stand: Juni 2026 · Erstellt für blunaa.com # ══════════════════════════════════════════════════════════════ # # WICHTIG VOR DEM EINSPIELEN: # 1. Vollständigen Chip-Erase durchführen (Firmware-Flasher, Häkchen # "Full chip erase" setzen) — alte 4.x/4.5 Werte sind NICHT kompatibel. # 2. Aktuellste Betaflight Configurator Version nutzen. # 3. Dieses Skript per CLI-Tab einfügen, dann "save" am Ende ausführen. # 4. Nach dem Speichern: Motor-Pole-Zahl der ROBO 1003 prüfen (siehe unten), # Props ab und Motoren testen (Motors-Tab), danach erst Erstflug. # # ══════════════════════════════════════════════════════════════ # 1. GRUNDKONFIGURATION: MIXER, EMPFÄNGER, BOARD # ══════════════════════════════════════════════════════════════ # Mischer & Empfänger set mixer_type = QUADX set rx_spi_protocol = CRSF set serialrx_provider = CRSF set rssi_channel = 0 # TBS Crossfire — Telemetrie-Optionen set crsf_use_negotiated_baud = ON # Looptime / PID-Loop: F405 läuft stabil auf 4k/4k mit DSHOT300 set gyro_sync_denom = 1 set pid_process_denom = 1 # ══════════════════════════════════════════════════════════════ # 2. MOTOR & ESC — DSHOT + BIDIREKTIONALES RPM-TELEMETRIE # ══════════════════════════════════════════════════════════════ set motor_pwm_protocol = DSHOT300 set dshot_bidir = ON set dshot_burst = AUTO set scheduler_optimize_rate = ON # ROBO 1003 Motoren: 1S-Whoopmotoren dieser Baugröße haben i.d.R. 12 Pole. # WICHTIG: Vor dem Erstflug am Motor nachzählen oder im Flywoo-Datenblatt # bestätigen — falsche Polzahl verschiebt die RPM-Filter-Notches! set motor_poles = 12 # Idle-Wert für 2S-Whoops etwas höher als bei 5"-Quads (bessere Authority # bei niedrigem Gas, da 2S-Systeme weniger Reserve haben) set dyn_idle_min_rpm = 35 set dyn_idle_p_gain = 50 set dyn_idle_i_gain = 50 set dyn_idle_d_gain = 50 # Motor Output Limit / Idle set motor_idle = 5.5 # ══════════════════════════════════════════════════════════════ # 3. FILTER-EINSTELLUNGEN (ZUERST! — vor PID immer Filter sauberziehen) # ══════════════════════════════════════════════════════════════ # --- RPM-Filter (Bidirektionales DShot) --- # Bestes Werkzeug gegen Motor-Geräusche, ersetzt einen Großteil der # generischen Dynamic-Notch-Arbeit. 3 Harmonische reichen für saubere # 1611er-Props; bei sichtbarem Propwash-Rauschen auf 4 erhöhen. set rpm_filter_harmonics = 3 set rpm_filter_min_hz = 100 set rpm_filter_q = 500 set rpm_filter_lpf_hz = 150 # --- Dynamic Notch Filter --- # Auf 2S-Whoops mit RPM-Filter aktiv kann der Dynamic Notch schmaler und # fokussierter eingestellt werden — er fängt dann nur noch Rahmen-Resonanzen # ein, nicht mehr das Motorrauschen (das übernimmt der RPM-Filter). set dyn_notch_count = 1 set dyn_notch_q = 350 set dyn_notch_min_hz = 150 set dyn_notch_max_hz = 500 # --- Gyro-Tiefpassfilter --- # 2S-Whoops mit kleinen 1611-Props haben höhere Vibrationsfrequenzen als # 5"-Quads. Etwas mehr Filterung als Default sorgt für klares Signal ohne # spürbaren Lag, da die kleinen Motoren ohnehin weniger Trägheit haben. set gyro_lpf1_type = PT1 set gyro_lpf1_static_hz = 150 set gyro_lpf2_type = PT1 set gyro_lpf2_static_hz = 250 set gyro_lpf1_dyn_min_hz = 150 set gyro_lpf1_dyn_max_hz = 350 # --- D-Term-Tiefpassfilter --- set dterm_lpf1_type = PT1 set dterm_lpf1_static_hz = 100 set dterm_lpf1_dyn_min_hz = 75 set dterm_lpf1_dyn_max_hz = 170 set dterm_lpf2_type = PT1 set dterm_lpf2_static_hz = 150 # --- Yaw-Tiefpassfilter --- set yaw_lpf_hz = 100 # ══════════════════════════════════════════════════════════════ # 4. PID-TUNING — Ausgangsbasis für Flylens 75 (2S, 1611-3, 14800KV) # ══════════════════════════════════════════════════════════════ # # Begründung: Kleine 2S-Whoops mit Propguards/Ducted-Frame-Geometrie # brauchen im Verhältnis zu 5"-Freestylern HÖHERE P- und D-Gains, da die # Massenträgheit gering, aber die Propwash-Anfälligkeit durch die # Rahmenkanäle hoch ist. Startwerte unten orientieren sich an erprobten # 75mm-2S-Tunes (z. B. BetaFPV Air75-Klasse) und wurden für die # 14800KV-Motoren der Flylens 75 leicht angepasst. # --- Profil 0 (Hauptprofil) --- set p_pitch = 46 set i_pitch = 68 set d_pitch = 32 set f_pitch = 90 set p_roll = 42 set i_roll = 65 set d_roll = 28 set f_roll = 85 set p_yaw = 42 set i_yaw = 65 set d_yaw = 0 set f_yaw = 85 # D_Min: dynamisches D, das bei ruhigem Flug reduziert (kühlere Motoren, # mehr Akkulaufzeit), aber bei schnellen Bewegungen voll hochfährt. set d_min_pitch = 24 set d_min_roll = 20 set d_min_boost_gain = 25 # Feedforward — moderne Betaflight-4.5/4.6-Defaults setzen FF deutlich # höher an als ältere Versionen; das verbessert die Stick-Präzision auf # kleinen, sehr reaktionsfreudigen Whoops spürbar. set feedforward_smooth_factor = 25 set feedforward_jitter_factor = 7 set feedforward_boost = 15 # Anti-Gravity (gegen I-Term-Sprung bei schnellen Gas-Stößen) set anti_gravity_gain = 80 # TPA (Throttle PID Attenuation) — reduziert P/D bei hohem Gas, damit der # Quad bei Vollgas nicht zu nervös wird set tpa_rate = 65 set tpa_breakpoint = 1700 # Iterm Relax — verhindert I-Term-Aufbau bei schnellen Stick-Bewegungen set iterm_relax = RP set iterm_relax_type = SETPOINT set iterm_relax_cutoff = 15 # ══════════════════════════════════════════════════════════════ # 5. RATEN (Stick-Empfindlichkeit) — Actual-Rates, gut für Freestyle/Cine # ══════════════════════════════════════════════════════════════ set roll_rc_rate = 7 set pitch_rc_rate = 7 set yaw_rc_rate = 7 set roll_srate = 67 set pitch_srate = 67 set yaw_srate = 67 set roll_expo = 15 set pitch_expo = 15 set yaw_expo = 15 # ══════════════════════════════════════════════════════════════ # 6. AKKU / 2S-SPEZIFISCHE EINSTELLUNGEN # ══════════════════════════════════════════════════════════════ set vbat_min_cell_voltage = 300 set vbat_warning_cell_voltage = 330 set vbat_max_cell_voltage = 430 set battery_meter = ADC # Vbat-Sag-Kompensation — wichtig auf 2S, da die Zellspannung unter Last # stärker einbricht als auf größeren Akkupacks set vbat_sag_compensation = 100 # Throttle Limit als Sicherheits-/Komfortoption (Konfiguration optional, # auskommentiert lassen für volle Power, einkommentieren für sanfteres # Indoor-Fliegen): # set throttle_limit_type = SCALE # set throttle_limit_percent = 90 # ══════════════════════════════════════════════════════════════ # 7. DJI O4 AIR UNIT — UART/OSD-VORBEREITUNG # ══════════════════════════════════════════════════════════════ # OSD auf HD-Modus (DJI O4 Air Unit kommuniziert per MSP/OSD über UART) set osd_displayport_device = MSP set vtx_band = 0 set vtx_channel = 0 # Bei der GOKU F405 BGA übernimmt i.d.R. der für die O4-Verbindung # vorgesehene UART automatisch MSP-Displayport; bei Bedarf manuell # über die Ports-Konfiguration im Configurator gegenprüfen. # ══════════════════════════════════════════════════════════════ # 8. SPEICHERN # ══════════════════════════════════════════════════════════════ save # ══════════════════════════════════════════════════════════════ # ENDE DES SKRIPTS # # NACH DEM SPEICHERN: # 1. Motors-Tab: Drehrichtung + RPM-Anzeige je Motor prüfen (Props AB!) # 2. Erstflug ruhig & vorsichtig, danach Blackbox-Log auswerten # 3. Bei Motor-Wärme nach Flug: Filter (Gyro/D-Term LPF) leicht erhöhen # 4. Bei spürbarem Lag/"schwammigem" Gefühl: Filter leicht reduzieren # 5. Master-Multiplier-Slider (Configurator PID-Tab) für Feintuning nutzen, # bevor einzelne PID-Achsen manuell verändert werden # ══════════════════════════════════════════════════════════════