In this tutorial I will demonstrate how to setup Betaflight and configure the flight controller for your first flight after building an FPV drone. There are many options you can enable or change, it will probably take an hour or two to explain what they all do. Therefore, in this guide I will only show you the absolute minimum amount of settings that are required to fly.
Betaflight is an excellent open source flight controller software, it’s designed specifically for FPV drones (multirotors in general). Check out the FC Firmware Overview to learn more if you are new to all this.
In this tutorial I will walk you through the Betaflight configurator, and show you the simple steps to setup your quadcopter for your first flight.
Table of Contents
Getting Started
In this tutorial I assume you have:
A quadcopter (4 motors)
Using a serial receiver (e.g. Crossfire, ExpressLRS or Frsky SBUS)
Your flight controller is running the latest version of Betaflight firmware (4.3.1 or newer)
Your ESC supports DShot ESC protocol (e.g. BLHeli_S or BLHeli_32 ESC)
Remove all your propellers for safety
Attach an antenna to the VTX (if you power the VTX without antenna it can get overheat and burned out)
Installing Betaflight Configurator
Before we begin, please download and install the latest version of Betaflight Configurator. This is the software we must use to setup Betaflight, it supports Windows, Mac and Linux operating systems.
If you purchased your flight controller (FC) following my recommendations, it should already come with Betaflight pre-installed, so you don’t really need to flash it unless you want to stay up to date with the latest features and bug fixes. This tutorial takes you through how to flash Betaflight step by step.
Before flashing firmware to the flight controller, make sure you make a backup of the existing settings in case you want to go back for whatever reasons (very rarely you will need to, but better be safe than sorry). Here’s a tutorial on How to backup Betaflight settings.
Pro Tip: Before updating FC firmware, you should regularly check and update Betaflight Configurator for new features and bug fixes. Old configurator might not work properly with new firmware.
Setting Up Betaflight For The First Time
To keep things simple, we will configure only the absolutely necessary settings in Betaflight to get you in the air. You can then explore other settings later on if you wish.
Important! Make sure all propellers are removed before configuring your quad on the bench to avoid accident.
Connect FC to Computer
You don’t need to plug in the LiPo battery, the flight controller gets power from the USB connection.
When the FC is connected to the computer, a new COM Port should appear in the Configurator. Select this new COM Port and click “Connect”. Note that in the example, we have COM11, but it could be different in your case. And often the COM port changes on a different FC.
Once you’ve successfully connected to the FC, you should see the Setup tab. Here you have access to the most basic functions and information about your quad.
Put your quadcopter on a level surface, then press “Calibrate Accelerometer” – this only needs to be done first after flashing firmware
Now hold the quad in your hand, and move it around. You should see the 3D model moves with the quad, make sure the movement is in the same direction
If the 3D model isn’t moving the same as your quad, it probably means your FC is installed facing the wrong direction (e.g. arrow on the FC is not pointing forward). You can either rotate the FC until it’s right, or you can set YAW offset in the configuration tab, board sensor alignment to fix it (usually 90/180/270 degree).
Presets
Before making any changes, you should back up your current settings. You can do this in the Presets tab. Learn more about How to Backup & Restore Settings here.
Voltage Calibration
Take a battery, check its voltage (either using a battery checker or multimeter). Then plug it in to the drone.
If the reported voltage in the configurator (circle in red in below image) is far off from your measured voltage, then you should calibrate the voltage sensor.
Click the calibration button, and enter the measured voltage, click Calibrate and it will ask to apply a new voltage scale. That’s it.
Ports
In the Ports tab, you can configure the peripherals, which are external devices connected to the flight controller via UART (TX and RX pads).
If you are using analog VTX, and you’ve connected the SmartAudio or IRC Tramp wire for VTX control, select either “SmartAudio” or “IRC Tramp” under Peripherals. If you are using DJI / Avatar / HDZero digital FPV system, leave this “Disabled” and move on to #3
If you are using a serial receiver such as ExpressLRS and Crossfire, you need to enable “Serial RX” on the UART it’s connected to
If you are using one of the digital FPV systems, e.g. DJI / Avatar / HDZero, you should enable MSP on the UART it’s connected to, otherwise leave MSP disabled
Configuration
The Configuration tab contains the basic system settings.
1. System Configuration
Gyro Update Frequency Rate – this is how fast gyro samples are taken. It depends on the gyro you are using and usually fixed so don’t worry about it.
PID Loop Frequency – a.k.a. looptime, is how fast PID calculation is run. The maximum value depends on how powerful the micro processor is, generally speaking, F4 can run 4KHz while F7/H7 can run 8KHz. But it also depends on the Gyro you have, if you have BMI270 gyro, then the maximum PID Loop Frequency supported would be 3.2KHz even for F7 FC.
As a rule of thumb:
F4, 4KHz
F7/H7, 4KHz or 8KHz
If you have BMI270 gyro, 3.2KHz
When changing looptime and enabling features, pay attention to “CPU load” at the bottom of the window, try to keep it under 75% by using a slower looptime or disabling features you don’t need . High CPU load could cause instability to the flight controller.
I recommend to leave Accelerometer enabled. You can disable it, this will free up some processing power, but you won’t be able to use Angle mode or Horizon mode, and the 3D model in the setup tab will also stop moving. Disable Barometer and Magnetometer if not using them.
2. DShot Beacon Configuration
I usually enable DShot Beacon, this allows you to use your motors as beeper on the ground, it’s especially useful when your drone doesn’t have a buzzer, it can help you locate your downed drone.
3. Arming
By setting arming angle to 180 effectively disables this feature, and so it allows you to arm the quad regardless what position the drone is in (even upside down). This is important if you get stuck in tree, you can still arm the quad, run the motors and get it out of the branches. If this is set too low you might not be able to arm it. By disabling the Accelerometer will automatically turn off this feature.
Receiver
In the Receiver tab, you can configure and check if your receiver is working correctly.
If you are using a serial RX (most people would be), such as Crossfire, ExpressLRS and SBUS, pick “Serial (via UART)” in Receiver Mode. In Serial Receiver Provider, pick the appropriate receiver protocol:
TBS Crossfire – CRSF
ExpressLRS – CRSF
Spektrum DSM2 – SPEKTRUM1024
Spektrum DSMX – SPEKTRUM2048
FrSky RX – SBUS
Futaba RX – SBUS
FlySky RX – IBUS
Turnigy RX – IBUS
If you are connecting the RX to FC via PPM, then use “PPM RX Input” in Receiver Mode.
If you are using Telemetry, make sure to enable Telemetry Output.
Power on your radio controller (TX) and radio receiver (RX), if they are already bound, when you move the sticks, the channel values should also change. If the wrong channels are responding, you might need to change “Channel Map”, usually it should either be AETR1234 or TEAR1234.
If the channels are responding to stick movements, here’s how to troubleshoot it:
is the RX bound to the TX? (do you see solid green light on the RX?)
is the RX soldered on the FC correctly?
have you enabled serial RX in the correct UART?
have you selected the correct RX protocol?
After making sure the channels are working correctly, now check the mid points and end points of the first 4 channels (Pitch, Roll, Yaw, Throttle). These channels should centre at 1500 (generally ok to have small error like 1-2, e.g. 1499-1501), and have end points of 1000 and 2000 (ok to have small error like 8-12 beyond the limits e.g. 990 and 2010).
When you are not touching the sticks, but the midpoint numbers jump around, it could cause small vibrations to your quad in flight, and we don’t want that. You could use deadband to “fix” it. For example if you see Roll or Pitch midpoint jumps between 1498 and 1500, then enter 2 in the RC deadband, it basically tells the FC to ignore those tiny changes in stick value. Midpoint jump is pretty common and nothing to worry about, how much it jumps depends on the quality of the receiver.
Before you move on to the next tab, check to make sure your arming and mode switches are working properly by flipping them, you should see AUX1, AUX2 or AUX3 channel values change. If you haven’t setup switches yet in your radio, follow this tutorial.
Modes
In the “Modes” tab you can assign your switches for different functions. Common modes we use are:
Arming
Angle mode (when angle mode is not activated, we are in rate mode, aka manual mode. If you don’t see Angle mode, your accelerometer is probably disabled)
Select the switch you want to use to control this mode in the drop down menu. If you don’t know which AUX is your switch, just go to the Receiver tab and see which AUX channels respond when you flip the switches. AUX1 is channel 5, AUX2 is channel 6 and so on
Drag the slider to the desired range for activation
Flip the switch and the little yellow marker should also move around, see if it falls within the activation range of the mode when the switch is turned on
Click “Save”
Motors
The motor tab is used for configuring the ESC and testing the motors. For safety, please make sure you remove all the propellers before using the motor tab.
The only thing you need to change here is ESC/Motor Protocol. If you are using BLHeli_S or BLHeli_32 ESC, DShot is recommended. As a rule of thumb, select:
I recommend keeping “MOTOR_STOP” option disabled, otherwise you won’t be able to tell if your quad is armed. The rest you can just leave them at default.
Click Save and Reboot, then go back to the Motor tab again.
There are a few things you want to check:
Can the motors spin?
Are the motor in the correct order as shown in the top left diagram?
Are they spinning in the right direction as shown in the top left diagram?
Here’s the correct motor order and spin rotation:
motor 1 at rear right
motor 2 at front right
motor 3 at rear left
motor 4 at front left
If the order is wrong, you can fix it by clicking the “Reorder motors“.
Now, check motor spin direction, if wrong, you can reverse spin direction by clicking “Motor direction“.
OSD
By setting up OSD, you can display important flight data on your screen, such as voltage and timer.
These are the elements and places I put them, you can just copy these in CLI if you want.
set osd_vbat_pos = 2467 set osd_link_quality_pos = 2114 set osd_rssi_dbm_pos = 2082 set osd_tim_2_pos = 2486 set osd_throttle_pos = 2104 set osd_current_pos = 2135 set osd_mah_drawn_pos = 2403 set osd_warnings_pos = 14633 set osd_avg_cell_voltage_pos = 2435 save
PID Tuning
The PID Tuning tab offers the ability to tweak your quad’s flight performance and get it to fly the way you want.
It might look daunting, but you don’t really have to change anything here as the default Betaflight settings work pretty well on a wide range of FPV drones. When you become more experienced, take a look at my PID tuning guide.
However, you might want to play around with rates and expo to make the quad easier to control. Rate, Super Rate and Expo affect the sensitivity of the sticks – how much the quad reacts to your stick movement. Take a look at this guide on Rate / Super Rate and Expo.
Video Transmitter
If you are using analogue video transmitter and intent to use VTX control, then you need to setup VTX table for it to work properly. For digital FPV system you like DJI/HDZero/Avatar, you can just ignore it.
There are 3 ways to load VTX Tables, via the Presets tab, load the JSON file or enter CLI snippet.
Usually you should be able to find the VTX table JSON file or CLI snippet for your VTX on its product page, if not check here or just google it.
Expert Mode
By enabling Expert Mode on the top of the window, it gives you access to additional tabs on the left hand panel and extra advanced settings. You don’t normally need to touch any of those settings for your first flight.
Stop Beeping on the Bench
If the buzzer in your drone keeps beeping when the USB cable is plugged in while your radio is powered off, an easy fix is to disable the “USB” option under Beeper Configuration in the Configuration tab.
That’s all to the basic setup in Betaflight.
Safety Checks Before Maiden Flight
Before taking our quad for maiden flight, please test failsafe. In the event of lost radio link, the motors by default should just stop and the drone will drop to the ground.
First of all, remove all props for safety. Plug in the battery, turn on the radio and arm the quad. To simulate a failsafe, you can simply switch off the radio while the quad is armed. Ideally, your quad should disarm within a couple of seconds and the motors should stop. If not, you need to investigate your failsafe settings, reset it to default if in doubt.
Also check CPU Load percentage at the bottom of Betaflight Configurator, relatively low CPU load ensures stability. According to Betaflight 4.3 wiki, you shouldn’t be concerned until it gets around 75%. To lower CPU load, you can try disabling unnecessary features or set a lower PID loop frequency.
Other Betaflight Related Tutorials
Once you have completed this tutorial, come back and check out the following tutorials to learn more about the advanced features in Betaflight:
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.
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
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.
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
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.
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
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?
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
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
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.
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
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.
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?
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,
“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
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.
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?
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.
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 !
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
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!
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.
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…
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 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.
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.
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 :)
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!
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. Click "Cookie Settings" to decline these cookies, make more detailed choices, or learn more.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
93 comments
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
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!