Software-Update

On all MikroKopter boards (FlightCtrl, NaviCtrl, etc.) there is a boot loader. This make's it simple to update the software.

You only need a MK-USB (or for older PC's the SerCon) for the update. So you can update easy all the boards (like FlightCtrl, NaviCtrl, MK3Mag, ...).
How to set up and connect the MK-USB it is described here: MK-USB

If you open a updatefile, the KopterTool detects automatically (on the file name) which file it is and for what this board is used. So for example if you try to program the NaviCtrl firmware into the FlightCtrl, it will give you an error message.

Important

If you use a Micro SD-Card in your NaviCtrl, clear after an Update of the NaviCtrl the SETTINGS.INI on the SD-Card.This .ini contains some needed values. The new Software will set a new file with the needed values automatically after a restart.

Connecting the modules

Connection example at MikroKopter / MK-Tower

Is only the FlightCtrl installed, the MK-USB is plugged into the 10-pin interface "EXT/SV1" of the FlightCtrl.

However, if the MK-Tower is used at the MikroKopter (FlightCtrl, NaviCtrl, MK3Mag, MK-GPS), the FlightCtrl and the NaviCtrl are connected over
a 6-pin and one 10-pin cable.
The MK-USB is plugged into the 10 pole interface "Debug" at the NaviCtrl.

The jumper on the MK-USB is still open. To power the MikroKopter, please use the lipo or a power supply.A regulated power supply is particularly recommended for the first start of the MikroKopter to avoid damage to the Kopter
which could occur due to a soldering / assembly error.

If the jumper on the MK-USB is closed and no power supply (Lipo / AC adapter) is applied, the modules can
be detected but it can lead to errors in the KopterTool (e.g. a I2C error) or to programming interruptions.

Attention: An update of the BL-Ctrl is over the MikroKopter/MK-Tower NOT possible!
For an update or to control the software version, the BL-Ctrl must be connected directly to the MK-USB.
Even if you have an error on a BL-Ctrl. To read the error code from the BL-Ctrl, the BL-Ctrl must be connected directly to the MK-USB.
(see: Connecting individual modules)

Examples for connecting individual modules

Each module can also be updated if you connecting it directly to the MK-USB.
Here are some examples of how the modules can be connected to the MK-USB:

The 10pole ribbon cable must be hooked up with the connector "1" (red marked side) to the connector "1" of the individual module board!
The connecting pin "1" is marked on the board.

The red arrows are marking pin "1"

FlightCtrl:

NaviCtrl:

BL-Ctrl:

MK3Mag:

If the boards, as shown in the pictures, are individually connected, the voltage supply is supported by the MK-USB.
Therefor the jumper on the MK-USB has to be closed.

For an Update the new BL-Ctrl V3.0 are also connected on the front pin strip of the MK-USB.

The Updates

FlightCtrl / NaviCtrl / MK3Mag

After the Kopter / the modules are connected over the the MK-Tower (or Sercon) to the KopterTool, everything is ready for an update.

If the MK3Mag is directly connected to the MK-USB, take care that the connection between the jack of the ribbon cable and

the MK3Mag connector is correctly.
If the 10-pin plug connector of the MK3Mag is to short, you doesn't have a connection and you can't update it.

After you power on the board, you see this in the terminal window of the KopterTool:

Display Tower
(FlightCtrl + NaviCtrl + Compass + GPS)

Display FlightCtrl
(single connected)

(Zum Vergrößern -> Bild anklicken)

Display NaviCtrl
(single connected)

Display MK3Mag
(single connected)

(Zum Vergrößern -> Bild anklicken)

Through a "click" on the button Update Software (serial)... the selection window will open up.

There you can chose the software for your unit:

(Zum Vergrößern -> Bild anklicken)

With a "click" on open the update will start:

Display Update FlightCtrl

Display Update NaviCtrl

(Zum Vergrößern -> Bild anklicken)

Display Update MK3Mag

(Zum Vergrößern -> Bild anklicken)

After the update an automatic reset is performed and the unit restarts. In the Terminal Window you can see now the initialization of the module.
The initialization looks like as shown in the pictures above.

It may be that after running the initialization characters like (# D ===== rwerEW == == fesf etc.) are displayed in the terminal. This is normal and not an error.

BL-Ctrl

For an update (or the display of any error messages at the BL-Ctrl), the BL-Ctrl must be connected right on the side of the MK-USB (or at the Sercon).
For this purpose a Slot-connector can be used or a pin-connector built by yourself. (See also: Connect BL-Ctrl to MK-USB). It could look like in this way:

(Zum Vergrößern -> Bild anklicken)

The upper bar contains the odd numbers, the lower the even numbers.

Another possibility:
The four required lines, for Rx (Pin 8), Tx (pin 3) Gnd (Pin 10) and +5 V (pin 2) can temporarily soldered directly to the regulator.
The power will be supplied via the MK-USB and a closed jumper.

ATTENTION: If the BL-Ctrl is still mounted in the Kopter, power can be supplied with the lipo or an external power supply. In this case the jumper on the MK-USB must be open.
Please Note: You have to disconnect the FlightCtrl if the BL-Ctrl are still mounted on the Kopter.

Is the BL-Ctrl over the MK-USB (or Sercon) connected with the KopterTool, everything is ready for an update.
After powering the BL-Ctrl you will see this in the terminal window of the KopterTool:

Display BL-Ctrl 1.2

Display BL-Ctrl 2.0

||||| (Zum Vergrößern -> Bild anklicken)

Through a "click" on the button Update Software (serial)... the selection window will open up.

There you can chose the software for your unit: (Zum Vergrößern -> Bild anklicken)

With a "click" on Open the update will start:

Display Update BL-Ctrl 1.2

Display Update BL-Ctrl 2.0

(Zum Vergrößern -> Bild anklicken)

After the update an automatic reset is performed and the unit restarts. In the Terminal Window you can see now the initialization of the module.
The initialization looks like as shown in the pictures above.

Update failed - what now?

If an update failed or is cancelled during the transfer, the software on the processor is cleared or useless.
Thereafter, the board has maybe no function anymore and the lights are off.
Also it can happen, that the buzzer (if connected) will continuous beeping.

BUT DON'T PANIC!: The Bootloader is still there.

When reconnecting the module (or immediately after a failed update) the bootloader will be displayed instead of the initialization of the software:
(In rare cases, the bootloader is not displayed, although this is still available!)

Display Bootloader - Example: FlightCtrl

(Zum Vergrößern -> Bild anklicken)

A faulty update usually looks something like this:

Example of failed updates:

(Zum Vergrößern -> Bild anklicken)

What can be checked first? The following can be the cause:

File corrupted

It can be that way that the download of the software file was corrupted and therefore the file itself is damaged. In review of the file is in the terminal window the update to see from the program path of the file:

Here must after the Reading File... a OK been displayed and the respective program size (e.g. Program Size: 63 070 bytes ) should be displayed. If you see something else, downloaded the file again.

Or there is a Connection problemPlease use a Windows PC / Laptop. If you use a MAC or Linux PC with an EMU program you can have problems during the update.If you use a Laptop and if you use the Jumper on the MK-USB to power up the PCB's, the 5V of the USB port can break down. This can also clear the software on the PCB.Or if you use w wireless connection between Kopter and PC. Also here the connection can get lost and clear the Software.

Here a Timeout will be displayed:

Solution after faulty update

If the Software is lost after a failty update and you can not update the PCB again, please try as described here.

For the following example, the boards are mounted on the MikroKopter and we power up the PCB's via the LiPo.INFO: Remove the Propeller from the copter that he can not start if something goes wrong.