Some of you may have seen my thread from a few days ago about my Solo crashing on takeoff. As it turns out, the crash was due to the controller sending bad data. Even though the sticks were in the center, it was telling the Solo to pitch backwards wildly. The Solo did exactly that immediately after lifting off the ground, causing a nice crash in which I broke all four props.
Luckily some disconnecting/reconnecting pots inside the controller and a software reset seemed to fix the problem, but what surprised me is that there is no way I could have detected the problem and prevented the crash (at least not with some substantial testing beforehand using Mission Planner).
So I used DroneKit to make a Python script that will sanity check all the RC channels. You run the script, then flail the sticks around wildly for 10 seconds. As long as every channel exhibits sufficient change over that 10sec, it'll tell you it's safe to arm. If any one channel fails, you'll get a very large message telling you not to arm the copter, because armageddon will likely follow.
It's surprisingly convenient to use thanks to the remote commands feature inside the Solex app. All I have to do is push "Quick Stick Test" under the "Commands" panel in Solex, and move the sticks around. Then after 10 seconds, assuming all goes according to plan, I get a nice "SAFE TO ARM!" message on Solex, and a goodly dose of peace of mind.
I've open-sourced all the software behind this (only 2 python scripts) so if you'd like to install it on your Solo, it's very easy, and you can find more detailed instructions here. If you have questions about installing it, feel free to reply to this post and I'll help you out.
StickEmUp - Sanity Check for 3DR Solo Transmitter
Luckily some disconnecting/reconnecting pots inside the controller and a software reset seemed to fix the problem, but what surprised me is that there is no way I could have detected the problem and prevented the crash (at least not with some substantial testing beforehand using Mission Planner).
So I used DroneKit to make a Python script that will sanity check all the RC channels. You run the script, then flail the sticks around wildly for 10 seconds. As long as every channel exhibits sufficient change over that 10sec, it'll tell you it's safe to arm. If any one channel fails, you'll get a very large message telling you not to arm the copter, because armageddon will likely follow.
It's surprisingly convenient to use thanks to the remote commands feature inside the Solex app. All I have to do is push "Quick Stick Test" under the "Commands" panel in Solex, and move the sticks around. Then after 10 seconds, assuming all goes according to plan, I get a nice "SAFE TO ARM!" message on Solex, and a goodly dose of peace of mind.
I've open-sourced all the software behind this (only 2 python scripts) so if you'd like to install it on your Solo, it's very easy, and you can find more detailed instructions here. If you have questions about installing it, feel free to reply to this post and I'll help you out.
StickEmUp - Sanity Check for 3DR Solo Transmitter