- Beakout boards
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.
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