Servers by jDrones

Kakute f7 AIO and arducopter 3.6

Gps unot has sda and scl pins for compass connection. It is the i2c bus from flight controller - baro sits on same bus. Tx of gps goes to rx pin of fc, rx of gps to tx of fc. That makes gps work. Compass speaks via sda/scl.

ok so gps i got right, but when I connect the compass to sda and scl where there baro is, does it work too or collied they?

edit: I swapped out the GPS/compass module to another one and it worked so the module doesn’t work. And thanks for your help

baro sits on the same i2c bus. so, if you have a fried compass and you connect it to the same i2c bus - it may also make baro to fail initialize in the log.

Unfortunately my maiden with the Kakute F7 (non AIO) resulted in a flip on takeoff today breaking a prop but no real damage. It was almost like the motors/props were not in the correct order or direction. I had first tested this with Betaflight before loading ArduCopter and it flew just fine. The wiring to the ESCs is as follows

M1 - Back right
M2 - Front right
M3 - Back left
M4 - Front Left

Assuming that M1 maps to servo 1, M2 maps to servo2 etc, I set the mapping in the Servo Outputs as follows

S1 - Motor4
S2 - Motor1
S3 - Motor2
S4 - Motor3

Unless I missed something I believe that this is correct.

Arming the motors in the normal way by moving the rudder stick to the right does make all motors spin but I could not test the motor order using the motor test section of Mission Planner. It would arm and then a few seconds later disarm but not spin the motor

I got the motor test to work by raising the throttle percent from 5% to 10% as suggested

and sure enough the order is incorrect. To correct it I just went back to the default mapping in the servo output as it appears that there was no need to change it in the first place.

1 Like

Hi, i made motor order in hwdef for AIO board but i assumed regular f7 board has same order. I just made a model on f7 non-aio and frankly did not even noticed how i mapped motors… I only had to use blheli32 tool later to swap rotation direction.
On aio board each corner motors 1,2,3,4 is correctly set for arducopter order.

It looks like you setup the hwdef file for BF wiring so there was no need to change the servo output for ArduCopter. No big deal, I had just assumed that M1 mapped to position 1, and M2 to position 2 etc and as these are different between BF an APM thought I would need to change the servo output mapping. Anyway it taught me to test the order with the Motor Test in MP.

It flew fine today in stabilize mode but in loiter mode it gradually lost altitude and I could not correct it with the throttle. I have not tried autotune as I don’t have battery monitoring and thought that I better wait for the S.Port support.


I have build a drone with the Kakute F7 board and flashed ardupilot on it. Everything works except the sbus, I don#t get an connection to my reciever. Do you know why this could be?

And you postet your hwdef files how can I flash it on my quad or what can I do with it? Becuase I want that the motor order is the same as in BF and I read it is possible with that.

Greetings Alex

Hi, i am not sure what u mean. Sbus rcin from latest dev build hwdef is on uart 6 rx pin. It is same as in betaflight instructions. If u install your own dev environment u can compile your own code and alter hwdef upon your own needs, arducopter wiki has instructions of how to set it up. Best environment is to do it on Ubuntu machine.

ah ok thanks I had it on uart 4 maybe thats the problem and ah ok thank you maybe I will play a bit with that

The only designated uart pin is the uart 6 rx. Set for receivers’ sbus. Uart 6 tx can be set to pump out telemetry or frsky d, any one way out stream. All other uarts are flexible. Easiest way is to follow f7 holibro betaflight instructions. Set uart4 tx connected to frsky smart port - i hope in a near future it will work.

ok thanks and I thought I can switch it like in BF because there it worked when I had it on UART 4. One last thing is it possible to use the onboard volage reader and osd in ardupilot without chance the hwdef?

For voltage u can use either esc telemetry or onboard one. Current i get from esc telem on my f7 build. I used it in a stack with tekko32 4in1 esc. Esc telem goes to uart7 rx.
I post from phone now so do not recall option value for onboard voltage to work. I think it was a usual one.

Betaflight setup allows dynamic assigment of RCIN port. In copter it is hardcoded now in the hwdef file used to compile the firmware.

I use the onboard one but I doesn’t ge readings at my batteriemonitor any suggestions why?

I just ordered a plain F7. Non-AIO. What are my options regarding Vbat and Current ? I only see a Vbat pin. is that an input or an output ?

I have the plain Kakute F7 and connected the battery using the included JST SH 8pin 150mm cable to the B+ and GND pins. The battery voltage is monitored but I don’t believe it has a current monitor.

Best option is to connect 4in1 esc and read current from it. Voltage can get from either board itself or esc. I set mine to get both from esc. Current from esc does not show correctly total current, it only measures motots but it is what counts. I used thier tekko32 esc, but there are more choices.

AIO has the shunt for current monitoring and a divider for Vbat, as well. The connections end up on two of the F7 FMU pins. I just have to figure out which, so I can feed the info from a Mauch hall sensor on the non-AIO.

So far very impressed with the flight stability of the 3.6.0 release on the Kakute F7 (non AIO). I’ve only tested the basic flight modes, stabilize, alt hold, loiter and would like to perform an autotune but figured I first need some sort of battery monitoring. I believe that the non AIO version does not have a built in current monitor but can monitor the battery voltage but I don’t see that being displayed in mission planner.

1 Like

setting ‘4’ for batt monitor will give you voltage but no correct current. if you have blheli_32 esc it is better to feed in esc telemetry into uart7 and this way you will get current as well, with ‘9’ used for the param.

Servers by jDrones