This guide will show you how to install BetaFlight on your Kiss FC.

When I told flyduino.net we were interested in supporting the KissFC in BetaFlight, the were kind enough to mail me one. At the same time, I wasl talking to Joshua and he also send me a KissFC! Thx guys. Y'all are the best. I'm going to pass one of the KissFC's on, so we have some more developer's with one in their arsenal.

Pinout

Motor order

BetaFlight Motor Number -> KISSFC PAD LABEL
1 -> 3
2 -> 2
3 -> 4
4 -> 1
5 -> 5
6 -> 6

Where KISSFC PAD is the label next to the pad on the flight controller and the BetaFlight Motor Number is given by the motor order diagram:

PPM

Wire your PPM receiver like this.

Green -> Signal
Red -> 5v
Blue -> GND

Then enable PPM in the BetaFlight Configurator on the Configuration tab under Receiver Mode.

Hit save and reboot and check that your receiver is working in the Receiver tab.

Serial RX

Wire your Serial RX receiver like this.

Green -> Signal
Red -> 5v
Blue -> GND

Then enable Serial RX on UART1:

Hit save and reboot, then enable Serial RX and select the correct protocol, I'm using IBUS:

Hit save and reboot and check that your receiver is working in the Receiver tab.

Flashing

First, download the latest BetaFlight release and the STM32 DFU Flash tool. The DFU download link is at the bottom of the page. It may be possible to flash the BetaFlight hex with the BetaFlight configurator, but I couldn't get it to work. Instead, I'll use the DFU flash tool for the first flash. After that, the BetaFligth configurator worked fine for me.

Install the DFU software by unzipping the download and following the walk through. Launch the DFU flash tool and you should see:

Under "Upload Action" click "Choose" and find the BetaFlight KISSFC .hex file you downloaded. You'll need to change the allowable file type to All Files

Plug in the board while holding the boot button. Click upload, accept the warning and you should see:

Ok, even though the flashing worked, we're not done yet. You'll need to open the BetaFlight configurator and flash the KISSFC as you would normally. I'll choose Full chip erase as well, just to be safe.

When you're done, the board should reboot and you can connect.

SWD

SWD is the debugging interface which is used for stepping through instructions while developing software for the flight controller.

Debugging pins are:

AUX1 (PA13) -> SWDIO
AUX2 (PA14) -> SWDCLK

Here's how to wire it:

Note that pwm inputs matching these pins must be disabled. Change:

target.h:

#define USABLE_TIMER_CHANNEL_COUNT 10

target.c:

    { TIM2,  IO_TAG(PB11), TIM_Channel_4, TIM2_IRQn,               0, IOCFG_AF_PP, GPIO_AF_1},
    //{ TIM4,  IO_TAG(PA13), TIM_Channel_2, TIM4_IRQn,               0, IOCFG_AF_PP, GPIO_AF_10},
    //{ TIM8,  IO_TAG(PA14), TIM_Channel_3, TIM8_CC_IRQn,            0, IOCFG_AF_PP, GPIO_AF_5},
};