A LITTLE HISTORY
A lot of the original Project Mockingbird setup is owed to Scott Allyn from the MMW community as he was the first one I am of aware of to try to do this and got a lot of the basics figured out. But Betaflight Angle mode, slow PPM Betaflight FC’s and filtering just wasn’t that great back then, and it’s only really been since 3.2.2 and above that I’ve noticed it’s gotten A LOT better for Whoops. Now Project Mockingbird tries to make all micros fly as good as they can in Acro and Angle modes!
OVERVIEW
This setup is optimized for the stock NewBeeDrone AcroBee65 v3. It flies pretty good out of the box, but I flashed BLHELI_M “Jazzmaverick” to get RPM Filters, did a new tune and then applied my latest PMB Angle settings which make you fly in Angle like a champ. It’s probably the best Acro and Angle Mode tune I’ve ever done in Betaflight!
WHAT’S SO SPECIAL ABOUT THIS VERSION?
Flashed BLHELI_M Jazzmaverick 16.9 to get 48khz AND RPM Filters for FREE!
Cool as ice motors
Better battery life
Almost zero prop-wash
Complete re-tune for Betaflight 4.2.9
Specific tune for the latest Betaflight and the Acrobee65
Best Acro on a Betaflight Whoop
Tried and true PMB Angle Settings that give you the Angle Racing advantage
Setup for OpenTX for Dual Axis Steering
Radio-based Mixer for adding yaw when you input roll for smooth and precise Angle Race cornering
Props Out, the Angle Racing Standard
The stock Acrobee65 v3 ships with Props In but PMB pioneered props out for Angle racing to reduce washout in corners
SHOUT-OUTS FOR THIS VERSION
The Betaflight Devs - There are too many to mention, but you wouldn’t be flying this good if it weren’t for every single Betaflight Dev and their contributions.
Mark Spatz (UAV Tech) - Mark is the king of Betaflight knowledge and a few years ago he did some blackbox recording on his Whoop and we worked together to find the best tune basics for Whoops. He makes understanding how to tune Betaflight easy.
Kelvin, Daryn, Dalton, and the rest of the NBD gang - They make the best BNF Whoops and they keep me in supply of the latest and greatest whoops…and they are the only ones with TWO official PMB BNF Whoops!
THE SETUP
STEP ONE - BLHELI_M (Jazzmaverick) 16.9
In this step we are going to flash new firmware on the ESC’s so we can run RPM filters for free and use 48khz. The Betaflight tune is specifically for RPM filtering and shouldn’t be used in any other way other than 48khz Jazzmaverick and RPM.
Link to download BLHELI_M Configurator:
Releases · Asizon/blheli-configurator · GitHub
Step 1: Connect and Click Read Setup
Step 2: Click Flash All
Step 3: Choose 16.9 (Blheli_M Official)
Step 4: Click Flash
Step 5: For Props out choose the opposite direction for each motor that it loaded up (see image)
Step 6: Check to make sure it’s 48Khz and Async-PWM
STEP TWO- SWAPPING PROPS
In this step we are going to swap the props around to match our new Props Out ESC settings.
Basically, just swap the front right and left props and the back left and right props, but see the diagram below if you are confused.
STEP THREE - BETAFLIGHT SETUP
In this step we are going to setup Betaflight, including RPM Filtering. You can just paste in the DIFF at the end of this guide and everything should work, but this section will explain each step in more detail.
You’ll need the latest 4.2.9 special NBD hex. They are currently posting the older 4.1.7 version on the product page. I recommend 4.2.9
CONFIG
The Config section is where we are going to setup up DSHOT300, 8k/4k and Bi-Directional D-Shot so we can use RPM filters. We are also going to turn off permanent Airmode.
Change to DSHOT300
Turn on Bidirectional DShot
Change Motor poles to 12
Change Motor Idle to 6.5
Switch on Motor Direction is reversed
Change PID loop frequency to 4KHz
PIDS AND FILTERS
Here’s the meat of the Betaflight settings, your PIDs and Filters. With RPM filtering we can turn down a lot of filters and still have little to no propwash.
Angle Settings
Strength: 90
If you feel like this is too tight feeling, reduce this number
Angle Limit: 85
This controls how much tilt you can do in Angle mode before it limits it. 85 is the highest I would go here. If you feel it’s too twitchy, reduce to 65 or so.
FILTERS
Since we are using RPM we can reduce the overall filtering in Betaflight and need to make some changes to the default RPM Filter settings for Whoops.
RATES
We are going to set up 3 different RATE profiles. One for Acro, one for Angle and one for Horizon With this setup your rates will change when you switch from Acro to Angle. On my TX Up is Acro, Middle is Horizon, and Down is Angle. I recommend this setup so that it automatically turns on and off Airmode for the appropriate flight mode and goes from using ACTUAL rates to Betaflight Rates for Angle.
Profile 1: Acro is setup more like my bigger quads for Freestyle, and has Rate/Super mixed to my taste and uses the new Actual Rates type. Keep yours like you like your Freestyle Whoop.
Profile 2: Horizon is a lot like Acro rates, and will adjust Horizon Strength and Transition
My settings displayed below are for “Juicy” indoor Freestyle in Horizon mode.
Profile 3: Angle will only have yaw rates as Pitch and Roll are derived from Angle Strength and Angle Limit
I prefer linear rates on yaw in Angle most times, but a good rule of thumb is to use your racing Acro yaw rate and increase it 100 deg/sec by increasing RC Rate and leaving Super as your Acro racing rates.
These are the same rates as earlier Mockingbird settings
A lot of people like to add 20-30% Expo, but I don’t run any expo. It’s up to you if you like it.
RATE PROFILE 1 (ACRO)
RATE PROFILE 2 (HORIZON)
RATE PROFILE 3 (ANGLE)
ROLL AND PITCH - These are all set as low as possible as Roll and Pitch are controlled by Angle Strength and Angle Limit. Betaflight now limits the lowest you can go to 0.01 instead of zeroing it out to NaN (Not a Number). If you find you are flying in Acro and your rates are super low, it’s probably because it’s not switching from these Angle rates.
MODES
AUX 1: ARM
AUX 2: ACRO, ANGLE, HORIZON, and AIRMODE (on for Acro and Horizon)
EXPLAINED- I recommend not using Airmode for Angle Mode. Turning it off seems to help with crashing and glancing blows and also seems to help with more power as well as cruising low across floors. That’s why it gets turned off when you select Angle Mode and why you have “Idle Up” (increased min_throttle on the config page).
ADJUSTMENTS
This is where we will set up a rate profile change upon the user switching from Acro to Angle to Horizon.
EXPLAINED:
So you can run Acro and have higher rates and super, but when you want to be an Angle Racer, when you flip your Aux 2 to Angle, the Adjustments tab will change to Rate Profile 3 and you’ll have the more linear Angle Racing rates. NOTE, I have my AUX 2 go UP=Acro, MID=Horizon, DWN=Angle so I can have Airmode on for Acro and Horizon, but not Angle. So my Adjustments and Profiles match. Change according to how you have your Mode switch set up.
Set AUX 2 to match your range for Angle in your Modes tab
Select “Rate Profile Selection” as your option in “then apply”
Using “Slot 2” to match the Rate profile of Angle
Via Channel AUX 2 - this matches your mode switch
STEP FOUR - Setting up Dual Axis Steering on Your Radio
Dual Axis Steering mixes a little yaw into roll making cornering super precise. Unlike Emuflight, Betaflight doesn’t have Dual Axis Steering built in. But we can mimic it somewhat with our radio and mixing.
Go to the Mixer section in your radio
Navigate to “Rud” and long press click wheel
Select Insert After
Under Source, choose AIL
Set weight to 30
I like to have mine on a switch so I can turn it off for Acro if I want
THE DIFF
Hopefully you can just copy and paste this into your CLI and start flying, but it’s probably best to read and go over the settings above so you can double-check that it all worked.
Link to DIFF file: here
#
# diff all
# version
# Betaflight / BEEBRAIN_BL_V3_BASE (BeeBrain BL V3) 4.2.9 Jul 12 2021 / 17:51:35 (8a46598c4) MSP API: 1.43
# start the command batch
batch start
# reset configuration to default settings
defaults nosave
board_name BEEBRAIN_BL_V3_BASE
mcu_id 0052003c5256500b20383057
signature
# name: MockingBee65
# feature
feature -AIRMODE
# led
led 0 7,7::CTO:4
led 1 8,7::CTO:4
# aux
aux 1 1 1 1700 2100 0 0
aux 3 13 2 1300 1700 0 0
aux 4 28 1 900 1700 0 0
aux 5 35 2 1700 2100 0 0
# adjrange
adjrange 0 0 1 900 2100 12 1 0 0
# vtxtable
vtxtable band 1 BOSCAM_A A CUSTOM 5865 5845 5825 5805 5785 5765 5745 5725
vtxtable band 2 BOSCAM_B B CUSTOM 5733 5752 5771 5790 5809 5828 5847 5866
vtxtable band 3 BOSCAM_E E CUSTOM 5705 5685 5665 5645 5885 5905 5925 5945
vtxtable band 6 IMD6 I CUSTOM 5732 5765 5828 5840 5866 5740 0 0
vtxtable powerlabels 5 50 120
# master
set gyro_lowpass2_hz = 325
set dyn_notch_q = 150
set dyn_notch_max_hz = 400
set dyn_lpf_gyro_min_hz = 260
set dyn_lpf_gyro_max_hz = 650
set min_check = 1010
set max_check = 2000
set fpv_mix_degrees = 20
set dshot_idle_value = 650
set dshot_bidir = ON
set motor_pwm_protocol = DSHOT300
set motor_poles = 12
set small_angle = 180
set bat_capacity = 300
set vbat_min_cell_voltage = 310
set yaw_motors_reversed = ON
set osd_vbat_pos = 344
set osd_rssi_pos = 2081
set osd_tim_2_pos = 2071
set osd_flymode_pos = 2392
set osd_throttle_pos = 2424
set osd_vtx_channel_pos = 206
set osd_current_pos = 375
set osd_craft_name_pos = 2409
set osd_warnings_pos = 2378
set osd_avg_cell_voltage_pos = 2402
set osd_pit_ang_pos = 2059
set vtx_power = 2
set vcd_video_system = NTSC
set gyro_rpm_notch_harmonics = 2
profile 0
# profile 0
set dyn_lpf_dterm_min_hz = 91
set dyn_lpf_dterm_max_hz = 221
set dterm_lowpass2_hz = 0
set vbat_pid_gain = ON
set vbat_sag_compensation = 100
set anti_gravity_gain = 10000
set iterm_relax_cutoff = 10
set p_pitch = 80
set i_pitch = 75
set d_pitch = 70
set f_pitch = 100
set p_roll = 80
set i_roll = 75
set d_roll = 70
set f_roll = 100
set p_yaw = 100
set i_yaw = 75
set f_yaw = 100
set angle_level_strength = 90
set horizon_level_strength = 30
set horizon_transition = 80
set level_limit = 85
set d_min_roll = 0
set d_min_pitch = 0
set d_min_boost_gain = 0
set d_min_advance = 70
set auto_profile_cell_count = 1
profile 1
# profile 1
set dyn_lpf_dterm_min_hz = 91
set dyn_lpf_dterm_max_hz = 221
set dterm_lowpass2_hz = 0
set vbat_pid_gain = ON
set vbat_sag_compensation = 100
set anti_gravity_gain = 10000
set iterm_relax_cutoff = 10
set p_pitch = 40
set i_pitch = 75
set d_pitch = 35
set f_pitch = 100
set p_roll = 40
set i_roll = 75
set f_roll = 100
set p_yaw = 50
set i_yaw = 75
set f_yaw = 100
set angle_level_strength = 90
set horizon_level_strength = 30
set horizon_transition = 80
set level_limit = 85
set d_min_roll = 0
set d_min_pitch = 0
set d_min_boost_gain = 0
set d_min_advance = 70
set motor_output_limit = 77
set auto_profile_cell_count = 2
profile 2
# restore original profile selection
profile 0
rateprofile 0
rateprofile 1
rateprofile 2
# rateprofile 2
set roll_rc_rate = 1
set pitch_rc_rate = 1
set yaw_rc_rate = 210
set roll_srate = 0
set pitch_srate = 0
set yaw_srate = 0
rateprofile 3
rateprofile 4
rateprofile 5
# restore original rateprofile selection
rateprofile 2
# save configuration
save
#