KISS FC is a F3 flight controller designed by Flyduino for Mini Quad. In this post we will walk through the features of the KISS FC, compare it to CleanFlight/Betaflight, and explain briefly how to set it up.
Update Aug 2018: Flyduino has released a new KISS FC V2!
Get your KISS FC from Flyduino.
Sorry for the long post, it took me a long time to finally setup the KISS FC on my quad, and during the time I learned quite a lot about this FC. I hope this is useful to someone who are considering this flight controller.
Table of Content
- Hardware Spec
- Differences from Cleanflight
- Info about the software
- My Review
- Setting up KISS FC
- Things to Improve
Last Updated: 05/Mar/2016, Thanks to Artur Banach. for taking some of the beautiful pictures.
Specification and Hardware
I am not sure if KISS really stands for “keep it simple stupid” or “keep it super simple”, but the idea of this FC and its software are to make things simpler.
Here are the hardware features that the KISS flight controller offers:
- STM32 F3 MCU with MPU6050 Gyro/ACC
- Input voltage: 2-6S LiPo
- 6 motor outputs – supported frame configurations incluces Bi-copter, Tricopter, Quadcopter, Hexacopter
- Integrated 500mA 5V BEC (78M05G) – which means you can power the FC directly from LiPo battery, and the FC can power the RX too. Flyduino ensured us that this LDO is very immune to voltage spikes that could be caused by active braking. It also works as the VBAT pin
- Supports Telemetry data from KISS 24A ESCs (battery voltage, current or ESC temperature)
- Supports SBUS + Smart Port Telemetry (and several other radio receivers and telemetry)
- Reverse polarity protection
The KISS FC is a 32-bit flight controller with F3 processor, just like the SPRacing F3, LUX or Tornado. The KISS FC is currently using its own custom firmware, but because of the same processor, Cleanflight might be ported in the future. The hardware of the KISS FC is simple, no baro, no mag, no flash memory chip.
Size and Layout
The dimension of the board is 38 x 36 x 8.4mm (including connectors), and it weights 4.6g.
The mounting holes are 30 × 30mm, which is just 0.5mm smaller than other FC of similar size. That’s why you might find yourself having to push the FC down the nylon screws.
Similar shape to the LUX F3, both look like an “H”. It uses solder pads rather than traditional pin holes. I think the intention is to do wire direct soldering, rather than using header pins.
This FC is designed to be used with the KISS 24A ESC Race Edition. However it supports other ESC’s too. We wrote an article on using the KISS FC with BLHeli ESC.
With the ESC telemetry, it is able to report current draw, RPM and temperature of each ESC, which then can be displayed on the OSD.
There are dedicated pins on the FC that receive telemetry data, one for each ESC (TRX pin – between PWM pin and GND). They are using hardware serial on the processor.
Differences from other F3 FC
Most of the F3 Flight controllers these days run CleanFlight (CF) / Betaflight (BF), so we will compare the new KISS FC firmware with them.
I think the 2 main differences that are really matters to general users are: the support for ESC Telemetry, and Felix’s custom firmware. (Felix – designer of KISS FC). In my opinion the differences in firmware are:
- CF and BF are open source, while KISS FC firmware is closed source.
- Some say there are too many features in Cleanflight that are unnecessary (for racing mini quad). In KISS GUI, there are only 2 tabs with the most basic settings
- In CF there are complex CLI commands and parameters, and there is no CLI in KISS
- Frequent Betaflight and BLHeli Updates – Betaflight is great, it really gives you great performance, but unfortunately the experimental nature of the firmware means there will be frequent updates. Constantly keeping up with the rapid development is a pain if you just want to fly
- BF and Raceflight are trying to run as fast as they can with looptime (where Raceflight is doing 8khz at the moment). KISS FC still runs at 1Khz and reportedly having good result
The firmware is written from scratch, and the PID controller is complete float point based. But there is no alternative PID controller choices like those in Cleanflight.
PID values has lots of decimals, that’s good for fine tuning.
GUI – KISS FC’s Configurator
Just like Cleanflight, KISS FC uses a Chrome APP to configure the KISS FC. There are only 2 tabs currently (Configuration and Data Output), and there is no CLI commands at all.
In comparison, here is the GUI from Cleanflight. It’s just amazing how many tabs there are now :) Some people love it some don’t.
There is also handy feature where you can choose your air frame in the GUI (either pre-sets or uploaded by other users), and it will populate PID settings for you. However not everyone uses the same motor, ESC, props so that might not be the most useful thing.
There is software filtering option in the GUI. If your quad has bad vibration that you cannot tune out with PID, you can try to increase the filter to reduce the noise. Here is more info about how to setup the filter.
Telemetry now works with several systems including Frsky, Jeti and Graupner. Some others are being worked on at the moment including the D4R-II.
Flyduino has also written a custom firmware for the Micro MinimOSD, which they also sell (their own version). I bought some micro MinimOSD from Banggood they work just fine. Here is how I setup minimOSD for KISS FC.
Currently there is no support for OSD menu like the one in MWOSD, where you can change PID and rates, even OSD settings using your TX.
My thoughts about KISS FC
Right now, I don’t think KISS is better than CF/BF or vice versa, they each has its strengths and weaknesses.
There was a learning curve when I was learning to set up the KISS FC. But I think for a complete new user, the KISS FC approach might still be easier to learn thanks to the much simplified user interface.
Customer service is also excellent from what I have seen. Friends around me that has a problem with their KISS boards or ESC’s seem to always get taken care of.
However KISS FC is still in a very early stage, and for most users it’s not as simple as just “plug and play”. Hopefully this will improve soon as time goes on. It’s already looking much better now than than 3 months ago.
Software side of things
As a first time user, I find firmware update a bit inconvenient. In CF we can do it right in the Configurator, but with KISS FC you need do it with a third party program, that only runs on Windows OS! There are also a couple of drivers you need to download first to connect your board to the computer.
To flash firmware, you will always have to have the bootloader pins shorted, which means you probably have to take your quad apart every time you update the FC firmware. I saw people doing mods like adding a switch to the boot pins, but it’s supposed to be “simple”, right? :) Hopefully there will be software workaround to avoid shorting the boot pins, or in the next revision board adding a push button or micro switch.
Be aware that settings are lost after each firmware flash so screen grab the settings first! (we need that “backup” button in the GUI! :) )
The setting up part isn’t perfect yet, but I got to give them a thumb up for the flight performance. This KISS FC + 24A ESC combo feels super responsive. Control is very sharp and no matter how hard you slam those sticks the quad just stay at the spot, very controllable!
Probably not the most accurate description of the experience, it feels like I was ice skating :)
Here is my first ever flight with the KISS (seriously, first time outdoor!) PID and rates are not tuned at all, but still flew pretty well.
And there is tuning. I fly both KISS setup and Betaflight + BLHeli setup, I feel like on the KISS FC I can tune the quad to 80% very quickly (in fact default PID works for many people), but that last 20% is challenging (it’s just hard to tune out the overshoots and the rate is a bit difficult to judge). While on CleanFlight or Betaflight, it takes longer to get to 80%, or even 99% but you can get there eventually because of all the granule settings.
I also blame blackbox :) I rely so heavily on that stuff I nearly forget how to tune a quad without it. And I really hope KISS can introduce blackbox, it’s so useful!
Hardware side of things
To be honest I am not a fan of the KISS FC board layout, the location of the pins are not convenient IMO. At the moment those pins are all at the same side, on both top and bottom of the board. I think they should look at LUX’s approach.
Not sure why they choose to use solder pads either (probably because of easier circuit layout?), which to me, is easy to delaminate. I personally would prefer header pin holes just so we have more freedom working with them.
I love the ESC telemetry feature, being able to see current, temperature and RPM is awesome! However you can only use this feature with the KISS 24A ESC, and it means more money to spend :)
Pass-through ESC programming is NOT supported on the KISS FC, due to the 5V drivers at PWM outputs (that makes it more resistant against electrical interference). This means when there is an ESC firmware update, you will have to update the ESC one by one. It’s not a huge problem for KISS ESC users since there isn’t frequent update anyway. Probably more of a problem for BLHeli users, such as Littlebee 20A or XM20A.
Setting up KISS FC
Just briefly explaining what I went through when setting up mine, and some findings that weren’t mentioned in the manual.
I have taken some screenshots from the manual, just for the convenience of myself and some others. Here is the link to the manual of V1.05. But because they seem to update it quite frequently with a different file name (link), always use the link on their product page instead.
Firmware Update – First time user
- Download KISS FC Flight Control GUI from Chrome Store
- To connect to the GUI, google “STM32 Virtual com port driver” and download the driver first (I still need to install that driver although my computer works fine with any Cleanflight boards either F1 or F3)
- Download DfuSe Demo program, which is used to upload the firmware to your FC
- If the DfuSe Demo program doesn’t detect any available DFU device, you will have to remove the existing STM32 Bootloader driver (ZADIG), and install another driver for the bootloader device in device manager
- Short the bootloader pins, before you plug in the USB cable (keep that short until flashing is finished)
Powering the KISS FC
The voltage input is labled “VIN” on the board. It actually acts as the VBAT pin as well, so you should connect this to your LiPo voltage, same as your ESC’s.
There is an onboard votlage regulator that convert the lipo voltage down to 5V for your FC and RX. Avoid powering any other 5V device from the FC just to prevent regulator overheat, it’s rated for 500mA only.
- Download MinimOSD firmware from the KISS FC product page.
- Flash firmware same way you would normally do with MWOSD firmware (upload sketch from Arduino IDE).
But because OSD menu is not supported yet, to change OSD settings, such as what you’d like to display, you need to flash the MinimOSD firmware again.
To to that, go into the code, find “CONFIGURATION” section, to disable an option, just put a // before it. For example if I don’t want to see ESC current, I would do this:
//============================= #define DISPLAY_RC_THROTTLE #define DISPLAY_COMB_CURRENT #define DISPLAY_LIPO_VOLTAGE #define DISPLAY_MA_CONSUMPTION #define DISPLAY_ESC_KRPM //#define DISPLAY_ESC_CURRENT #define DISPLAY_ESC_TEMPERATURE
On your OSD, the abbreviations stand for
- AT = total current
- KR = rpm*1000
- co = mah consumption
It’s best not to power your OSD from your FC, but rather from an external 5V sournce like a voltage regulator, to avoid overheating the LDO on the FC.
By the way the OSD display can be switched using AUX4 channel if it hasn’t been assigned a function (e.g. from displaying full telemetry data to just displaying voltage).
SmartPort Telemetry for X4R-SB
I guess majority of the people will be running X4R including myself, so you might want to set up SmartPort Telemetry. It’s extremely easy, just plug and play.
But make sure you have the latest FC firmware, I think support for Smart Port was only available since V1.02 Beta7.4.
Follow this connection diagram from the manual, once you have selected Frsky SBUS as your receiver type, Smart port should start working.
Currently these telemetry data are supported:
- VFAS (the lipo voltage in V)
- Current (the total current A)
- Fuel (the used mAh’s)
ESC Connection and Setup
Note that the motor layout is not the same as it is on Cleanflight boards! It’s actually like OpenPilot, which is clockwise.
I just soldered the ESC directly to motors (RS2205), and it spins counter clockwise. You can change motor rotation by shorting the JP1 bridge on the ESC.
You don’t need to run calibration if you are using KISS 24A according to the manual. If you are running BLHeli ESC’s, read on.
There is no motor tab in the KISS FC GUI, so we will have to use the old school way of ESC calibration.
- Set min throttle to 2000
- click save
- unplug and plug back in FC
- arm quad
- plug in lipo
- hear beeps
- hear beeps
- unplug lipo
Saving GUI Settings
Be aware that the KISS FC has a safety feature, when it detects any input voltage of higher than 6V, it won’t save any settings from the GUI, because it “thinks” it’s connected to a LiPo not USB cable.
So whenever you have problem saving settings, first thing to check the voltage powering your FC. If you power on the quad with LiPo first, then connect USB, you won’t be able to save settings either.
As stated in the Manual:
If Min Command is set to 1000 and the Arm function is assigned to a switch on your radio, Airmode is activated automatically.
So if you arm with a switch
- Min command = 1000 => airmode
- Min command = 1001 Or Above => No Airmode
Be extra careful with Airmode though, because you cannot assign a switch to it, and it doesn’t have the safety feature in betaflight, it will spool up on the ground if you don’t take off soon enough due to I term error building up (I would say 3 to 5 seconds?). For those who worry about this can use “idle up” switch, that works as an “Air mode” switch. But the two approaches work differently in the PID side of things, so you will probably feel the difference too in the air.
The buzzer doesn’t beep when you activate it, and only makes a continuous high pitch noise. Here is where I connected it.
The values of the filter could be a little confusing. The “high” and “low” is NOT the amount of filtering, but rather the frequency it’s trying to filter out. For example, if you craft oscillate only a little, you can try “high”, but if the vibration is extremely bad, then you can try “low”, or something in between.
It’s recommended not to set it “off” right from the beginning, it’s best to tune your PID with default setting (“high”) to make sure it’s working fine before setting it “off”, if you wish.
If you want the motors to stop straight away in a failsafe then set the “FS level mode” number to 0.
KISS Carrier PDB
You can also get the KISS Carrier PDB that is designed for the KISS FC and KISS 24A ESC’s. It will clean up your wiring immensely, but just be aware of the size if it will fit your frame.
The plastic connectors on the side are for connecting the FC to the KISS Carrier PDB (which you can buy separately), and one of them is for Spektrum Sat.
There are two ways of connecting the FC to the PDB: 1. Direction wiring.
2. Using the 6 pin JST connection cable.
But it looks like it only connects 1 TLM pins in both cases (even the 6-wire connector only has 4 PWM, 1 GND and 1 TLM), so not sure if it only reads telemtry data off 1 ESC or still all of them.
Things that can be improved
- Make mounting holes pattern 30.5mm x 30.5mm, which is the standard, as well as most mini quad frames are designed for this size
- USB connector comes off – it seems to be a very common problem with the KISS FC. I read somewhere that the USB port is kind of acting as a heat sink for the BEC on the other side of the board. That gets me thinking if your BEC gets too hot maybe it melts the solder? That’s a reminder anyway not to power any extra 5V device from the FC
- Manual – Still a lot of work for the Flyduino guys. For example things like TPA is not explained in detail how to use. Also the English translation can be improved too
- GUI – 1. Save button confirmation? Or notification saying setting are saved? 2. maybe bring back motor tab for check motor rotation? and for calibrate ESC; 3. we need a way of backing up settings, maybe a “backup” button!
- Maybe add a flash memory chip just in case blackbox would be implemented, or ported to cleanflight?
- Board Rotation – at the moment you can only rotate the board 180 degree, but would love to see the same freedom we get on Cleanflight
- Pin layout – ESC connections at each corner, top of the board
- Add OSD Menu support! For changing OSD settings easily, and PID and rates adjustment
I have the Kiss fc now, and am trying to get my smartaudio of my rush ultimate plus vtx to work, but I have no idea how, any tips?
I know this is an old post but is there anyway to use vbat telemetry with the d4r-ii and have vbat read out on my tx? So far I can only get rssi.
Or is it not possible to use telemetry on this receiver with kiss?
Would it be a lot of hassle to get RSSI values in the KISS OSD?
Coming from BF and trying to set Mid Throttle and Throttle Expo in KISS, can you help point me how to adjust that? Looking for a mid of .4 and expo of .5
Do you know if we can connect a buzzer ground to buzz gnd and instead of 5v off the board connect to battery voltage for a louder buzzer?
is there a way to correct fc kiss connection is lost during the flash via DFU, so usb illegible or corrupted
I take it the wiring diagram is exactly the same for the open log addon like it is for the minimosd? as far as pads on the fc to solder
Can you send a diagram of the wiring for the fr Sky d4r-2 receiver to connect to the kiss flight controller PLEASE! I cannot find this information anywhere. Thank you.
PPM share the same pad as SBUS so you just need to hook that up and choose PPM in the configurator :)
Ive set up my kiss fc in ppm mode with a D4R2 and it doesn’t seem to support an aux channel for arming.
What do you need to connect. Have your sorted your issue.
Hi Oscar on MinimOSD if negative connection is used from camera to MinimOSD and VTX to MinimOSD, then do I just use the +ve cable from VTX (I am using Aomway VTX which has a 5v output) straight to camera?
I’ve been running video cable to MinimOSD only in another build without -ve seemed fine. Just wanted to know your thoughts whether to use -ve on MinimOSD.
I just learned all TLM pads on kiss fc is shorted so having one wire on kiss carrier pdb is meant that way only.
The gold slot for signal on my pwm has came of any way of using a different slot or is it bust thanks
report it to KISS they might replace it for you. They did it when my friend’s USB connector fell off.
First off – GREAT work!!! Thanks!
I just upgraded from Naze and Afro 12 to Kiss ESC & 24a Kiss. Quite a difference in responsiveness :o) – sadly I´m just a shot test flight in. Because: PWM 4 (lower left motor) seems odd. At 1075 min throttle – motor does not spin (when arming, quad sitting on the ground level and calibrated, until I throttle up a bit). It does takeoff and fly just fine (both acro and level), but at low throttle – lower left motor cuts out.
When looking in configurator->data output (quad sitting on steady table) and arming PWM1,2,3 rises and then settles. PWM4 just sits there. When moving the quad, it seems that PWM 4 is always lower or drifting towards being lower.
Flying – motor 4 often stops at low throttle, causing wild oscillations.
You can asses the damages here: https://youtu.be/QJ8-Fw1rHn0
just wanted to jump in here let everyone know the new v1.0.12 GUI is out.. ( 8th July 2016 )
Added Motor Test tool,
Added ESC flashing tool
thanks for the good news :)
Oscar do you happen to know how to unbrick or do a full chip erase on the kiss. I just got my kiss FC three weeks ago and it was fine when I flashed rc26. But when I flashed rc27 I now get a error message on my PC saying “device not recognized” I get no blue light. Only solid green. Kiss GUI does not recognize it either. I’ve re flashed, uninstalled and re installed drivers, and changed usb cable. Still the same. Company I bought it from says they can not warranty it.
Can you help?
i have same problem
if you already get the solution
I have problem activating arming mode on my KISS flight controller.
Putting the throttle stick down to the right, nothing happens.
I program a switch that works great in the program, but it will not turn on my motors (The switch worked fine for some minutes)
My ESC is Kiss 30A
Motors KDE 2306 2205Kv 6S
Hello Magnus, did you found a solution? We have exactly the same problem. The kiss fc does not arm.
Did you find a solution to this problem I am also having the same issue
EVERYTIME that I arm my quad, the rear left motor (PWM4) won’t spin up. It will eventually spin when enough throttle is applied (props off of course). But at “Idle” on the ground, the number 4 motor wont spin. Motors 1-3 are perfectly normal and will slowly idle like they should, but #4 wont budge until throttle is added.
I have updated the FC firmware (didn’t fix it…)
I have updated the ESC firmware (didn’t fix it…)
I have calibrated the ESC’s about 1000 times via the KISS GUI and their method (didn’t fix it…)
I even plugged a servo tester into the ESC and was able to get the motor to spin that way. That makes me think it’s a FC issue. But on the KISS GUI, the PWM4 outputs all look normal and have normal numbers.
Thanks a lot! I need an expert like you…
i see you are using non-kiss esc, are you using bLHeli on them? can you verify the PPM-Min and PPM-Max are all the same on all 4 ESC? make sure the rest of the settings are the same as well…
I have what sounds like the same exact problem. I’m using BLHeli 20A esc and have done the ESC calibration many times but still doesn’t help.. If I select the NO PID option or run the motors in test mode it runs just fine.. It’s like there is some software or hardware bug..
What can I do to get a replacement?
I can’t get my motors to run in sync.
How do i get them too?
could you explain what the problem is in a bit more detail? any video ?
Hello Oscar can I assign a switch on my taranis to start my motors ,I have a kiss fc and 24amp esc, I don’t like them spinning on start up many thanks
In Aux channel settings, you can make a switch your arm switch. that’s your channel 5 to 8
Can i power up the FC soldering it to the PDB and connecting it to the battery while using it over usb?
Because a old Naze board died on me doing that :S
I tried it, didn’t break my kiss board :)
thx a lot!!!
Hello, I going to build a kiss, and I would like know if is the same process for telemetry using a d4r-II….
The last time I heard (2 months ago), the KISS development team was working on getting the D4R-II telemetry supported, I don’t know if this has been fixed yet…
can any one point me in the right direction for a frame to mount the kiss pdb 24a
looking for a 180-250 quad, being as light as possible.
I installed this board in my quad and I think it took me more than on CF board to set it up.
The last thing that I still don’t understand is Acro mode. The quad is in level all the time. Does anybody know how to enable Acro?
Just Arm. If its Armed, its in Acro Mode.
Can anyone help me? I can’t get my computer to recognize my KISS FC I’ve tried to download the STM32080 driver, and the DfuSe Demo version 3.0.5 and it won’t recognize my FC. I even tried to delete it from the windows devise manager, and it just re installs it again. I am running windows 8.1 if that matters. Any help would be great, as I have been waiting weeks now to fly.
i would try it on a different computer just to rule out it’s your FC might be defective first…
So there is no way to flash MW_OSD FW to a minimosd, upload the Kiss font file, and run KISS FC with minim operating on MW_OSD FW? Would this not allow for the artificial horizon and OSD menu? Or is MW_OSD FW unable to communicate with KISS FC?
I don’t think it’s possbile at the moment, but someone has asked MW_OSD to support KISS FC 2 months ago LOL.
I am hoping KISS FC will get supported soon, but not currently :) https://github.com/ShikOfTheRa/scarab-osd/issues/180
Hi Oscar I have tried this new Kiss FC on two of my Quads by just swapping with my flyduino multiwii FC boards got both of them flying great but motors get extremly hot after 30 seconds flight. Can any one surggest a solution ?
I’m building a 5″ Alien with kiss FC, x4r receiver, and TBS PNP50. Can you please advise me on how to best wire these all together? Specific details or pics would be great – I’m still a bit new to builds. Thanks!
please ask on the forum: http://intofpv.com
or the FB group: https://www.facebook.com/groups/Copter.Fans/
I personaly like the pinlayout from the KISS FC more than others, its so easy to just unscrew and flip it over when cables just come from one side for sevice reason. Also on realy tiny builds thers no need fpr pind and plugs, just soldering on this big kontacts is so quick and easy.
But i agree that an OSD menu for PID and rate adjustment would be warmly welcome.
I have KissFc and a Minimi OSD . I Power the Minimi OSD from the KissFc becouse the Minimi only needs 50mah so i have 450mah left. Why dont you do that?
no… you need to take into account the current draw from FC and RX. 500mah is the max limit, you are advised to keep your current draw as little as possible. more current means more heat for the FC, and bigger chance for failure. by the way minimOSD draw far more than 50mah, google it, or test it with your multimeter to verify…
Does the KISS FC have any auto leveling modes?
Hi Dave yes KISS FC can do self-level mode.
I just flew with the Kiss FC, here is how it looks:youtube.com/watch?v=ZIxnKn0U3Js
Thanks. that’s really nice from u oscar I need help from you please.
1.is there is any way for the bootloader on the ather side off the fc coz I peeled the soldring part
2.my pc drivers cant find the fc coz I use zedac and I could not take it off I cant find it to remove it, and can u send me link for the right driveer
3.im using 30A kiss esc do u think its OK when I conect the fc with letllbee 20A work fine but with 30A kiss esc still can’t get it right
4.usb port comes off now its really nightmare
About the bootloader pads, please ask in RCgroups KISS FC thread, Flyduino provide supports there, and should show you where the alternative bootloader pins are on the board…
what do you mean by 30A ESC doesn’t work?
nice work Oscar THANKS! what kind of wires should I take for Vin on KISSFC?
You mean what awg wire? 24 or 26 should do just fine (as current draw would be less than 500mA)
connect it to the same source as the ESC (which is the lipo voltage)