Having problems holding altitude

i_build

Member
I just built the PEON 230 3D printed frame using an iFlight Succex mini f7 and 4 in 1 esc and ReadyToSky MT2204 2300KV with 5045 props running 3s.

It's my first build and first time flying (outside of 2 hort flights with a DJI Mavic).

After snapping my frame in half on a tree and reprinting... I purchased a PS4 Sim and have been practicing.

Just came back from the park and what I am having a real hard time doing is holding altitude... I'm assuming that if I let the left stick go... it should level off and stay near (not exact) to the altitude I am flying but I get gradual drops and raises. Slow drops all the way down unless I make corrections. I am using Angle mode to just start.

I am trying bidirectional dshot as well. I flew my friends DJI mavic a couple times and even in the sim game I don't have the same problem. I know DJI is using whatever proprietary technology including GPS so I dont think it's a fair comparison with Beta Flight... but even on the PS4 sim I don't have the same altitude problems.

I didnt want to mess with PIDs yet... I did confirm that the remote centers off at 1500 when I let go for all stick movements and holds rock steady in Beta Flight.

It's just to hard to fly trying to keep altitude and fly... maybe I just need more flight time... maybe its the frame I printed if there's a better one?... maybe its in my settings somewhere.

Below is my diff all... I do have a gps installed as well as a vtx and camera all working.


# diff all

# version
# Betaflight / STM32F7X2 (S7X2) 4.2.9 Apr 27 2021 / 19:34:29 (e097f4ab7) MSP API: 1.43
# config: manufacturer_id: IFRC, board_name: IFLIGHT_SUCCEX_E_F7, version: c7fde51e, date: 2020-08-26T04:30:34Z

# start the command batch
batch start

# reset configuration to default settings
defaults nosave

board_name IFLIGHT_SUCCEX_E_F7
manufacturer_id IFRC
mcu_id 002b0033345650122030324b
signature

# name: DannysDrone

# feature
feature GPS
feature TELEMETRY
feature RSSI_ADC
feature ESC_SENSOR

# serial
serial 0 2048 115200 57600 0 115200
serial 3 2 115200 57600 0 115200
serial 4 1024 115200 57600 0 115200

# aux
aux 0 0 0 950 1075 0 0
aux 1 1 1 925 1075 0 0
aux 2 2 1 1425 1575 0 0
aux 3 47 1 1900 2100 0 0

# vtxtable
vtxtable bands 5
vtxtable channels 8
vtxtable band 1 A A CUSTOM 5865 5845 5825 5805 5785 5765 5745 5725
vtxtable band 2 B B CUSTOM 5733 5752 5771 5790 5809 5828 5847 5866
vtxtable band 3 C C CUSTOM 5705 5685 5665 5665 5885 5905 5925 5925
vtxtable band 4 D D CUSTOM 5740 5760 5780 5800 5820 5840 5860 5880
vtxtable band 5 E E CUSTOM 5658 5695 5732 5769 5806 5843 5880 5917
vtxtable powerlevels 4
vtxtable powervalues 25 200 400 600
vtxtable powerlabels 1 2 3 4

# master
set dyn_notch_width_percent = 0
set dyn_notch_q = 250
set dyn_notch_min_hz = 90
set dyn_notch_max_hz = 350
set acc_lpf_hz = 1
set acc_trim_pitch = 72
set acc_trim_roll = 8
set acc_calibration = -57,-13,129,1
set serialrx_provider = IBUS
set dshot_bidir = ON
set motor_pwm_protocol = DSHOT300
set failsafe_procedure = GPS-RESCUE
set align_board_yaw = 90
set yaw_motors_reversed = ON
set gps_provider = UBLOX
set gps_sbas_mode = AUTO
set gps_auto_baud = ON
set gps_rescue_allow_arming_without_fix = ON
set pid_process_denom = 2
set osd_vbat_pos = 39
set osd_rssi_pos = 46
set osd_rssi_dbm_pos = 2452
set osd_remaining_time_estimate_pos = 2434
set osd_ah_pos = 2126
set osd_gps_speed_pos = 2456
set osd_gps_sats_pos = 2425
set osd_home_dir_pos = 2113
set osd_altitude_pos = 2401
set osd_battery_usage_pos = 2439
set vtx_band = 2
set vtx_channel = 3
set vtx_power = 1
set vtx_low_power_disarm = ON
set vtx_freq = 5771
set gyro_1_align_yaw = 1800
set gyro_rpm_notch_harmonics = 1
set name = DannysDrone

profile 0

profile 1

profile 2

# restore original profile selection
profile 0

rateprofile 0

rateprofile 1

rateprofile 2

rateprofile 3

rateprofile 4

rateprofile 5

# restore original rateprofile selection
rateprofile 0

# save configuration
save
#

 
There's a lot to unpack, but I'll give my opinions.
A 3D printed frame is not going to prove very durable for a freestyle based build. As you see, it doesn't handle crashes. That's not to say it won't fly though, so keep at it.
I'm guessing you are using a standard RC radio system. A sim that doesn't allow you to use a proper radio isn't giving you the right stick time IMO. I use Liftoff.
As you say, you have to make corrections to maintain altitude. Once you add pitch or roll, you'll need to add throttle since the thrust direction has changed. Once you're using acro mode you'll find that, as minimal as they sometimes are, you'll need to be adjusting all four inputs.
I too spent some time in angle mode. As is said, it develops habits that'll need to be broken. I put acro on a switch and got comfortable with switching back and forth based on my level of panic.
Keep at it. Don't be afraid to ask questions. There's lots of folks here that'll help.
 
I am also using liftoff and did the training in acro mode... albeit I am definitely a far cry from being good.. I agree... the shift from the PS4 controller to my FLYSKY FS I6 is definitely a change I have to get used to... but outside of that... my quad just doesnt feel like its performing as well as the ones in the game.

I have tried to fly Joshua's back yard and I fly like Stevie Wonder would compared to the videos JB posts (although I am getting better)... I just lowered my filtering in the rates tab from 1 to 1.5 and flew a pack... motors stayed cool and it did feel better. I have Acro and horizon on one of my switches just haven't had the guts to try it yet on my build... as opposed to the sim.

On top of that I am only doing line of sight which is not what I do on the sim... I still panic when I put the goggles on and loose track of where I am.

I'm 51 and its been a life long dream for me to fly a plane or ultra light but it's my passion after watching some of the videos to just fly my quad like that in FPV... not for racing... but just to enjoy it... just getting a little down in spirits cause I'm not doing so well at picking it up.

Thanks for your advice.

Not sure if it matters... I do understand that changing pitch or roll will require throttle adjustment... but even indoors with no wind... if I get to a point where the drone is stationary 7 feet in the air and don't adjust throttle it will eventually either go down close to the floor or up to the ceiling on its own... I can adjust throttle a bit up or down to keep it level but that is what I was thinking the PID loop corrected for based on the height reading from the sensors... I would have thought it would spin up or slow down to maintain a static height or attempt to... if that assumption is correct... I would understand the hoover dropping maybe a foot or a few inches and attempting a correction... but the quad will basically either go just about down to the floor... or up to the ceiling... without any attempt to auto correct... unless I intervene with the throttle... maybe that is just expected behavior and I am thinking about that wrong... or maybe something is faulty in my settings or hardware...
 
Last edited:
Unfortunately it's the thinking that's wrong. You would need a barometer on the flight controller & an altitude hold mode in the software.
Regarding all the other settings, I leave it alone mostly. I add a little expo to the sticks, and set my rotations a little slower @ 600 per second.
Same thing in Liftoff. Slowing the rotations will make it more flyable.
 
Yup the expectation of altitude hold is just not a thing without some considerable work on the part of the person building and configuring things. You may want to check out iNav firmware as well can normally flash it onto modern betaflight compatible FCs but it is focused more on things like altitude hold and waypoint missions based on gps control whereas betaflight is more geared towards people flying more manually and doing either acrobatic style flights or racing. If looking for something with more hands off or high level control then iNav is probably the right direction to look (I've only done basic config of iNav on a hexacopter build but haven't done waypoint missions with it myself just some manual flight). Anytime doing manual flight you have to get used to adjusting the throttle as you pitch or roll to account for loss in downward thrust, the throttle stick is literally throttle controlling the average power/lift not an altitude control. The DJI FPV quad has a mode for what you're saying but it depends on more sensors then just a gyro/accelerometer on our FC you'd need a range finder (ultrasound or infrared) or a barometer or gps or something else that gives altitude and then need to use a firmware that "knows" (is configured for) how to use said sensor.
 
Thanks! will read up on iNav sounds interesting and more inline with what I am looking for.

Helps also when you dont think that the term 'Mode' is normallized in betaflight... as I assumed a single 'Mode' would be active at any time so I disabled 'Air' mode considering that it would conflict with Acro, Horizon, and Angle, Modes... then learned today that it is is a separate function and should be on for more stable flight. NEWB mistake... but it does help.

The specs for my FC does mention having a barometer and it is enabled in betaflight... I guess Betaflight does not use it for any altitude stabilization purposes... I read that at one point there was an attempt from the Betaflight Devs to code something for it but I also read it fell short. Not sure what it's coded in... but will probably pull some source tonight and snoop through... probably well above my head as I have been developing business software since 1990 and know very little about flight as shown in my skills thus far... but worth a look I guess.

Below is what is listed as a barometer for my FC,

- Baro: BMP280(I2C)

& Thank you Badfish... lowering the rates also lowered my rate of discouragement... good tip!
 
Last edited:
Got exited about iNav... but my board is not supported unfortunately. It does seem more suited for what I want. I see there have been a few requests made for them to support IFlight_succex_e_f7...
 
Bummer your FC isn't supported there but good to be aware of that option I think. Practicing throttle control to maintain altitude while flying is definitely a challenge, but once you get the hang of it it becomes part of the fun being able to dive or take banking turns etc. but is a somewhat steep learning curve with a lot of expensive rebuilding. If haven't already suggest getting velocidrone or lift off flight simulators on your computer and get your tx working hooked up to it as a "USB joystick" will save yourself a lot of time and money by learning some basics in sim.

Also lots of good guided on YouTube check out Joshua Bardwell's channel and/or flitetest and/or rotor riot, lots of fpv pilots with playlists of learning to fly.
 
I dont know what the heck happened but during a 2 hour session of lift off in acro mode with no altitude hold... something clicked and instead of controlling the sticks I started banking and dipping through tunnels and windows stuff that I thought I could never do... it's like it just became natural... I dont get it... but I really like it... wont do it with my quad just yet and I hope it doesn't go away but I can't explain it it just started to become instinct!
 
Yup it's weird how you go from having to think about every little correction to being able to just fly and think of where you want to go and have it happen, longer term can practice tricks in there like power loop or split-s and get the stick motion down before tinkering around in real life, glad it's all been working out pretty well (or you've jumped the hurdles) so far!
 
Back
Top