I have recently finished building my own custom designed drone after flying DJI FPV for more than a year. My first flight ended in catastrophic full-throttle crash inside my garage and I've spent the last couple of days trying to figure out why, but I'm now running out of places to look. Being new, I know it is going to be something silly so I hope the experts can quickly point out my error. Below is the steps I followed to setup my drone and the blackbox debugging I've done since.
It is a 6" drone using VTX/RX: DJI O3; ECS: Speedy Bee 55A BLHeli_S 4-in-1; FC: Speedy Bee F405V4.
I used BetaFlight Configurator to connect to the drone and went through the setup process verifying: sensor orientation; motor position and direction; receiver channels. I configured an AUX channel on my DJI remote for arming.
I powered up my drone and slightly increased throttle. It hovered beautifully for a couple of seconds and then very suddenly went full throttle and crashed very hard. I replaced the one broken arm and continued fault finding for the last couple of days.
I used black box with the drone on the bench with props disconnected and ran some basic tests.
I found that the drone would respond correctly when no stick inputs while I manually rotated it. It would correctly adjust the motors given the angular rate.
I also found the same when keeping the drone still and applying stick inputs.
The fun started as soon as I applied throttle. The PID I values started incrementing while the gyros and rcCommands are all zero. The motors just ran away and I have to disarm.
It seems that applying throttle results in some measurement, causing the PID to accumulate, and I get run-away.
Attached is my blackbox file showing this happening. I've cut throttle at 1:41. From that point on, rcCommands are zero and gyros are zero but the motors keep spinning up.
Why would this happen, and what do I need to fix it?