Mikrokopter UAV are very common in Germany. They use their own Brushless ESCs, controlled with i2c by their own Flightcontrol.

From now on, it is easy possible, to convert a Mikrokopter UAV into a fully featured ArduCopter with a Pixhawk or PX4 only by replacing the FlightControl&NaviControl.

The i2c bus from the BL-Ctrl's have to be connected to the external i2c bus of Pixhawk or PX4.
Then follow these steps to turn on support for them:

Re-enabling the Mikrokopter I2C ESC Support for FMUv1 and FMUv2 (Pixhawk).
Mikrokopter ESCs have to be connected I2C Bus on Pixhawk/FMU.

Arducopter Mode:
To enable mkblctrl startup add a /fs/microsd/APM/mkblctrl file
In this configuration the ESCs must be ordered in the same order as the ArduCopter is numbering them.
In this Mode all Frametypes of ArduCopter are supported.

Mikrokopter Mode:
To enable Mikrokopter native Frame Addressing (Order) support:
For X Type Frame add:

For + Type Frame add:

With Mikrokopter Frame Addressing, it is very easy to convert a Mikrokopter to ArduCopter. Just replacing
the Flight-CTRL against a Pixhawk, and your are done after initial Setup.

In Mikrokopter Mode there are only X and + Type Quadro, Hexa and Octo Frames Supported.
In Mission Planner the right Frame have to be set.

There can be only one startup File on the SDCard (mkblctrl, mkblctrl_x, mkblctrl_+)

I am using my PX4/Pixhawk nearly one year with ArduCopter and PX4-Flightstack without any problems. It is really working rock solid.




E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • For my MikroKopter Combi and Pixhawk setup, they start off as green and quickly transition to green/red (solid). I have confirmed with an oscilloscope that the I2C lines of the Pixhawk are functioning as expected when disconnected from the Combi. I have also confirmed the I2C lines of the Combi are functioning as expected when connected to a MikroKopter Flight Controller (LEDs are solid green).

    I'm looking closer at the Combi board and it looks like a +5V pullup voltage is present on the Combi board I2C line (SDA, with no controller connected). Similarly, there is a +3.3V pullup voltage on the pixhawk I2C lines (SDA & SCL). This means I cannot just directly connect the two I2C lines with a 3 wire connector (GND, SDA, SCL) because when no devices are communicating the 3.3V source will sink current from the 5V source. Anyone know if this is this different from other MK power boards?


    I found this link helpful (http://www.nxp.com/documents/application_note/AN10441.pdf) and have ordered a level converter which I can hopefully test out on Monday. I am still a little unsure on what needs to be done to use the mkblctrl_x driver or whether it will even work with the Combi board. In general, the only thing we need to do to use this driver with a Pixhawk running Arducopter is place an empty file named "mkblctrl_x" in the APM folder of the SD card?


    Thanks again for the input and any clarification!





  • What LEDs are lit on the ESCs when Copter is powered up ?
  • Hi Leon,

    So, they are AEROdron boards, not MK.  They may require different parameters than the real things do.  I would look at the Droidworx manual to see if it requires custom settings in MK-Tools.  Just a thought.


  • Hi Don,

    I'm pretty sure it's a "Mikrokopter OktoKopter - XL Powerboard w/BL-Ctrl2.0 ESC's"

    It was part of a Droidworx AD8-HL rig that was bought with the full Mikrokopter flight/nav stack and the above...

  • @ Leon - I may be wrong, but I don't see any MK (Mikrokopter) ESCs or PDB in your photo.

  • Not sure what MK PDB or ESC we have, it's in the picture I posted on page 2 of this thread.

    I get all green (after red + red/green during boot). I can't remember why I disabled pre-arm checks, I think I read it (on here or at the google groups thread of the same topic), but by doing so, I could engage the motors from the Tx (down and right on the throttle stick - I changed the Rx to an FrSky and used an EEPROM on my Taranis from another Pixhawk setup). I've had the Pixhawk powered via USB from laptop rather than communicating via telemetry. I have throttle control but don't see any change when I've switched modes either from the laptop or the Tx, so basically, I can gain manual throttle control but nothing else.

    I think we're at the point where we're just going to sell all the Graupner and Mikrokopter parts and rebuild...

  • Leon,

    I tried again using an empty file on the SD card named "mkblctrl_x" but had no luck. You mentioned in your post that you were able to get your motors to spin using this method? What Mikrokopter power distribution board are you using? What LEDs light up on your Mikro board after powerup?


    I am also curious what prompted you to disable the pre-arm checks? Was there a specific error you received when placing the file on the SD card? I know someone in the forum mentioned "bad gyro" problems earlier.


    I'm just hoping to put some of these clues together and maybe get this thing working.


    Any and all info is greatly appreciated!


    Thanks again,



  • bland = blank!

  • Hi Kevin,

    I may be wrong (I'm fumbing through this myself), but I don't think you copy the driver.cpp file from github. The mkblctrl fie that goes in the APM folder of the sdcard is just a newly created bland file with no extension, just a name.

    Hopefully someone with better knowledge on this will correct me if I'm wrong!



  • I am using a Pixhawk with a Mikrokopter Okto XL Combi and attempting to use your driver with no luck. Any reason it wouldn't work with this device? The Pixhawk is using ArduCopter V3.2.1 and has been successfully setup using Mission Planner (all HW setups and cals). My HW I2C connection from the Pixhawk to the Combi looks good (3-wire, GND, SDA, SCL). I have placed this file (https://github.com/PX4/Firmware/blob/master/src/drivers/mkblctrl/mk...) on the Pixhawk SD card in the APM folder and named it mkblctrl_x.


    When I power up the Pixhawk and Combi, The Pixhawk powers as normal and I see green and red LEDs on the Combi. I do not have any motor control. I am hoping that I am just missing something simple here. I noticed in other posts there was talk about setting the "OUTPUT_MODE". Does this need to be done with the Pixhawk (perhaps in a config file)? Or is that only for other controller models?


    Any and all help is greatly appreciated.





    PX4 Autopilot Software. Contribute to PX4/Firmware development by creating an account on GitHub.
This reply was deleted.