PROJECT MOCKINGBIRD v3 - UR65

PROJECT MOCKINGBIRD v3

UR65 v1

patrick j. clarke

A LITTLE HISTORY

Brushless Whoops are a relatively new thing, and before the UR65 came out, it was hit or miss (mostly miss) on finding a good traditional 31mm Whoop sized brushless that flew well.  One of the pioneers is Steven Merrell, and he’s the reason I got into brushless Whoops.  He custom built my first brushless and I was amazed at how well it flew.  I then added some custom Mockingbird settings and loved what I was flying.  So, when the UR65 came out, on paper it looked a lot like one of Steven’s builds, and with some tweaking, it really is a great flying Whoop for racing and freestyle


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.

OVERVIEW

This setup is optimized for the stock UR65 and the lightened versions I run.  I will cover stock settings for all of them and also list some of the upgrades I’ve done to make this little quad fly even better.

A little bit about Butterflight.  I haven’t included Butterflight settings yet, but when the CrazyBee F3 target is updated so that it works,  I will add Butterflight here as well and I love how it flies on my Whoops!

WHAT’S SO SPECIAL ABOUT PROJECT MOCKINGBIRD v3 and the UR65?

THE BEST Angle Mode you can find for a UR65.

The ability to switch rates from Angle Mode for Racing and Acro Mode for Freestyle


Here’s the secret sauce to Angle Racing for Whoops:
- DIALED in Linear Rates for Angle Mode
- On-FC Throttle Mixing for cornering and high speed turning

- A custom use of the FPV_Angle_Mix to turn with YAWTHORITY

- Throttle Boost to keep that power going

- Custom Throttle Curve for 0603 motors

- Better filtering in Betaflight to help with prop wash

- Turning off Airmode for Angle

Shout-outs for the UR65 version: 

Steven Merrell - He is why we have the UR65.  All of his pioneering work in brushless 31mm Whoops is awesome and his custom Whoop is still one of my favorites.

ctzsnooze - Betaflight Dev who is working on filtering in 3.5 and suggested new settings to RC Interpolation

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. 

K1nslayer - He discovered the old code for “Throttle Mapping” in Betaflight and did some initial tests with brushed motors

Nick Burns - He was one of the first reviewers that had a proper tune for the UR65, and although we both came up with our own independent PIDs, they were close and it reaffirmed my settings. :)

THE SETUP

Step One - BLHELI Suite Setup

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.

  • Update to 16.7 for Turtle Mode
  • Reverse motor direction on each ESC for Props out configuration
  • Set Startup Power=1


Step Two- Betaflight config

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

  • MIXER
  • I run “props out” and it helps with cornering in Whoops.  This is why you reverse motor direction in BLHELI
  • ESC/Motor Features 
  • ESC/Motor Protocol - Set to DSHOT 300 - This, along with BLHELI 16.7 let you do Turtle Mode
  • Motor Stop - Turn this off.  I use Idle Up on Angle Mode so I want the motors spinning when armed
  • Motor Idle Throttle Value - Set to 5.09.  This is also for my Idle Up settings so that when I arm the motors spin up
  • System configuration
  • Set 8k for Gyro Update
  • Set 2k for PID Loop Frequency
  • These are the max you can run for Turtle Mode and D8
  • Turn Accelerometer on so you can do Angle Mode

CONFIGURATION - SECTION 2

  • Arming - Set to 180 so you can arm at any angle in Angle Mode
  • Camera - Set to 10 for 30 tilt, set to 8 for 20 tilt. This feature usually matches your camera tilt angle but for Angle Racing, having it less than half your camera angle seems about perfect to have more yawthority, but not have it feel too unnatural.  
  • EXPLAINED- For Mockingbird Angle Mode, you don’t want this as strong as your camera angle.  This number correlates with “FPV_Angle_Mix” in in the Modes tab.  It mixes pitch and roll into yaw and makes cornering much better once you get used to it.  This is where your “yawthority” comes into play.  You will find that you will use yaw more than you are used to instead of pitch and roll.  If you start using it your corners will be sharper and flatter so you can keep your speed up.
  • Receiver - I use Frsky_D
  • Other Features
  • Turn on Telemetry
  • Turn on OSD
  • Turn on Anti-Gravity
  • Turn on Dynamic Filter
  • RX Lost
  • RX Set
  • Crash Flip

PID

  • PIDS: These PIDs have been tested on the stock 17k, and 19k motors and from the stock UR65 up to the lightened version I’ve built and work great!  If you are using the BetaFPV 16k motors, please see that section for PIDs that work great for it (courtesy of Steven Merrell)

        

  • RATES:  We are going to set up 2 different RATE profiles.  One for Acro and one for Angle.  With this setup your rates will change when you switch from Acro to Angle.  On my TX UP is Acro, Middle is Angle, tweak yours as needed.

  • Profile 2: Angle will be purely linear and have NO Super.
  • 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.
  • Profile 3: Acro is setup more like my bigger quads for Freestyle, and has Rate/Super mixed to my taste, keep yours like you like your Freestyle Whoop

GENERAL PID SETTINGS

  • D Setpoint Weight: 2.55
  • I love how quick it is for Angle Racing.  Adjust as necessary.  Increasing to 2.55 will make it more racy and snappy, lowering it  to 1 will make it smoother but sluggish feeling.  Most of my Whoops are now at 2.55 for racing.
  • Transition: 0
  • This is personal preference.  If you want a smoother flying quad for acro, set it to 1 and it will feel more “RaceFlight”, set it to 0 for maximum direct control.  Recently I’ve been playing with it at .5 for a nice balance that a lot of “Inductrix Racers” might like.

  • VBAT Compensation: ON
  • Anti Gravity Gain: 5
  • Anti Gravity Threshold: 350

RATEPROFILE 1 (Acro)

ROLL P: 45

PITCH P: 55
YAW P: 90


ROLL I: 45
PITCH I: 55
YAW I: 45

ROLL D: 40
PITCH D: 45

ROLL/PITCH RC RATE: 1

YAW RC RATE: 1

ROLL SUPER RATE: .8

PITCH SUPER RATE: .8

YAW SUPER RATE: .84

RATEPROFILE 2 (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.07

Super Rate: 0

NOTE:  Max Vel may not be exact depending on your “Deadband” settings...just get it close to 615-620

 

Angle Strength: 105

Angle Limit: 55

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 55 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.

FILTER

  • Make Changes as shown below


MODES

AUX 1: ARM

AUX 2: ACRO, ANGLE, HORIZON and FPV ANGLE MIX (always on)

AUX 3: Up is no Airmode, middle is Airmode, and down is for Turtle Mode

EXPLAINED- I HIGHLY recommend not using Airmode for Angle Mode.  It seems to help with crashing and glancing blows and also seems to help with more power.  That’s why I put it on a switch since I want it on for Acro Mode but some don’t like it for Acro Whooping either.

ADJUSTMENTS

This is where we will set up a rate profile change upon the user switching from Acro to Angle to Horizon.  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 2 and you’ll have the more linear Angle Racing rates.  NOTE, I have my AUX 2 go UP=Acro, MID=Angle, DWN=Horizon.  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 Three CLI Settings

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.

//This is new in Betaflight 3.4 and above and recommended by ctzsnooze the Betaflight dev who worked on it.//

set rc_interp_ch = RPYT

set rc_smoothing_type = FILTER

//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

//These two settings replace "Throttle Mixing" in older versions of Mockingbird.  This is much more accurate and in brushed I think it adds more power.  The value is the "power" you want to your pitch and roll (how much throttle is added).  Don't change this too much, but I think 3 is about right.  You'll find yourself not having to throttle through things as much, you'll just pitch, roll and yaw and the power will be there.//

set thr_corr_value = 3

set thr_corr_angle = 550

//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 = 8

//This is another brushed trick to get more power from the motors.  It seems to help in brushless too//

set throttle_limit_type = CLIP

//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

DIFF ALL

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.4.0 Jul  8 2018 / 04:06:04 (cce8a59be) MSP API: 1.39

board_name CRAZYBEEF3FR

manufacturer_id

mcu_id 0018002e5634570e20353233

defaults nosave

name UR65 MKNGBRD

feature -MOTOR_STOP

beeper -GYRO_CALIBRATED

beeper -RX_LOST

beeper -RX_LOST_LANDING

beeper -DISARMING

beeper -ARMING

beeper -ARMING_GPS_FIX

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

beacon RX_LOST

map TAER1234

aux 0 0 0 1375 2100 0

aux 1 1 1 1325 1675 0

aux 2 2 1 1700 2100 0

aux 3 28 2 1400 1575 0

aux 4 30 1 900 2100 0

aux 5 35 2 1625 2100 0

adjrange 0 1 1 1425 1575 12 1 0 0

rxrange 0 988 2012

rxrange 1 988 2012

rxrange 2 988 2012

set min_check = 1000

set rc_interp_ch = RPYT

set rc_smoothing_type = FILTER

set fpv_mix_degrees = 10

set airmode_start_throttle_percent = 15

set rx_spi_protocol = FRSKY_D

set dshot_idle_value = 509

set motor_pwm_protocol = DSHOT300

set thr_corr_value = 3

set thr_corr_angle = 550

set bat_capacity = 250

set vbat_max_cell_voltage = 45

set vbat_min_cell_voltage = 28

set vbat_warning_cell_voltage = 30

set yaw_motors_reversed = ON

set small_angle = 180

set osd_vbat_pos = 2115

set osd_rssi_pos = 2083

set osd_tim_1_pos = 2102

set osd_tim_2_pos = 2134

set osd_flymode_pos = 2456

set osd_throttle_pos = 2424

set osd_current_pos = 2401

set osd_mah_drawn_pos = 2434

set osd_craft_name_pos = 2441

set osd_disarmed_pos = 2346

set frsky_spi_tx_id = 189,24

set frsky_spi_offset = -58

set frsky_spi_bind_hop_data = 5,163,88,13,173,98,23,183,108,33,193,118,43,203,128,53,213,138,63,223,148,73,233,158,83,8,168,93,18,178,103,28,188,113,38,198,123,48,208,135,58,218,143,68,228,153,78,0,0,0

profile 2

set dterm_notch_cutoff = 0

set vbat_pid_gain = ON

set dterm_setpoint_weight = 254

set pidsum_limit = 1000

set pidsum_limit_yaw = 1000

set throttle_boost = 8

set p_pitch = 55

set i_pitch = 55

set d_pitch = 45

set p_roll = 45

set d_roll = 40

set p_yaw = 90

set p_level = 105

set i_level = 100

set d_level = 45

profile 2

rateprofile 0

set roll_srate = 80

set pitch_srate = 80

set yaw_srate = 84

rateprofile 1

set roll_rc_rate = 0

set pitch_rc_rate = 0

set yaw_rc_rate = 207

set roll_srate = 0

set pitch_srate = 0

set yaw_srate = 0

set tpa_rate = 20

set throttle_limit_type = CLIP

rateprofile 2

set roll_srate = 80

set pitch_srate = 80

set yaw_srate = 84

rateprofile 3

rateprofile 4

rateprofile 5

rateprofile 0

save

DIFF with Annotations

I decided to annotate the DIFF so you can understand the features and enhancements

# DIFF ANNOTATED

//Since I do Idle Up in Angle Mode, I make sure Motor Stop is turned off//

feature -MOTOR_STOP

//This is just personal preference here on beeper//

beeper -GYRO_CALIBRATED

beeper -RX_LOST

beeper -RX_LOST_LANDING

beeper -DISARMING

beeper -ARMING

beeper -ARMING_GPS_FIX

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

beacon RX_LOST

//These are my settings for my Taranis QX7, yours might be different//

map TAER1234

aux 0 0 0 1375 2100 0

aux 1 1 1 1325 1675 0

aux 2 2 1 1700 2100 0

aux 3 28 2 1400 1575 0

aux 4 30 1 900 2100 0

aux 5 35 2 1625 2100 0

adjrange 0 1 1 1425 1575 12 1 0 0

rxrange 0 988 2012

rxrange 1 988 2012

rxrange 2 988 2012

set min_check = 1000

//This is new in Betaflight 3.4 and above and recommended by ctzsnooze the Betaflight dev who worked on it.//

set rc_interp_ch = RPYT

set rc_smoothing_type = FILTER

//This is less than half of your camera angle.  Mine tilt is 30 degrees and I use 10.  This is the magic parameter that mixes pitch and roll into yaw and makes your turning super sharp.  The lower this number the more you have to mix pitch and roll with yaw//

set fpv_mix_degrees = 10

//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

//They might have fixed D16, but I still recommend using D8//

set rx_spi_protocol = FRSKY_D

//I use this number so that when I use Idle Up, my motors start spinning at zero throttle//

set dshot_idle_value = 509

//You use DSHOT300 so you can use Turtle Mode//

set motor_pwm_protocol = DSHOT300

//These two setting replace "Throttle Mixing" in older versions of Mockingbird.  This is much more accurate and in brushed I think it adds more power.  The value is the "power" you want to your pitch and roll (how much throttle is added).  Don't change this too much, but I think 3 is about right.  You'll find yourself not having to throttle through things as much, you'll just pitch, roll and yaw and the power will be there.//

set thr_corr_value = 3

set thr_corr_angle = 550

//I use 250 and 260 batteries, so I just set this to 255 to be inbetween and it's pretty accurate//

set bat_capacity = 255

set vbat_max_cell_voltage = 45

set vbat_min_cell_voltage = 28

set vbat_warning_cell_voltage = 30

//This is "props out" and I set up all my quads this way.  On Whoop sized craft it helps with cornering.  You also have to go into BLHELI Suite and reverse motors there for you stock UR65//

set yaw_motors_reversed = ON

//Used for Angle Mode so you can arm at any angle//

set small_angle = 180

//My personal preferences for OSD (mainly for testing)//

set osd_vbat_pos = 2115

set osd_rssi_pos = 2083

set osd_tim_1_pos = 2102

set osd_tim_2_pos = 2134

set osd_flymode_pos = 2456

set osd_throttle_pos = 2424

set osd_current_pos = 2401

set osd_mah_drawn_pos = 2434

set osd_craft_name_pos = 2441

set osd_disarmed_pos = 2346

//This is from the stock hex for SPI//

set frsky_spi_tx_id = 189,24

set frsky_spi_offset = -58

set frsky_spi_bind_hop_data = 5,163,88,13,173,98,23,183,108,33,193,118,43,203,128,53,213,138,63,223,148,73,233,158,83,8,168,93,18,178,103,28,188,113,38,198,123,48,208,135,58,218,143,68,228,153,78,0,0,0

//PID and RATES SECTION//

profile 0

set dterm_notch_cutoff = 0

//this adjust's PIDs as the battery weakens//

set vbat_pid_gain = ON

//This will make your sticks "snappier".  If you find it too twitchy, reduce to 1//

set dterm_setpoint_weight = 254

//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 = 8

//My UR65 PIDs//

set p_pitch = 55

set i_pitch = 55

set d_pitch = 45

set p_roll = 45

set d_roll = 40

set p_yaw = 90

//p_level is the "Angle Strength" i_level is the "Horizon Strength", and d_level is the "Horizon Transition"//

set p_level = 105

set i_level = 100

set d_level = 45

//These are my Horizon Rates and are controlled by the Adjustments tab when I switch modes//

rateprofile 0

set roll_srate = 80

set pitch_srate = 80

set yaw_srate = 84

//These are my Angle Rates and are controlled by the Adjustments tab when I switch modes.  Since Pitch and Roll rates are controlled by "Angle Strength" and "Angle Limit", there is no need to add rates for anything other than yaw//

rateprofile 1

set roll_rc_rate = 0

set pitch_rc_rate = 0

set yaw_rc_rate = 207

set roll_srate = 0

set pitch_srate = 0

set yaw_srate = 0

//this is to control mid-throttle oscillation//

set tpa_rate = 20

//This is another brushed trick to get more power from the motors.  It seems to help in brushless too//

set throttle_limit_type = CLIP

////These are my Acro Rates and are controlled by the Adjustments tab when I switch modes//

rateprofile 2

set roll_srate = 80

set pitch_srate = 80

set yaw_srate = 84

rateprofile 3

Step Four - Custom Throttle Curve

One of the things that you learn with the UR65 is that it has most of its power past 50% throttle.  While you can fly it without any curve, I feel it’s easier to fly it with a custom throttle curve.  There are two ways to set it up, shown below.


Taranis QX7 Throttle Curve

This is the curve I use for my 16 and 17k setup. Create a new 7 point curve with these settings and choose it for Throttle.  
NOTE: For 19k, DON’T USE THIS CURVE!  Please only use the Betaflight curve below.

Betaflight

You can use Throttle in Betaflight on the PIDs tab, but I only use it on 19k to feel right and don’t use both the Betaflight AND Radio Curve, just use one.

Throttle Mid: 1.0

Throttle Expo: .95

UPGRADES

Basic Upgrades to the UR65

If you don’t do anything else or are afraid to mess with too much, these are the basic upgrades to make the most of the stock UR65

  • Eachine Quad Props
  • Reducing inner hub of props so they sit on top of motor bell, providing more thrust

  • Dab of E6000 on the battery tray to hold batteries in
  • Hot glue the camera in place
  • BetaFPV 300maH HV batteries - increase flight time to 3:30 hard flying and you don’t notice the weight

Lightened Upgrade to UR65 - under 20g

If you want to push even further, you can reduce the weight of the UR65 to sub 20g and it really comes alive

  • Same steps as above
  • Replace UR65 canopy with lighter canopy and save a gram!
  • I use a NotFastEnuf Shanghai canopy, but I don’t know if he is selling them any more
  • Replace metal motor screws

Lightened FASTER Upgrade with same flight time

Shockingly, the 19k motors from Happy Model give you the same flight time, but perform much better than the stock motors and make Acro really enjoyable.  I know Eachine is shipping their version of the UR65 with 19k and if it’s the same quality as the UR65, it would be my choice.

  • Same as above, but with Happy Model 19k 0603 motors
  • You get much better performance but the same flight time

Lightened Long Flying Angle Racer

This setup will give you 4 minutes plus flights and will beat most brushed Whoops on an Angle Racing course.  It’s not the best at Acro Freestyle, but you can do basic tricks

  • Same as above, but with BetaFPV 16k 0603 motors
  • You get pretty good performance and excellent battery life.
  • NOTE: the BetaFPV motors  mount differently on this frame, so just be aware.  With the nylon screws it fits really nice, otherwise you should use the screws that come with the motors.
  • NOTE: These are 1mm shafts, so you will have to drill out or buy 1mm props

Who is Project Mockingbird?

patrick j. clarke “qreacher” (pronounced “creature”) ;)

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