PROJECT MOCKINGBIRD v3 - UR65
PROJECT MOCKINGBIRD v3
for 1s brushless 0802 F3 Whoops
AKA - UR-802
patrick j. clarke
Brushless Whoops have evolved over the last year, and finally, with 0802 motors and better quality components, it’s an excellent choice for racing and freestyle. There are a lot of UR65’s out there running PMB so I’ve found that tweaking some settings and throwing some 0802 motors to replace the 0603’s make an amazing flying Whoop that performs better and has better battery life.
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.
This setup is optimized for a modified UR65 and the lightened versions I run. The key is to keep the weight to about 20-22g maximum and my personal UR65s don’t have much modified other than a lighter canopy and some run nylon motor bolts or TinyHawk motor bolts.
This is also the first version of PMB that includes AWESOME Angle Mode for racing AND a new experimental “Juicy Horizon” mode that makes indoor Freestyle Whooping have more control and for most should make you more confident in learning Freestyle indoors (Jelle, SR13, Josh Evans, and Michael Anderson need not apply)
Here’s the secret sauce to Angle Racing for Whoops:
- DIALED in Linear Yaw Rates for Angle Mode
- Props Out just like the Inductrix handles corners much better
- Use of the FPV_Angle_Mix to turn with YAWTHORITY
- Throttle Boost to keep that power going
- Turning off Airmode for Angle
Nate Payne, Daniel Sugano, Brendan Guffin and the rest of the 75X tuning group - I think it was Daniel that was the first person I heard of to try 1s on 802 motors in September or October of 2018 and was begging us all to try it. He was not wrong.
Steven Merrell - All of his pioneering work in brushless 31mm Whoops is awesome and his custom Whoop is still one of my favorites.
Bryce Johnson - Your CrazyBee F3 wouldn’t fly as nice as it does if it weren’t for the work of Bryce. He’s why we have turtle mode as well.
Jesse Perkins - Jesse was testing 802’s behind the scenes and is the reason we have some of the best brushless motor options out there. All of his TW brushless motors are top notch and when Jesse is behind something a movement starts.
Joshua Bardwell - He recommended altering “Runaway” so you don’t have inadvertent disarms on bumps. I personally now turn it off, but please be aware that turning it off could let your quad spin to the moon with no safety cutoff.
This is step one of going “props out” on a brushless build. If you’ve never used BLHELI, it can be a little scary as you need to plug in a battery to flash the firmware of the ESC’s. Of course, BE CAREFUL AND REMOVE PROPS before doing this. Once we reverse the ESC direction of each, then we’ll complete the props out selection in Betaflight.
In this step we are setting up FILTERS, PID’s, MODES and most importantly, RATES and ADJUSTMENTS.
NOTE: Please make sure you have “Enable Expert Mode” turned on, otherwise you won’t be able to see the Adjustments tab
CONFIGURATION - SECTION 1
These settings have been used on the CrazyBeeF3 on 17.5k BetaFPV motors and 19k TinyWhoop motors. I have had some testers use them on F4 and they say they work great, but can’t attest to that until I start tuning my own. I will be having a specific F4 1s and 2s Tune for the NBD BeeBrain Brushless.
ROLL
P: 70
I: 70
D: 30
FF: 155
PITCH
P: 73
I: 75
D: 35
FF: 155
YAW
P: 90
I:70
D: 0
FF: 100
GENERAL PID SETTINGS
Angle Strength and Limit EXPLAINED - These two things control your pitch and roll “feeling” (as well as limiting how far you can tilt). Instead of RC Rate controlling it, Ethan Bayer found out that it’s actually controlled by these two settings. There is a relationship between the two. The Limit controls how far you can tilt. 0 stick equals 0 degrees, and 100% stick equals 60 degrees. The Strength controls how much curve of resistance the quad tries to get back to 0 angle. If you like a “looser” feel with more stick travel, lower Angle Strength and/or increase Angle Limit. I don’t like a lot of stick movement so, these numbers feel right to me. Some might find an Angle Limit of 65 and Strength of 100-105 is more like the Inductrix with more stick travel but the ability to tilt much further.
Horizon Strength and Transition EXPLAINED - Horizon Strength is different than Angle strength as it uses your Horizon rates for Pitch, Roll, and Yaw, and works in conjunction with Transition on how much influence and how fast it goes from Angle-like flight to Acro Flight. We will also be using “Horizon Expert Mode” in CLI which works some magic so we can do inverted flight and power loops AND still have some self-correcting help.
A LITTLE MORE ABOUT ANGLE AND HORIZON DIRECTLY FROM BETAFLIGHT
The strength of the auto-leveling correction applied during Angle mode is controlled by the LEVEL "P" PID term which is labeled "Angle", "Strength" in the GUI (prior to version v1.13.0 the parameter level_angle was used). This can be used to tune the auto-leveling strength in Angle mode compared to Horizon mode. The default is 50.
The strength of the auto-leveling correction applied during Horizon mode is set by the LEVEL "I" PID term which is labeled "Horizon", "Strength" in the GUI (prior to version v1.13.0 the parameter level_horizon was used). The default is also 50.
The transition between self-leveling and acro behavior in Horizon mode is controlled by the LEVEL "D" term which is labeled "Horizon", "Transition" in the GUI (prior to version of v1.13.0 the parameter sensitivity_horizon parameter was used) . This sets the percentage of your stick travel that should have self-leveling applied to it, so smaller values cause more of the stick area to fly using only the gyros.
For example, at a setting of "100" for sensitivity horizon, 100% self-leveling strength will be applied at center stick, 50% self-leveling will be applied at 50% stick, and no self-leveling will be applied at 100% stick. If sensitivity is decreased to 75, 100% self-leveling will be applied at center stick, 50% will be applied at 63% stick, and no self-leveling will be applied at 75% stick and onwards.
MORE ABOUT HORIZON EXPERT MODE
This sets the percentage of your stick travel that should have self-leveling applied to it, so smaller values cause more of the stick area to fly using only the gyros. The default is 75%
For example, at a setting of “100” for sensitivity horizon, 100% self-leveling strength will be applied at center stick, 50% self-leveling will be applied at 50% stick, and no self-leveling will be applied at 100% stick. If sensitivity is decreased to 75, 100% self-leveling will be applied at center stick, 50% will be applied at 63% stick, and no self-leveling will be applied at 75% stick and onwards. `
So if you’d use transition 25 you’d have:
100% of your horizon strength at center stick
50% of your horizon strength at 12.5% stick
No self leveling from upwards of 25% stick
horizon_tilt_effect: Controls the effect the current inclination (tilt) has on self-leveling in the Horizon flight mode. Larger values result in less self-leveling (more “acro”) as the tilt of the vehicle increases. The default value of 75 provides good performance when doing large loops and fast-forward flight. With a value of 0 the strength of the self-leveling would be solely dependent on the stick position.
horizon_tilt_expert_mode OFF|ON: Sets the performance mode for ‘horizon_tilt_effect’
OFF = leveling always active when sticks centered:
This is the “safer” mode because the self-leveling is always active when the sticks are centered. So, when the vehicle is upside down (180 degrees) and the sticks are then centered, the vehicle will immediately be self-leveled to upright and flat. (Note that after this kind of very-fast 180-degree self-leveling, the heading of the vehicle can be unpredictable.)
ON = leveling can be totally off when inverted:
In this mode, the inclination (tilt) of the vehicle can fully “override” the self-leveling. In this mode, when the ‘horizon_tilt_effect’ parameter is set to around 75, and the vehicle is upside down (180 degrees) and the sticks are then centered, the vehicle is not self-leveled. This can be desirable for performing more-acrobatic maneuvers and potentially for 3D-mode flying.
so you could float inverted then catch it back into angle mode and fly through those tight places!
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 and FPV_Angle_Mix for the appropriate flight mode.
RATEPROFILE 1 (Acro)
ROLL/PITCH RC RATE: 1
YAW RC RATE: 1
ROLL SUPER RATE: .8
PITCH SUPER RATE: .8
YAW SUPER RATE: .8
RATEPROFILE 2 (Horizon)
ROLL/PITCH RC RATE:1.00
YAW RC RATE: 2.07
ROLL SUPER RATE: .8
PITCH SUPER RATE: .8
YAW SUPER RATE: .25
RATEPROFILE 3 (Angle)
ROLL AND PITCH - These are all set to zero as Roll and Pitch are controlled by Angle Strength and Angle Limit.
RC Rate: 0
Super Rate: 0
YAW
RC Rate: 2.1
Super Rate: 0
NOTE:
Angle Strength: 100
Angle Limit: 70
EXPLAINED - These two things control your pitch and roll “feeling” (as well as limiting how far you can tilt). Instead of RC Rate controlling it, Ethan Bayer found out that it’s actually controlled by these two settings. There is a relationship between the two. The Limit controls how far you can tilt. 0 stick equals 0 degrees, and 100% stick equals 60 degrees. The Strength controls how much curve of resistance the quad tries to get back to 0 angle. If you like a “looser” feel with more stick travel, lower Angle Strength and/or increase Angle Limit. I don’t like a lot of stick movement so, these numbers feel right to me. Some might find an Angle Limit of 65 and Strength of 100-105 is more like the Inductrix with more stick travel but the ability to tilt much further.
MODES
AUX 1: ARM
AUX 2: ACRO, ANGLE, HORIZON, FPV ANGLE MIX (on for Angle Mode), 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.
There are some settings in Betaflight that can only be done in CLI. Any text with //around it// is just explanation. Just copy the commands shown below. There is also a DIFF ALL below if you have a stock Taranis QX7 that should just be plug and play other than binding.
//Sometimes you will arm and a little bump will happen as you take off and it will disarm. This is Runaway. I turn it off, BUT CAUTION IF YOU DO YOU COULD ARM AND HAVE YOUR QUAD SPIN TO THE MOON IF YOUR SETTINGS ARE TWEAKED INCORRECTLY//
set runaway_takeoff_prevention = OFF
//This is to reduce the "bounce" that you can get with airmode when you first arm. I only use airmode for Acro//
set airmode_start_throttle_percent = 15
//Since we run higher PID numbers, this gives us more headroom//
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
//This improves responsiveness to fast throttle inputs.//
set throttle_boost = 20
//This is one from Bryce. If you don’t like how turtle mode is working, then try this. Spins all 4 motors backwards and helps a ton. Test he did when he was working on it. 2 motors vs 4.https://youtu.be/Qwh1MBNnZj4//
set crashflip_motor_percent = 50
//Sets the performance mode for ‘horizon_tilt_effect’//
set horizon_tilt_expert_mode = ON
//Controls the effect the current inclination (tilt) has on self-leveling in the Horizon flight mode. Larger values result in less self-leveling (more “acro”) as the tilt of the vehicle increases. The default value of 75 provides good performance when doing large loops and fast-forward flight. With a value of 0 the strength of the self-leveling would be solely dependent on the stick position.//
set horizon_tilt_effect = 80
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.
# DIFF ALL
# Betaflight / CRAZYBEEF3FR (CBFR) 3.5.5 Jan 15 2019 / 09:39:50 (88921670b) MSP API: 1.40
board_name CRAZYBEEF3FR
manufacturer_id
mcu_id 0035001a4734571020323638
defaults nosave
name MKNGBRD 802
feature -MOTOR_STOP
feature -TELEMETRY
beeper -GYRO_CALIBRATED
beeper -RX_LOST
beeper -RX_LOST_LANDING
beeper -DISARMING
beeper -ARMING
beeper -ARMING_GPS_FIX
beeper -BAT_CRIT_LOW
beeper -BAT_LOW
beeper -GPS_STATUS
beeper -RX_SET
beeper -ACC_CALIBRATION
beeper -ACC_CALIBRATION_FAIL
beeper -READY_BEEP
beeper -DISARM_REPEAT
beeper -ARMED
beeper -SYSTEM_INIT
beeper -ON_USB
beeper -BLACKBOX_ERASE
beeper -CAM_CONNECTION_OPEN
beeper -CAM_CONNECTION_CLOSED
set gyro_sync_denom = 2
set gyro_lowpass_type = BIQUAD
set gyro_lowpass_hz = 150
set gyro_lowpass2_hz = 0
set yaw_spin_threshold = 1400
set acc_calibration = 11,-30,-87
set min_check = 1004
set max_check = 2000
set rc_smoothing_type = FILTER
set fpv_mix_degrees = 17
set rx_spi_protocol = FRSKY_D
set blackbox_device = NONE
set dshot_idle_value = 1000
set motor_pwm_protocol = DSHOT300
set thr_corr_angle = 65
set airmode_start_throttle_percent = 15
set bat_capacity = 255
set vbat_max_cell_voltage = 46
set vbat_full_cell_voltage = 40
set vbat_min_cell_voltage = 29
set vbat_warning_cell_voltage = 29
set vbat_scale = 111
set yaw_motors_reversed = ON
set crashflip_motor_percent = 50
set small_angle = 180
set pid_process_denom = 1
set runaway_takeoff_prevention = OFF
set osd_units = IMPERIAL
set osd_warn_visual_beeper = OFF
set osd_warn_esc_fail = OFF
set osd_cap_alarm = 250
set osd_vbat_pos = 2434
set osd_rssi_pos = 34
set osd_tim_1_pos = 54
set osd_tim_2_pos = 2102
set osd_flymode_pos = 407
set osd_throttle_pos = 376
set osd_current_pos = 353
set osd_mah_drawn_pos = 386
set osd_craft_name_pos = 393
set osd_avg_cell_voltage_pos = 394
set osd_disarmed_pos = 298
set osd_stat_bbox = OFF
set osd_stat_bb_no = OFF
set vcd_video_system = NTSC
profile 0
set dterm_lowpass_type = BIQUAD
set dterm_lowpass_hz = 200
set dterm_lowpass2_hz = 0
set dterm_notch_cutoff = 0
set vbat_pid_gain = ON
set anti_gravity_threshold = 200
set acc_limit_yaw = 0
set iterm_relax = RP
set iterm_relax_type = SETPOINT
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set p_pitch = 73
set i_pitch = 75
set d_pitch = 35
set f_pitch = 155
set p_roll = 70
set i_roll = 70
set d_roll = 30
set f_roll = 155
set p_yaw = 90
set i_yaw = 70
set f_yaw = 100
set p_level = 100
set i_level = 30
set d_level = 80
set level_limit = 70
set horizon_tilt_effect = 80
set horizon_tilt_expert_mode = ON
profile 1
set dterm_lowpass_hz = 55
set dterm_lowpass2_hz = 110
set dterm_notch_cutoff = 0
set vbat_pid_gain = ON
set anti_gravity_threshold = 200
set anti_gravity_gain = 2000
set feedforward_transition = 60
set acc_limit_yaw = 0
set iterm_relax = RP
set iterm_limit = 500
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set throttle_boost = 20
set p_pitch = 55
set i_pitch = 55
set d_pitch = 45
set f_pitch = 155
set p_roll = 45
set d_roll = 40
set f_roll = 155
set p_yaw = 70
set d_yaw = 5
set f_yaw = 100
set p_level = 100
set level_limit = 60
profile 2
set anti_gravity_threshold = 350
set d_yaw = 30
set f_yaw = 0
profile 0
rateprofile 0
set yaw_rc_rate = 207
set roll_srate = 80
set pitch_srate = 80
set yaw_srate = 25
set tpa_rate = 50
set tpa_breakpoint = 1750
rateprofile 1
set yaw_rc_rate = 207
set roll_srate = 80
set pitch_srate = 80
set yaw_srate = 25
set tpa_rate = 50
set tpa_breakpoint = 1750
rateprofile 2
set roll_rc_rate = 0
set pitch_rc_rate = 0
set yaw_rc_rate = 210
set roll_srate = 0
set pitch_srate = 0
set yaw_srate = 0
set tpa_rate = 50
set tpa_breakpoint = 1750
rateprofile 3
rateprofile 4
rateprofile 5
rateprofile 2
save
#
patrick j. clarke
qreacher@gmail.com
https://www.youtube.com/channel/UCvP85uApqunG_O0pTJs665w?view_as=subscriber
Want a Project Mockingbird shirt? Get one here!
https://teespring.com/projectmockingbird#pid=369&cid=6513&sid=front
VERSION 1:
https://docs.google.com/document/d/1N_GNXWuGPWg2IeCG8EKqiURUd8s29HyRlaH4-ivzjH4/edit?usp=sharing
VERSION 2:
https://docs.google.com/document/d/11nzMJCEWNX7CY8XjnYBDlEiYT6GNqBuCe9gFEq2FMWI/edit#
VERSION 3 Brushless UR65:
https://docs.google.com/document/d/11h4-t42uFTP_vnDinGut6XdG6tdHH1BZmdKBRv6pM6Q/edit
VERSION 3 TinyHawk:
https://docs.google.com/document/d/13PU6WVnge-DjZcVcWFTGLNG8H0DaMGs7dPpxZoy-iCU/edit#
VERSION 3 BRUSHED F4:
https://docs.google.com/document/d/1okJpOSRvmxBVVrp0D58YKJwCvN_ie0rzBeFXy-WLknc/edit#