Drone Racing: Programming a Flight Controller

Drone Racing: Programming a  Flight Controller

Simple, easy and quick setup tips
After you’ve installed all of the equipment into your multirotor, the next step is to program the flight controller. This may appear to be a daunting task, but if you just follow the steps outlined here you will find that this process is simple, easy and quick. Plus most controllers have a good variety of programming options that let you tweak the multirotor’s controls to fit your flying style.

The right connection
The first step is to make sure you have the right receiver channels connected to the correct flight controller channels. The order will generally be aileron, elevator, throttle and rudder. The 5th and 6th channel will be connected to three-way switches on your transmitter and used for flight mode and flight orientation. S-bus receivers make this process easy because only one plug needs to be installed between the receiver and flight controller.

Software installation
With the receiver and flight controller properly connected, the next step will be to download the appropriate controller software. Most controller software programs are set up to run on personal computers. With the software downloaded and installed, connect the flight controller to the computer with a micro or mini USB plug. Start the software and plug the battery into the multirotor so that there is power to the receiver, which can now communicate with the transmitter. (It’s a good idea to do this before you’ve installed the propellers on your multirotor).
First step is to let the program know what type of multirotor you have (3-, 4-, 6- or 8-blade). Then you can move on to setting up the stick controls. Many programs have a transmitter monitor that shows the stick movements in relationship to the controller. By watching the monitor while you move the sticks, you can instantly see if all of the channels are connected correctly and if any of them need to be reversed. Some controllers require a stick calibration so the flight controller knows just how far your transmitter sticks travel. If that’s needed, the program will guide you through the steps. When all of the stick channels are correctly synchronized, you can move on to programming the switches.

Multirotor stabilization
The switches can be used to program in stabilization modes, flight modes and various other functions depending on what you have attached to the multirotor, which could include camera gimbals, retractable landing skids or motor cutoff.
The main switch that needs programming is the one used for stabilization mode on the multirotor; this is generally programmed to one of the three-way switches. I like to program in GPS mode, altitude hold mode, and manual mode. Again, the transmitter monitor in the flight controller program will show what switches are activating these modes, and if necessary they can be changed or adjusted. If you would like a certain switch for this function, program it through your transmitter menu for that channel. I usually need to change the endpoints of that channel on the switch to coordinate the proper switching parameters on the controller. While the programming itself is done in the transmitter menu, by watching the transmitter monitor on the flight controller program you can easily see when the correct parameters are achieved.

It’s important to make sure the correct channel from the receiver is connected to the correct channel on the flight controller.

It’s important to make sure the correct channel from the receiver is connected to the correct channel on the flight controller.

 

Flight modes
The second main switch to be programmed is generally for flight modes. Each controller manufacturer has a different name for flight orientation, or flight modes. There are three main ones.
Nose lock. The flight orientation is always based on the nose of the aircraft.
Course lock. Orientation is established when the multirotor starts up and continues in that orientation regardless of which direction the nose is pointed during the flight. For example, if you were standing directly behind the multirotor when it took off, it would not matter which direction the nose of the aircraft was pointing during the flight, the transmitter stick orientation would always remain the same.
Home point orientation. This flight mode uses the point of takeoff as its absolute orientation regardless of the flight position of the aircraft. In this position, if you input right or left, the multirotor would circle around the point of takeoff.
Setting up this three-way switch is exactly the same as setting up all others: adjust the end-points of the switch in the transmitter menu while looking at the program’s transmitter monitor. After you have finished setting up the switches, label the position and relevance of each switch.

Keeping it level
Some flight controller programs allow you to see the orientation and horizon of the aircraft and adjust it accordingly. This ensures that the stabilization programing is working in the correct direction. Another feature will allow you to independently start up each of the motors to check that each one is moving in the correct direction. If it is not, just switch two of the three wires coming from the speed control to reverse the direction of the motor.

screen

In the end
These are the main programming features you will need to adjust to get your multirotor in the air. Always thoroughly read the manual for your flight controller and follow its recommendations. Don’t be intimidated by flight controller programming, it is often easy and can customize your multirotor to make flying it that much more enjoyable.

2 Comments

Add a Comment
  1. hi, question you might be able to answer for me.

    Im building a UAV that will fly itself without the inputs from a radio receiver on the ground.

    my question is, what input format do most flight Controllers software (clean flight) listen for? for example, when you make a UAV move to the right with a traditional remote control, what raw code input does the FC read from the receiver, directional (north, south etc) or x y corrinates ?

    also is it possible to hard wire navigational inputs into a FC as opposed to Radio receiver?

    1. You definitely don’t want to feed it raw rc inputs like that. Upgrade your autopilot to ArduPilot which is designed to do automated tasks like that.

Leave a Reply

Your email address will not be published. Required fields are marked *

Air Age Media ©
WordPress Video Lightbox Plugin
RotorDrone