Betaflight can seem intimidating at first glance — there are so many tabs, settings, and unfamiliar terms. But don’t worry — there are only a handful of options you really need to configure to get your drone flying. Explaining every feature in Betaflight would take hours, so in this guide, I’ll focus on the essential setup steps you need after building or buying your first FPV drone.
Betaflight is the most popular flight controller firmware for FPV drones. If you’re new to FPV, check out my overview of flight controller firmware to learn how it compares to other options: https://oscarliang.com/fc-firmware/#Betaflight
Table of Contents
Where to Get Betaflight Configurator
Betaflight Configurator is the software used to configure and flash firmware to your flight controller.
You can now access it directly in your web browser — no installation needed: https://app.betaflight.com/
Note: The Betaflight Configurator web app only works in Google Chrome and other Chromium-based browsers such as Microsoft Edge or Vivaldi. It’s not compatible with Firefox, Safari, or Opera.
If you need an offline version, you can install it following this guide: https://oscarliang.com/install-betaflight-configurator-web-app
Configurator Options
Before connecting your flight controller, let’s adjust a few settings in the configurator to make your workflow smoother later on.
Click Options in the left-hand panel.
Here are a few recommendations:
- Reopen last tab on connect – automatically opens the last tab you used whenever you reconnect to the flight controller.
- Virtual connection mode – lets you explore and learn Betaflight Configurator without needing a real flight controller connected.
- Enable Dark Theme – easier on the eyes, especially for long setup sessions.
- Change language – switch to your preferred language for better readability.
Updating Firmware
You don’t have to update Betaflight firmware right away.
If you purchased your flight controller following my recommendations, it should already come with Betaflight pre-installed. While there might be a newer version available, updating isn’t always necessary, unless the new version includes specific features or bug fixes you want.
If your drone is flying fine and the new features are not appealing to you, it’s best to hold off on updating for now — flashing new firmware can erase all your settings, meaning you’d have to set up the drone again from scratch.
If you do decide to update, follow this step-by-step tutorial: https://oscarliang.com/flash-update-betaflight/
Connecting Your Drone to the Computer
Connect your drone to your computer using a USB cable — make sure you’re plugging into the actual flight controller, not the DJI Air Unit or other components. There is no need to plug in the battery.
If your computer doesn’t recognize the flight controller, double-check that you’re using a data cable, not a charge-only cable.
In Betaflight Configurator:
- Click “Select your device”, then “I can’t find my USB device”.
- A pop-up will appear showing available COM ports.
- Select the one that says “Betaflight”.
Tip: If you’re unsure which COM port is the right one, unplug the USB cable and reconnect it — the correct port is the one that appears when you reconnect.
If you can’t find the COM port or still can’t connect, you may have a driver issue on your computer. Follow this guide for a solution: https://oscarliang.com/fc-driver-issues-flash-firmware/.
Interface Explained
Once you click Connect, you’ll be greeted by a 3D model of your drone on the Setup tab.
Let’s walk through the interface and what you should pay attention to:
- Firmware Version and Target – Shows which version of Betaflight and target board are currently installed on your FC.
- Voltage Reading – Displays the voltage detected by the FC. If no LiPo battery is connected, it will show the USB voltage.
- Sensor Icons (Top Bar) – The lit-up icons represent active sensors on your flight controller.
- If an icon is red, it indicates a potential issue (e.g., a red GPS icon means it hasn’t acquired a satellite fix yet).
- For basic flying, all you really need is the Gyro — the other sensors simply provide extra features or flight modes.
On the left-hand panel, you’ll see all the available tabs. To keep things simple, we’ll only configure the essential settings — just enough to get your drone off the ground. Once you gain more experience, you can explore the additional tabs for advanced features.
Before proceeding, click Enable Expert Mode in the top-right corner. This unlocks extra tabs and advanced options that are hidden by default. You don’t necessarily need to change them right now, but it’s useful to have them visible — otherwise, you might wonder later why certain settings are missing.
Calibrate Accelerometer
If you see a pop up warning such as “The accelerometer is enabled but not calibrated”, don’t worry. Simply place your drone on a level surface and click Calibrate Accelerometer in the Setup tab. The warning should stop appearing.
I’d recommend calibrating your accelerometer anyway when you build or buy a new quad.
If there’s a cable coming out of the bottom of the drone and you can’t set the drone level on the desk, just hold it in your hand and try to be as level and steady as possible, it won’t be perfect but you can trim the accelerometer later if you find the drone drifts too much in angle mode.
Presets Tab
Whenever I configure a new quad or flight controller, I always jump straight to the Presets tab first because this is where you can create a backup before making any changes in Betaflight.
There are several ways to back up your Betaflight configuration (explained here: https://oscarliang.com/backup-restore-betaflight-config), but the easiest method is to simply click the “Save Backup” button in the Presets tab.
Besides backups, the Presets tab is also where the online community shares their tunes, rates, and OSD layouts. You can explore and apply these presets directly from within Betaflight. Learn more about how they work here: https://oscarliang.com/betaflight-presets/
Setup Tab
The Setup tab is the first tab you’ll see in Betaflight Configurator.
Here you can verify your flight controller’s orientation. Hold your drone in your hand with the camera facing away from you, click “Reset Z Axis”, then gently tilt the drone around. You should see the 3D model on screen move exactly as your drone moves — that means your accelerometer is working correctly.
Quick Tip: If the 3D model doesn’t match your drone’s movements, try placing it on a perfectly level surface and click “Calibrate Accelerometer.” You usually only need to do this once when setting up a new drone.
If the 3D model still doesn’t move correctly, it’s likely your FC is mounted in the wrong orientation — for example, upside down or facing sideways (the arrow on the FC should point forward). You can fix this in two ways:
- Physically rotate the flight controller to the correct orientation, or
- In the Configuration tab, adjust the Board Sensor Alignment (Yaw offset) by setting it to 90°, 180°, or 270° until it matches correctly.
Ports Tab
The Ports tab is where you configure all the peripherals (external devices) connected to your flight controller via UART ports.
Each UART has two connections:
- TX = Transmit
- RX = Receive
You’ll see these labeled on your FC as TX1/RX1, TX2/RX2, and so on — each pair represents one UART.
If you bought a BNF (Bind-N-Fly) drone, the Ports tab is probably already configured correctly, and you don’t need to change anything here. However, if you’re building a drone from scratch, here are the two essential configurations you need to know:
- Receiver Setup:
- If you’re using a serial receiver (such as ExpressLRS or Crossfire), enable “Serial RX” on the UART your receiver is connected to.
- Video System Setup:
- For digital FPV systems like DJI or Walksnail, select “VTX (MSP + DisplayPort)” under Peripherals for the UART connected to your video transmitter (this also enables MSP automatically).
- For analog FPV systems, if you’ve connected the SmartAudio or IRC Tramp wire for VTX control, select either “VTX (TBS SmartAudio)” or “VTX (IRC Tramp)” under Peripherals.
Quick Tip: If you’re using DJI or Walksnail, there’s an even easier way — go to the Presets tab and apply the preset called “OSD for FPV.WTF, DJI O3, Avatar HD” (just search “DJI”). This will automatically configure the Ports and OSD tab for you.
Pro Tip: Always click “Save and Reboot” (bottom left of the screen) after making changes. If you switch to another tab or close Betaflight without saving, your changes will be lost.
Configuration Tab
The Configuration tab contains your drone’s core system settings — things like update frequencies, sensors, and flight features. You can leave most options at their default values, but there are a few important settings you should review and adjust if needed.
1. System Configuration
Gyro Update Frequency: This determines how fast gyro samples are taken. The value depends on the specific gyro used on your flight controller and is usually fixed, so you don’t need to change it.
PID Loop Frequency (Looptime): This controls how fast the PID calculations are performed. The fastest looptime you can use is when it matches your gyro update frequency (for example, if your gyro update frequency is 8K, the maximum PID loop frequency would be 8K. However, higher looptime means more CPU load, so depending on your flight controller’s processing power and how many features you’ve enabled, it’s not always best to max it out.
General guideline:
- F4 FC: 4kHz
- F7 / H7 FC: 4kHz or 8kHz
- BMI270 gyro: Set PID Loop Frequency to 3.2 kHz regardless the processor because this gyro only supports 3.2kHz Gyro update rate).
Whenever you increase PID Loop Frequency or enable additional features, keep an eye on the CPU Load indicator at the bottom of the screen — Betaflight 4.5 recommends keeping it below 75%. Excessively high CPU load can cause instability to the flight controller. To reduce CPU load, either lower the PID Loop Frequency or disable unnecessary features and sensors.
You can also enable or disable onboard sensors here:
- Accelerometer: All flight controllers have accelerometer, so you can safely leave it enabled. Your drone can still fly without it, but flight modes like Angle Mode, Horizon Mode, and GPS Rescue require it.
- Barometer / Magnetometer: Only some flight controllers have these sensors onboard, so enable these if your FC actually has them and you plan to use altitude hold or GPS features.
2. Personalization
Give your drone a name under Personalization. This name appears in your OSD and in your CLI backup files, which makes it easier to identify different quads later.
3. Arming Angle
The Arming Angle is a safety feature that prevents your drone from arming when it’s in an unusual orientation. By default, it’s set to 25°, meaning if your drone is tilted more than 25° from level (assuming your accelerometer is calibrated), you won’t be able to arm.
If you set this value to 180°, it effectively disables this restriction, allowing you to arm regardless of orientation — even upside down. This can be helpful in some situations, for example if your drone lands on uneven ground or gets stuck in a tree; you can re-arm and try to shake it free.
4. Features
Enable only the features you intend to use. At minimum, make sure OSD is enabled — it’s essential for seeing flight data like battery voltage, flight time, and warnings in your goggles.
5. DShot Beacon
I always recommend enabling DShot Beacon. It turns your motors into audible beepers (when they’re not spinning), which helps you locate your drone after a crash — especially if you don’t have a physical buzzer. You can learn more about which Beacon Tones and options to use here: https://oscarliang.com/dshot-beacon/
Once set, click Save and Reboot.
Voltage Calibration
Select the source for the voltage and current measurements – most FC have them integrated, so you choose onboard ADC for both:
- None – No battery sensor available
- Onboard ADC – Use the sensor in flight controller & ESC to get the voltage measurements
- ESC Telemetry – Use the ESC telemetry to get the measurements
Before you fly, it’s important to make sure Betaflight is reading your battery voltage accurately.
- Measure your battery voltage using a multimeter or battery checker.
- Plug the battery into your drone (remove the propellers first for safety).
- In Betaflight Configurator, check the voltage reading at the top bar (highlighted in red).
If the voltage reported in Betaflight doesn’t match your measured voltage, you’ll need to calibrate the voltage sensor.
How to calibrate:
- Go to the Power & Battery tab.
- Click the Calibration button (bottom right).
- Enter the measured voltage in the pop-up box, then click Calibrate.
- Apply the new voltage scale — and that’s it!
Your voltage readings should now match your actual battery voltage.
Failsafe Tab
The Failsafe tab controls how your drone behaves if it loses connection with your radio — making it one of the most important safety settings in Betaflight.
⚠️ If the Failsafe tab is missing, enable Expert Mode first to make it visible.
For a detailed explanation of how Failsafe works, check out my full tutorial: https://oscarliang.com/setup-failsafe/.
Minimum Recommended Setup:
- If you don’t have GPS, set the failsafe Stage 2 action to “Drop”.
- When failsafe triggers (e.g. RC signal is lost), the drone will pause briefly to see if the signal returns, then disarm the motors and drop safely to the ground.
- This is safer than letting the drone fly away uncontrollably.
- If you do have GPS, consider using GPS Rescue mode instead, which makes the drone automatically return toward the takeoff point. I have a tutorial on how to Setup GPS Rescue in Betaflight: https://oscarliang.com/setup-gps-rescue-mode-betaflight/
Once finished, click Save and Reboot.
Receiver Tab
The Receiver tab lets you configure and verify that your radio receiver is working correctly with your flight controller.
Setting Up Receiver
If you’re using an ExpressLRS or Crossfire receiver:
- Receiver Mode: Serial (via UART)
- Serial Receiver Provider: CRSF
- Enable Telemetry
Binding the Receiver
Once your settings are correct, bind your receiver to your radio transmitter.
- How to Bind ExpressLRS Receiver: https://oscarliang.com/bind-expresslrs-receivers/
- How to Bind Crossfire Receiver: https://oscarliang.com/crossfire-betaflight/#Binding-Crossfire-Receiver
After binding, you should see the channel bars and the 3D model in the configurator move when you move your sticks.
If the wrong channels respond (e.g., roll moves when you throttle), try a different Channel Map. It’s usually either AETR1234 or TAER1234. Still wrong? How to Configure Channel Map Properly: https://oscarliang.com/channel-map/
Troubleshooting No Stick Response
If the channels aren’t responding at all:
- Is the receiver bound to the transmitter? (do you see a solid green LED on receiver?)
- Is the receiver soldered to the correct UART pins (TX/RX)?
- Have you enabled Serial RX for the correct UART in the Ports Tab?
- Have you selected the correct RX protocol (CRSF for ExpressLRS/Crossfire)?
Checking Channel Midpoints and Endpoints
Once your sticks are moving correctly, verify the midpoints and endpoints for the first four channels (Pitch, Roll, Yaw, and Throttle):
- Midpoints (don’t touch the sticks): ~1500 (it’s okay to have some jitters, if it fluctuates slightly between 1498–1502, you can fix it by entering 2 in the RC/Yaw deadband)
- Endpoints (push the sticks to the edges): ~1000 (low) and ~2000 (high). Small variations are totally fine (e.g., 988 or 2012).
If your midpoints or endpoints are off, follow this guide to fix them: https://oscarliang.com/adjust-tx-channel-mid-end-point/.
Understanding Stick Thresholds
- Stick Low Threshold: Defines how low the throttle stick must go for the FC to recognize it’s fully down. This affects arming behavior and parameters like PID_MIN_THROTTLE.
Avoid setting it exactly to 1000, even if your throttle can go that low — set it around 1010–1050 is a safer bet. - Stick Center: Always 1500.
- Stick High Threshold: Defines when the throttle stick is considered fully raised. The default value of 1900 is fine and does not affect stick range and flight performance.
Note: Stick thresholds are not the same as stick endpoints — they simply tell Betaflight how to interpret stick positions for certain functions (e.g., arming, OSD menu). Therefore you can just leave these settings at default.
Modes Tab
The Modes tab lets you assign radio switches to activate different flight modes and functions such as:
- Arming (required to take off)
- Angle Mode (self-leveling)
- Beeper (find your drone)
- Flip Over After Crash (a.k.a. Turtle Mode)
You can find a detailed explanation of each mode here: https://oscarliang.com/betaflight-modes/
How to assign a switch:
- Setup the switches in your radio first (you can assign switches to channels 5 to 12): https://oscarliang.com/setup-switch-mixes/
- Click “Add Range” on the desired mode.
- Flip the switch on your radio — Betaflight will automatically detect it.
- Adjust the slider range to define when the mode is active.
- Flip the switch again — the yellow marker should move underneath the slider. Make sure it falls within the active range when the mode is ON.
- Click Save to confirm your setup.
Pro tip: Why there is no acro mode? (a.k.a. manual mode) This is quite confusing for beginners, because when no other mode is activated, it would be in acro mode. There’s no need to select acro mode manually.
Motors Tab
The Motors tab is used to test and configure your motors and ESCs.
⚠️ Safety First: Always remove all propellers before testing motors in Betaflight.
ESC/Motor Protocol
The only setting you usually need to change here is the ESC/Motor Protocol. For any modern ESC, DShot is recommended. The number after DShot indicates the communication speed and should match your PID Loop Frequency:
- DShot600 for 8KHz
- DShot300 for 4KHz
- DShot150 for 2KHz
Further Reading: ESC Protocols and Firmware Overview
For your first flight, you can leave all other motor tab settings at their default values.
Click Save and Reboot, then return to the Motor Tab to test your setup.
Testing Motors
Check the following:
- Do the motors spin? Use the master slider or test them individually.
- Are they in the correct order?
- Do they spin in the correct direction?
The correct motor order and direction (default “props in” configuration):
- motor 1 at rear right, spins clockwise
- motor 2 at front right, spins counter clockwise
- motor 3 at rear left, spins counter clockwise
- motor 4 at front left, spins clockwise
If the motor order is wrong, click “Reorder Motors” and follow the on-screen instructions.
If any motors spin in the wrong direction, click “Motor Direction” to reverse them.
Further Reading: the default configuration is called props in, but when the motor rotation is reversed it’s called props out. Learn the differences here: https://oscarliang.com/reversed-motor-prop-rotation-quadcopter/
OSD Tab
The OSD tab lets you choose which flight data appear in your goggles — such as battery voltage, timer, GPS coordinates, distance to home, speed, altitude, flight mode etc.
Video Format
- For digital FPV systems (DJI, Walksnail, HDZero): Set Video Format to HD for correct font sizing and layout.
- For analog FPV systems: Select Auto, or choose PAL/NTSC if you know your camera format.
Adding and Positioning OSD Elements
On the left, you’ll find a list of available OSD elements. To enable one, tick the box in the first column (each column belongs to a different OSD profile). The element will appear in the preview area — drag and drop it anywhere you prefer.
The two must have elements are battery voltage and warnings, the rest are up to you.
Example OSD Layout
Instead of manually positioning each element, you can paste this configuration into the CLI tab. This is my own OSD layout for a DJI freestyle quad (without GPS):
set osd_vbat_pos = 2497
set osd_link_quality_pos = 2081
set osd_rssi_dbm_pos = 2049
set osd_tim_2_pos = 3567
set osd_flymode_pos = 3535
set osd_throttle_pos = 3407
set osd_current_pos = 3438
set osd_mah_drawn_pos = 2529
set osd_craft_name_pos = 3083
set osd_gps_speed_pos = 1449
set osd_warnings_pos = 14677
set osd_avg_cell_voltage_pos = 2519
save
It looks like this.
If you need more info I have a whole tutorial going through every aspect of Betaflight OSD: https://oscarliang.com/betaflight-osd/.
PID Tuning Tab
The PID Tuning tab allows you to fine-tune your quad’s flight behavior and make it fly exactly how you want.
At first glance, this tab can look intimidating, but you don’t need to change anything for your first flights — the default Betaflight tune works very well for a wide range of FPV drones. When you’re ready to dive deeper, check out my detailed guide on PID tuning: https://oscarliang.com/fpv-drone-tuning/
Rates and Expo (Rateprofile Settings)
The main thing worth experimenting with as a beginner are rates and expo — these control how your drone responds to stick movements.
- Lower rates → smoother, more precise control (great for cinematic flying or beginners).
- Higher rates → quicker, more responsive feel (ideal for freestyle or racing).
There’s no universal “best” rate — it’s entirely personal preference and depends on your flying style.
If you want some tips on how to tune your rates, here is my tutorial: https://oscarliang.com/rates/#Understanding-Actual-Rates
Video Transmitter Tab
If you’re using DJI or Walksnail, you can skip this tab — it only applies to analog.
The Video Transmitter tab lets you configure your VTX by loading a VTX Table. This enables you to change channels and power levels through your OSD menu.
There are three ways to load a VTX Table:
- Select a VTX Table Preset in the Presets tab
- Load a JSON file in the Video Transmitter tab
- Paste a code snippet in the CLI tab (my preferred method)
You can usually find the correct JSON file or CLI snippet on your VTX’s product page. If not, check the manufacturer’s website or simply search for it online.
Pro Tips
How to Stop Your Drone Beeping on the Bench
If your drone keeps beeping when connected via USB, it’s likely because your radio is off and the FC doesn’t detect a valid radio link. To fix this, go to the Configuration Tab → Beeper Configuration, and disable the “USB” option.
Safety Checks Before Maiden Flight
Before flying your drone for the first time, it’s essential to test your failsafe. If your failsafe is set to “Drop”, the motors should disarm immediately when signal is lost. You do not want the drone to act unexpectedly in the event of a failsafe.
- Remove all propellers for safety.
- Plug in the battery, turn on your radio, and arm the quad — the motors should start spinning.
- Now turn off your radio to simulate signal loss.
- The motors should stop spinning within a couple of seconds.
- If they continue spinning, revisit your failsafe settings, and reset them to default if necessary.
Other Betaflight Tutorials
Betaflight can be overwhelming at first, but once you’ve mastered the basics from this guide, you can explore its advanced features. Here are some useful tutorials to continue your learning journey:
- CLI Explained
- Setup RGB LED Strip
- Resource Remapping
- Setting up Failsafe
- Betaflight OSD
- VTX Control
- Softserial
- LUA Script
- ESC Telemetry
- Camera Control
- GPS Rescue Mode
- Filters
- Moron Threshold
- Betaflight Airmode
- How to use Blackbox
Final Thoughts
Betaflight doesn’t have to be complicated. By understanding just the core setup steps covered in this guide, you’ll gain the confidence to setup your FPV drone and start flying with ease. Once you’re comfortable, experiment, explore, and enjoy the freedom FPV offers!
Happy flying!
Edit History
- Dec 2017 – Article created
- Jul 2018 – Updated instructions
- Sep 2018 – Added “How to Update” and new tutorial links
- Jan 2021 – Updated for Betaflight 4.2
- Oct 2022 – Updated for Betaflight 4.3
- Jan 2023 – Updated for Betaflight 4.4
- Nov 2025 – Updated for Betaflight 2025.12

108 comments
FANTASTIC!
Bookmarked — this is the resource I send every new pilot when they ask “where do I start with Betaflight.” The blackbox section in particular saves people from the most common rookie mistake of flying without logs and then having no data when something goes wrong.
One add-on I’d suggest for the PID setup section: once a pilot has blackbox enabled and has flown one or two packs, they can drop the .BBL into fpvtune to get a baseline tune in 30 seconds. We open-sourced the neural net on GitHub. It’s especially useful for the awkward step where you’ve just configured a new build and Betaflight defaults are clearly off but you don’t yet have the experience to know which direction to push P, I, D, or filters. Closes the gap between “flashing firmware” and “having a tune that doesn’t melt motors.”
Your article remains the canonical reference for understanding what each setting actually does.
I have a problem with my drones battery display in my dji N3 goggles the battery statues is not showing up I can’t calibrate for some reason it’s not a problem with the goggles as there is the battery outline an the voltage at zero I reloaded a save but that only made maters worse Couse I forgot to make a save file of the modified program.
update: I kinda fixed the problem but now osd is not showing anything
Is your OSD working? the drone battery voltage is sent from the FC, to the O4 air unit (via UART – TX/RX), then to your goggles.
If your OSD is working, you should also get battery voltage.
Here’s a tutorial on how to setup OSD: https://oscarliang.com/how-to-setup-dji-o4-pro/#Setup-OSD-in-Betaflight
I applied your osd settings and it worked I don’t know why but I am happy I also reinstall betaflight and I was able to fix the battery problem
Oscar – why does the calibrate accelerometer show up greyed?
Did you disable Acceleronmeter in the Configuration tab?
I did not disable the calibrate accelerometer in the Configuration Tab
After you setup Betaflight using configurator do I need to load BlHeli-s?
Usually you don’t, ESC should come with firmware (such as BlHeli-s or bluejay) already when you get them.
Missing SERVOS-Tab.
For camera tilt i have a servo. Took ‘+servos’ on FW flashing. After that, i choose ‘camera tilt’. Tilting the copter; the servo regulates. Works.
BUT
-in BF there is no servo shown, &
-no SERVOS-Tab. &
-I can’t get the cam to tilt to stick inputs.
…i’m going mad(er) with this FC!
Oh. Enable expert mode. (Dk why i was inactiv.) Now with servo-tab everything runs fine.
I had no idea there was so much stuff to do before even beginning to fly a drone, but after reading your guide I am not even worried. Normally this sort of thing would freak me out but now I feel totally confident. Thanks so much for such a good writeup!
you resource pages are a wealth of information for us beginners in the hobby. Although there are a lot of videos in utube, reading your tutorial sis much more precise and informative like a textbook and does not require backing the video up.. keep it up and thank you so much…. Sir Oscar
Dear Oscar,
Can you tell me how to reverse the virtual horizon (ah) in betaflight so as the ah bar follow the roll and the Pitch on the right way ?
Thank you for your answer and best regards.
You should write a book, but then again you wouldn’t be able to update it like you do here. Your information is my new reading material, thank you, we need more I formation from people like yourself to get this sport/hobby going?
I keep hearing about different versions of betaflight like 4.1.0 and 4.2.0. The only thing I see anywhere is configurator 10.6.0. Now I hear there is 10.7.0.
How do you determine what betaflight version you have? I’ve looked all over betaflight trying to find which version I have but I don’t see anything anywhere where it says which version I’m running.
4.1.0 or 4.2.0 these are the different version of the firmware.
While 10.6.0 and 10.7.0 are the configurator, the program on your computer to setup the firmware.
Hello Oscar,
Does the receiver need to be connected to program esc?
Thnx SO much!
No.
Hi . ive tried downloding the latest betaflight app but when i extract it i then cannot open it . what do i open it with ?? .
Try this trick: Fix: BLHeliSuite Doesn’t Response / Won’t Run
More use full
On my babyhawk 2″ with f3 fc. I can turn it on hear the tones. It will arm but doesn’t respond to throttle input. Can you give me any suggestions or advice on how to fix this. Btw it’s using magnum mini that comes with the drone all is stock except frame. Transferred components to a Tomoquads 2″ X Fighter. I did manage one good flight with no issues. Second flight is when it wouldn’t respond to throttle input. Can you please help me? Thank you and Hafa Adai from Guam
Please join forum for discussion and help: http://www.intofpv.com
I’m a total newbie and just got a Happy Model Mantis, Should I upgrade the firmware for the Flight Controller? It’s a F4 flight controller with Betaflight 3.1.7. I downloaded the most recent Betaflight already.
Thanks in advance,
Kellie
Hi Oscar,
For connecting my Holybro Kakute F4 v2, a normal phone charging usb2.0 cable will be fine, right?
Hi I have a omnibus f4 v5 from airbot. I have 3 successful buzzer set ups with a matek buzzer using B- on fc and 5v and neg from board . this buzzer wont shut off 2, 3 minuts after powering the quad . as i said my other quads work perfect. fc light indicates that i can switch it on or off with tx. just cant shut it off after it turns on . Quad hovers fine.
thanks Dan
I very much like the step by step process above. I haven’t tried it yet, but it looks straight-forward enough. One question which I believe will be silly once I get the answer: My controller has an SUB jack on it. I’m guessing you connect this to your computer? Is there mention of this in your step-by-step above? Again, seems obvious, but a critical step. Also, is controller power up or not during the configuration?
Hi Oscar! I got a problem with my naze 32 on tarot 130, I need the 3.0.1 configurator version to flash it, now i’ve the latest version (because the system upgraded it automatically) and i don’t found anymore the old one… where can i download it?
Hello,
I am setting up betaflight for my quad. However, when I click on the receiver tab, the bars for the inputs do not move when I use the sticks. Under configuration, I made sure that I put in a serial based receiver and SBUS. I am using the R-XSR. I have bound the receiver with the transmitter (X9D) and the tx shows that it is connected with the receiver. Do you have any ideas on how to fix this?
Thank you,
Jason
did you setup the port for serial RX?
is it bind correctly? Does the same RX work on a different FC? Check signal connection/soldering.
I am having this exact issue. We’re you able to solve it?
Same problem here, except I am using FlySky IBUS. I have some problem on two FCs.
Hi Oscar
I just flashed 3.1.7 to Naze32 Rev6 and now I can’t connect to BLHeli config. When I try to calibrate ESCs, upon pulling down the motor slider (after connecting battery) the orange motor bars stay at 100% and the ESCs beep twice. Then they spool up on zero throttle. Looks like they’re busted?
try a older version of Betaflight?
BF and CF are giving up support to F1 flight controllers, so it’s normal you are picking up bugs.
Time to get a F3/F4 FC.
Hi,
I also want to use a Naze32 R6b, can you tell me what is the latest CF/BF Version that is working fine with this “old” FC? Or which settings have to be changed to save cpu load and get the Naze32 working.
Thanks :-)
*great articles on your site!
CF and BF are still supporting Naze32. Just get the most recent stabe release.
To save CPU load, turn off features that you don’t use, and disable accelerometer if you don’t use self level.
Graph smoothness is highly dependent on sampling rate and graphing algorithm (which in most cases is spline based and have significant smoothing effect). There are also no x and y scales, so it is hard to verify if the different is real.
can I flash betaflight on my vortex 250 and if yes then how?
Oscar, I’m running a rev 5 naze with rotorgeeks rg20. After flashing 14.6 to the esc my quad will not arm or respond. Rc inuts are present in betaflight and oneshot125 will not enable even in cli. Any advice would be awe some
Hi Oscar,
The time scale is missing from your graphs. its at 100%? So a screen full represents about a second? you were getting ~100hz oscillations before roughly?
I seem to see 20hz on my quad.
both graph should be same time scale.. 20Hz indicate vibrations from motor and props… which means you want to balance those first… and check for loose bolts in the frame… and make sure frame arms are stiff enough.
Hi Oscar
I have a Naze32 Rev5 + Betaflight + ppm Rx + DX9 Tx … For 3 days now been trying to config all of them too operate on a Fixed Wing Aircraft, using the Passthru Mode to prevent FC interaction.
I’ve been stumble-bumming around trying to config the PWM outputs at the servo pins using the Servo Tab Matrix ( is that the terminology !? ) – methinks the servo outputs sequence to be – chan 1 to 6 – Ail Elv; Thr; Rud; Gea;r Aux 1; and I monitor these outputs via the Servo Tab graphics.
The other strange thing is the DX9 mapping is TAER123 but the BetaFlight Receiver Tab Mapping is required to be AETR123 for the receiver input gaphics to sync
I just cannot get the correct servo outputs to agree with stick input….please help…Joe
I believe you can either change RX mapping in cleanflight, or on your TX..
in Cleanflight, under Receiver tab, you should be able to change to TAER123 from the drop down menu?
I haven’t used the DX9 TX, but i know on the Taranis you can change input channels order as well in the settings… maybe give that a google as well..
look here: https://github.com/cleanflight/cleanflight/blob/master/docs/Mixer.md
that’s how i made it work. took days of programming and reprogramming to get it
this may get you close:
# mixer
mixer CUSTOMAIRPLANE
mmix reset
mmix 0 1.000 0.000 0.000 0.000
smix reset
smix 0 6 5 100 0 0 100 0
smix 1 6 1 100 0 0 100 0
smix 2 3 0 100 0 0 100 0
smix 3 4 0 100 0 0 100 0
smix 4 3 4 100 0 0 100 0
smix 5 4 4 100 0 0 100 0
smix 6 2 10 100 0 0 100 0
smix 7 5 11 100 0 0 100 0
(that’s a CLI dump off my big plane, I’m programming the small one today and tomorrow)
Here’s an example:
mmix 0 1.000 0.000 0.000 0.000 ( this sets pin 0 to motor, 1.000 is thrust authority and the next 3 zeros are roll pitch and yaw authority.
smix 0 6 5 100 0 0 100 0 ( this sets smix rule 0 for servo 6 ( with source 5 which is RC PITCH , off the website at the top,) rate 100 min 0 and max 100 box is 0
# Rule Servo Source Rate Speed Min Max Box
smix 1 6 1 100 0 0 100 0
this is rule 1, servo 6 input rule 1 (Stabilised PITCH) then rate 100, 0 min 100 max and box 0
So on my plane this makes the elevator servo work both with RC input (source 5) and stabilized, FC controlled, Rule 1.
if the servo goes the wrong way use smix reverse
this is the example off the above web page:
smix reverse 5 2 r
i.e. when mixing rudder servo slot (5) using Stabilised YAW input source (2) reverse the direction (r)
so if you reverse the stabilized yaw, you also would have to reverse the RC Yaw as well
which would be smix reverse 5 6 r
use the above web page and you will get there. it took me weeks to get my big plane up in the air. not a lot of people flying Quad Chips on planes, but it works and is fun when it does.
just make sure you test your RTH and stabilized modes with plenty of elevation. the first time I flipped on the Horizon mode the plane was almost uncontrollable. That was a white knuckle landing. had my goggles on and kept hitting the wrong switch to try to turn it off…
best of luck to you, Steve
Hi Oscar,
I recently built a quad with the motolab fc and littlebees which were ordered across the pond in Australia. The build resulted in 3 motors spinning. I have the signal wire (white) connected to the board and I removed the ground. I have the latest clean flight and the latest beta flight installed. Presuming the esc have at least 14.0 installed. I moved arms around with motors and esc attached to make sure the board was working on that leg and it was. So I’m thinking I likely have a bad esc. I had a spare kiss esc and motor that I connected but it wouldn’t spin either. Is this due to the fc firmware or something software related. Also, should I be able to program the esc’s though the fc because I tried and I can get connected, but I get an error 31 and it doesn’t recognize any of the esc’s. I’ve read somewhere that I need a serial cable connected to UART 1, but I don’t have a serial cable. Furthermore, I removed the black ground wire and cut the white signal to solder to the fc thinking I should be able to perform upgrades through the fc, but I can’t. Any wisdom you can part with would be gladly apprciated! Thanks for your time.
Hi Robert, I assume when you move arms, you did change the motor pin as well?
if by changing motor pins, and same ESC/motor still doesn’t work, try swapping the motor…. just to rule out motor or ESC.
but it’s more likely to be the ESC I think…
by the way, I recommend joining this forum, it’s very useful and there are lots of helpful people there. I am a daily user too :) http://intoFPV.com
Hi Oscar,
Are there any known issues with flashing on the CC3D? I’m having a heck of a time trying to figure out why one of my motors goes crazy as soon as I arm.
youtube.com/watch?v=TtmhrIwMB-k
Hi,
I Might flashed the wrong hex file to my Vortex 250. used naze.hex for the Fusion v2 Board. Is there a Chance to rescue the fc? Can not Flash again. Bootloader has no answer.
Thank you,
Dominik
Hi Dominik,
You probably need to short the bootloader pins on the board. I’m guessing they’re the ones labeled “BL”.
They need to be jumpered while you apply power. You should be able to flash at that point.
Hello Oscar, You mind posting up a cli dump of a average 250 size quad of yours? Im just wondering what cli commands you use with betaflight. The thread on RCG is SO massive its hard to pick through it and find the relevant info. Thanks
Hi Oscar can you PLEASE HELP Hi im having a problem with boris hex on cleanflight when i flash the naze32 i cant calibrate the esc or start the motors even with the master tab.
But when I roll back to cleanflight stable version everything works fine. I have been working on this for 5 weeks now.
PS Im new to naze and cleanflight but ive learnt loads like how to map and rxrange in cli. I was using cc3d before
What ESC are you using? do they support oneshot?
did you enable oneshot in Cleanflight?
hi mark rankin
your escs doesnt support the 1000 looptime
like the emax speedcontrollers will not work with this firmware
Do you know if the luminere 20a mini with simonk is supported? When I push the throttler it goes wild. I’ve been flying fine with cleanflight.
Hi Oscar,
I have just flashed my QAV210 clone (naxe32) with the latest version of Boris B, when i arm the quad i only get motors 3 and 4 arming? any ideas why?
I have set up identical programming on a 180 and it works fine.
I have tried rolling back to Naze fw. and it all works correctly.. weird.
Check your BLHeli ESC settings? make sure PWM input is disabled?
Cc3d users…..luxfloat or rewrite which one is better for the cc3d?
Hi oscar
i am running a cc3d on my zmr ,looking to flash from open pilot to beta fligh can you tell me the requirements and step to do so ? Thanks
Hi Oscar
i have flashed flip32 10dof, betaflight 2.1.3 latest,
before i can figure out gps settings and can be enable it,
but now ican not to be able to activate gps , gps mope or, gps type, clı commands doesnt work.
i think GPS features are disabled in Betaflight to free up resources.
thank you,
i think so
Hi Oscar
Just flashed Boris B.’s Betaflight to my ZMR. I was able to configurate everything as I wanted it, restored settings from a backup. The board seems to work, but the moment I arm it when everything is plugged in, it kind of freezes. The buzzer sound freezes aswell and just stays constantly on. It just feels like it feels when a computer freezes.
I am afraid it must be some old setup coming with the restored settings, such as looptime essentially.
If so, how do I reset that setting? Or is a complete reset/restart of all settings required? (I guess it is recommended though).
I hope you can help me. I already reconfigured everything without restoring a backup, but still, it freezes. Betaflight says “Packet Error: 2” down left, is that a hint?
nik
Setup:
frame: ZMR250, carbon composite
pdb: Overcraft PDB
Flight controller: Seriously Pro Racing F3
Receiver: FrSky D4R-II
ESCs: KISS 18A v1.1
Motors: DYS 1806 2300 KV
Props: Gemfan 5×4 Carbon Nylon
Battery: nanotech 3S 1500mAh 35-70C
Cleanflight version: Boris B.’s Betaflight 2.1.2a
maybe flash it again , with the option, erase all settings checked?
Hi Oscar
Thanks for your replay and sorry for my very late answer:
I tried to find the mistake and started deactivating features and then I was pretty sure the problem was my frsky telemetry. It did not freeze when not using telemetry. Then I reflashed CF1.10.0, worked fine, even with Telemetry. Flashed Betaflight again, everything working, tried oud telemetry and it worked suddenly. There were definetly NO hardware changes, and definetly NO software changes. I compared both CLI dumps and there were no differences. So I cannot explain this issue at all. I used full chip erase all the time. At least it works now and I love Betaflight! It is really feeling better when flying fpv. I think I will stick to it. Thank you Oscar!
Best greetings from Brunswick,
nik
“Hi Oscar” I wanted to make sure that I can flash boris B with open pilot I currently have cleanflight on my cc3d now Thanks for all of your hard work!!! Scott
Hi Oscar
Just upgraded my naze32 to Betaflight – perfect , what can I say , even with the default PID
its much more locked in then ever before. Keep the updated rolling , its greatly appreciated ;-))
The Dropbox-link to betaflight .hex-files does not work. Hex from github does not work with cleanflight – says “HEX file appears to be corrupted”. Any alternative link for download?
Hi Oscar! Found an answer to my previous question. I’m a n00b and didn’t know I had to click the HEX-file in github and then right click on “RAW” to be able to download te file in correct format. I now have betaflight installed on my Naze32 :D
Many thanks for your awsome blog! Keep up the good work! Cheers
Thank you for the awesome posting.
Is it okay in betaflight with disable ACC? or just use Acc hardware?
I don’t use ACC anymore one month ago after mention of some your tweak(dead band, disable hardware ACC, etc)
Which is better you think?
Thank you very much.
yes it’s okay to disable ACC (i have it disabled on mine)
It doesn’t make any difference now with Betaflight, so it’s entirely up to you. :)
It works great!!
Yes, I have it disabled.
Thanks a lot Oscar.
Hi Oscar
Thanks for the post. With regards to BLHeli 14.1, will BLHeli 14.0 be sufficient? I haven’t got an ESC programmer yet and I believe my ZTW 18A esc’s came with BLHeli 14.0. Is it safe to use with beta flight or should I rather wait until I can update them?
Thanks
Hi Ari,
14.0 should be fine.
Do you know you can now flash ESC via the flight controller? no programmer needed anymore! i might make a post how to do this just in case it’s not well known yet.
Thanks Oscar! And while I’m on the subject of thanks, thank you for all the articles which you put into layman terms. Really helpful for newcomers to the hobby such as me.
That article would be great thanks! I didn’t know that was possible.
Many thanks
I still wait for my arduino to flash my ZTW 20a simonk to BLheli… Bunt can’t wait.. can I use betaflight with simonk?
Best Johnny
I haven’t tried it myself, nor seen anyone who tried… It does suggest to use the latest BLHeli firmware though from what I have been told.
Hi Oscar. Did you ever make this article? It would be useful to know how to flash ESCs via the FC. Thanks.
Great site BTW. You’ve helped me loads with my builds.
Yes I did, flash esc via fc
hi Ari,
no problem you can download betafligth and it will work awesome but you have to remove oneshot cause else the motors wont arm, ive got the 13.1 blheli and its awsommmmmee !
“Hi Oscar”
Since trying beta found my p setting are at 3.1 pitch 2.4 role.Tbh i feel its not enough but wont let me go higher or i get the shakes.flys great but now awsome.Also found it needs loads of d term to rid the bounce.Im running 75c 4cell,littlebees esc 1900kv emax motors hq 6×4.5 props.cheers lee
Oscar, I think you should also include that there is a dropbox link that allows you to directly download al the .hex files. I had to do this after not being able to successfully download the .hex using your instructions. Im not saying you are wrong or incorrect, as others have had success this way, but I did not. I suspect this might help others like me who know little about computer magic be able to use Betaflight. dl.dropboxusercontent.com/u/31537757/cleanflight/betaflight/betaflight.zip
good point, i think it’s mainly Mac users that have problems. i will add a dropbox link now.
Hi Oscar! Great review, love your work. I wanted to know if beta flight works with the new naza32 rev6 board? I’m about to make the swith from multiwii to naza32 on one of my racing quads and I’m looking for a marked improvement.
Sadly it doesn’t. They are looking at end of the month or so before it’s supported, as it has to be done by the Cleanflight team and then merged into the Betaflight code. Boris doesn’t have a Naze32 (actually doesn’t use them anymore, uses F3 based boards)
I think betaflight works on the Rev6, but Gyro sync isn’t, the last time i checked, someone mentioned looptime cannot go below 1100?
As for Cleanflight, it’s still in beta, 1.11 i think..
Hi Oscar,
Just to note, CC3D can be flashed via OpenPilot GCS firmware page,
it’s easy and gives new life to my old board with this amazing version.
Thanks!
Thanks Rubi, I heard CC3D actually performs very well with betaflight (better than Naze) due to the built-in SBUS inverter, and SPI protocol Gyro :)
Hi Oscar
This is true, CC3D is the better hardware and also open source, I am an EE and design of CC3D is elegant and skillful, Naze is only factor of price and many revisions to stop clones and make more money. Of course some poor clones of CC3D as it is open, this is problem but good clones that are like original version, best acro board.
CC3D flies better with Cleanflight also, always has and honest people know this for long time. So much hype for Naze makes issue cloudy this is sad as people by wrong hardware for more money. Betaflight shows this more as it takes advantage of better CC3D more than Cleanflight can.
Betaflight shows what many skilled people said for long time, Cleanflight is not so great and has many issues with control routines and timings but when bringing up such issues I got shouted down despite being turthful, now everyone can see what programmers knew for long time, Cleanflight has some big issues.
Betaflight is nice step in good direction but only temporary solution still architecture is poor from cleanflight which took from baseflight, very old fashioned development and maybe never fixed as large rewrite required.
SBUS inverter is also added to NAZE32 rev.6 boards…
Hi Rubi,
Could you please tell me step by step how to flash CC3D with Betaflight?
I was doing this with Cleanflight via OpenPilot GCS many times but with Betalight it doesn’t work :(
I am dowloading betaflight_CC3D.bin from
github.com/borisbstyle/cleanflight/tree/5c0bcd4d28f29b48744212661775ef25dbcfd594/obj
and usind option Rescue in OpenPilot but this way don’t work…
Thank you in advance.
Hi Eligiusz : I installed betaflight on my cc3d with OpenPilot GCS also (without the FTDI+shorting pins thing mentionned). It didn’t work until I reaffected the ports correctly (UART and this kind of stuff) : it should match how you intend to use the ports of your CC3D.
Eligiusz after flash betaflight, disconnect usb. plug in a 5v power source for Cc3d. load cleanflight app. then connect the USB
ps everytime u rebooting the CC3D FC do the same thing.1st. 5V power source, 2nd USB, Then connect cleanflight App. works on Mac and PC.
if you want to fix it issue forever. load cleanflight bootloader on CC3D.
Hi rubi
Can you send the link on the ftdi adapter you use to flash the cc3d board
Hi Oscar, I’m not sure about the part on PWM but I have a PWM receiver and a set of normal (non-Oneshot) ESCS; will my setup work with Betaflight? :)
Yes that should work :) the PWM part, i was referring to the signal from FC to ESC, not the RX :)
Hi Oscar,
Quick question – when you flashed from Cleanflight, did you opt to do the full chip erase?
Hi Chad
If you want to erase all the settings on the board you should check the Full Chip Erase button. I think it’s a good idea to check it since Betaflight is a different firmware.
Hi Oscar,
You are a God sent! Last July 2014, I traded a brand new 50cc Yak 54 airplane rtf, a .40 size extra rtf , and a brand new .40 size electric Cessna rtf for 1 mint condition Dji Phantom 2. Then I acquired quadcopters with Kk2 fc. When I stumbled into your blog about naze32 calibration because I kept breaking props on a mini tricopter build. I ended up retiring 6 KK2 boards and got hooked tothe naze32s. You are a “Quadcopter Newbies Guro”. Keep up the good work Sir. It is very well appreciated from a guy like me.
Thank you Alfonso :D I am happy that i can help!
Hi Oscar,
Just wanted to say how much your work is appreciated, if i have a question that I cannot solve you usually have the answer and in nice simple terms to understand, I can tackle most stuff but the programming/flashing, understanding Hex files etc etc is not my strong point but with your help its becoming much easier
Thanks again and happy flying, i’m now gonna flash Boris’s new betaflight on my naze and hopefully reap the benifits :)
Thanks for the kind words Phill! Happy flying :)
Hi Oscar,
Love your work. I just updated to Betaflight and had a few challenges along the way>happy to say I got there in the end and documented them here – fangin.com/blog/2015/10/05/betaflight-update-to-afroflight-naze32/
It stopped raining. :) I cannot compare to cleanflight because i switched from a kk 2.1.5 straight to an afro naze32 with this firmware but boy is this good. I changed no PIDs at all just yet and i flies so nice and responsive. I did not know my quad (250 4S 2206 1950kv) could do such sharp yet smooth turns. It’s a whole new flying experience!
very good news Thoemse! Glad you enjoy it! :)
Hi Oscar
Thanks for this guide. Just flashed this firmware. Now if itwould only stop
raining!