Browse over 10,000 Electronics Projects

Let’s Build an Open Source Quadcopter – Part 2

Let’s Build an Open Source Quadcopter – Part 2



Let’s complete the construction of our aircraft and test it.


Now that you have physically created the quadcopter – according to the indications supplied in the first installment of this article (published here) – you may move on to the operational stages, and see as a first thing the commands available for our radio model and the customized settings in the remote control.


Commands via radio and calibrations

You have different commands available, that may be directly sent from the radio without the need to use the telemetry. Once the quadcopter has been powered, the propellers remain still and the motors are not powered; they are therefore “unarmed”. In order to give the commands and to carry out the calibrations you have to “arm” the quadcopter; that means to bring the propellers to the minimum rotation speed, while waiting for the climb command. We will see the commands that is possible to give as follows.

  • Arming the quadcopter: this command is given with the right stick at the centre + the left stick down and on the right; the propellers will idly rotate. If the motors do not start and the LED remains turned off, there is a problem related to the receiver’s configuration. If the LED is turned on after the engines start procedure and they do not start, then the problem is to be attributed to one of the ESCs.
  • Disarming the quadcopter: the corresponding command is given with the right stick at the centre + the left stick down and on the left; the propellers will stop.
  • Gyroscope calibration: this command is given with the right stick down and with the left stick down and on the left; the status LED will turn on, and the buzzer will give off three beeps.
  • Accelerometer calibration: it is achieved with the right stick down and with the left stick up and on the left; the status LED will turn on and the buzzer will give off a beep.
  • Magnetometer calibration: this command is given with the right stick down and with the left stick up and on the left, the STATUS LED flashes quickly; you have about 30 seconds to rotate the quadcopter of at least 360° along all the three axes. Please start with the Z axis, the quadcopter being kept horizontal and rotated of 360°, then rotate it on the axis corresponding to the direction of travel (still with a 360° rotation) and, lastly, please carry out the rotation along the transverse axis. When the LED stops flashing (and the buzzer will stop giving off a beep), the calibration is ended and the corresponding data is saved in the EEPROM. The calibration must be executed with the quadcopter being far from every metallic element and operating electric component and, best of all, in an open field. If you are using the telemetry, the wireless one is better, otherwise the USB cable will get tangled.
  • Barometer calibration: actually this one is not necessary, since the reference value for the height is memorized, at the moment in which the BARO function is activated.
  • Accelerometer offset regulation (trimmer): this is given with the left stick up; with the right stick it is regulated (up, down, right, left). The STATUS LED will flash at every step.


Operating modes

The quadcopter supports different flight modes, depending on which sensors are used in the stabilization. We will describe them as follows.


  • Arm (Acro Mode); this is the basic mode, having only the gyroscope available. No other sensor helps in the stabilization and therefore the control by means of the remote control is essential. It is possible to carry out sudden maneuvers and quick flights, but the quadcopter is sensitive to each electromechanic imperfection, and there are no sensors to compensate the flight attitude. This is the default mode when the HORIZON and ANGLE modes are not activated.
  • Angle (Self Level Mode); also known as STABLE mode, it takes advantage of the accelerometer for the purpose of keeping the quadcopter levelled, that is to say: the tendency to drift towards whatever direction is compensated. The quadcopter is stable if the PID values are correct ones and the gyroscope and the accelerometer are calibrated.
  • Horizon; this mode uses the accelerometer and the gyroscope in order to keep the quadcopter levelled when the sticks are released (stable flight) but it leaves the chance to execute sudden maneuvers when the sticks are used.
  • Baro; when this mode is activated – by means of the reading of the barometric sensor – the quadcopter keeps his altitude unchanged. The accelerometer’s Z axis contributes to the stabilization, it also helps to sense the level variation.
  • Mag; the magnetometer is used so to maintain a specific direction, and it compensates the inevitable quadcopter drift that brings it to spin around itself. By acting on the YAW command it is possible to command the quadcopter’s direction, but by releasing the stick it will always return to the initial position.
  • Headfree (CareFree); this mode has been thought for the beginners, who are not used to “think” as the quadcopter does. This function uses the compass and the last known position, in order to command the quadcopter accordingly to the stick’s movement, and independently from the direction of the quadcopter itself. For the greatest part of the beginner pilots, in fact, it is difficult to direct the quadcopter if it is not perfectly aligned with the head and the front. If, as an example, the quadcopter goes towards the pilot and the latter moves the stick right, it will actually go to the left, since it is oriented with an angle of 180° with respect to the pilot. This mode is independent from the YAW control and the related stick may not be activated.
  • GPS Home; in this mode the GPS is used in order to return the quadcopter to the initial position. It is appropriate to activate this function along with other stabilization functions, and specially to keep a predetermined height, since the GPS is not very accurate.
  • GPS Hold; the quadcopter keeps the coordinates of the point in which the function was activated, and thanks to the altimeter it maintains the height.


In Table  you will find a summary of the various flight modes and the sensors needed in order to implement them. By means of the radio auxiliary channels it is possible to select the desired flight mode; this is done by means of a firmware routine that associates a specific mode to a given range of values of the PWM signal. In the CT6 radio transmitter, that we used in order to command the quadcopter, the auxiliary channels are managed via a potentiometer each, which makes it very inconvenient to set the operating modes by means of them; for this reason in the first installment we told you to substitute a potentiometer (it is better to substitute both) with a 3-position deviator of the ON-OFF-ON kind, that guarantees the safe correspondance between the lever’s position and the desired mode.





Once the modification is carried out, the selection of the operating modes is as follows:

  • AUX2 deviator with the lever down = ACRO mode;
  • AUX2 deviator with the lever in the centre = ANGLE mode;
  • AUX2 deviator with the lever up = ANGLE+BARO+MAG mode.


The definition of these functions is carried out by using MultiWiiConf and by clicking on the small squares corresponding to the function you want to activate.

Pages: 1 2 3 4 5 6 7 8 9