This page has deprecated and will be archived. Please go to https://www.bitcraze.io/.

Using an ESKY ET6I Remote Control for flying

The ESKY ET6I Remote Control is compatible to the Crazyflie as they share the same radio chipset. In order to use the RC instead of the Crazyflie PC Client, you'll have to compile the firmware with ESKYLINK support. You can do this in the VM, just open a terminal and issue the following commands:

cd ~/projects/crazyflie-firmware
make clean && make USE_ESKYLINK=1 CLOAD=1 all

This will create a new firmware file cflie.bin that you can flash to your Crazyflie via the Bootloader in the PC client.

If you do not want to build the firmware on your own, you can use the newest precompiled binary from here: cflie_20140801_eSky.bin

You'll have to make some adjustments on your RC in order for this to work. First, take a look into the battery compartment of your RC. There you'll see two switches. Make sure switch 1 is set to on and switch 2 is set to off (this disables the channel mixing the RC normally applies in order to work with the helicopter models it came bundled with):

Then close the battery compartment again and take a look at the lower right front of your RC. There are four switches, one each for AILeron, ELEvator, THRottle and RUDder. You'll have to adjust these, depending on your RC's Mode. If you have a Mode 1 RC (throttle and rudder on the right stick) the correct setting is AIL-up, ELE-down, THR-up, RUD-down. If on the other hand you have a Mode 2 RC (throttle + rudder on the left stick) you'll need to set those switches to AIL-down, ELE-up, THR-down, RUD-up.

With this done and your Crazyflie reflashed with the ESKY-enabled firmware, startup your Crazyflie, then after the steady heartbeat from the red led indicates that it's done, make sure your throttle stick is all the way down and then switch on your RC. Crazyflie and RC should now bind and your Crazyflie should react to your RC's input.

:!: Careful :!: When your Crazyflie is flashed in ESKY mode, be careful to not switch on the RC when your Crazyflie is connected to the USB cable for charging. It will bind to the RC and it will react to any (accidental) RC commands you give it, including trying to fly away with the USB cable still attached.

Features of the eSky-Firmware

Since the first version of the eSky binary a lot have changed. The control before was slowish and non-adjustable. With the new version you can adjust the sensitivity of the controller by turning the CH5 knob of the ET6I-transmitter. The higher the position of the knob, the faster the crazyflie will react to movements and the speed and turning angles will be increased (increased overall sensitivity).

This sensitivity will be interpolated from the min. and max. values, based on the CH5's knob position.

#define M_YAW_MIN       200.0/PPM_RANGE
#define M_PITCH_MIN     25.0/PPM_RANGE
#define M_ROLL_MIN      25.0/PPM_RANGE
#define M_THRUST_MIN    60000/(2*PPM_RANGE)

#define M_YAW_MAX       260.0/PPM_RANGE
#define M_PITCH_MAX     90.0/PPM_RANGE
#define M_ROLL_MAX      90.0/PPM_RANGE
#define M_THRUST_MAX    85000/(2*PPM_RANGE)

Important: To use the sensitivity control you have to set the GYRO.SW (Gyro-Switch) to 0, then you can adjust the sensitivity value. If the GYRO.SW is set to 1 the lowest sensitivity will be used.

Contribution to the interpolation, the remove of the slowish movement and adjusting & code finalising: jodell, dfff180, Oxydation