Tutorial: Using Matlab compiled classes from within Python

Unlike other Matlab features, it seems that using Matlab compiler for creating a Python package is poorly documented. It took me quite some time, mostly by trial and error, to understand how to use Matlab classes (classdef) from within Python.

In this tutorial we will discuss the following basic Matlab class:

Modifying the class for efficient work from python

We inherit our class from “handle”  (Handle classes define objects that reference the object data. Copying an object creates another reference to the same data.)

read more

Repair Windows 10 – the only correct way!

For all you having trouble with running


and receiving the following error

Here is probably the only working solution:

  1. Download original Windows 10 ISO from here (Microsoft website)
  2. Mount the ISO image (Right Click -> Mount)
  3. Create new dir – e.g. “c:\mount” (mkdir c:\mount)
  4. Mount install.wim from ISO, where X is the drive you mounted ISO to:
  5. Make sure the result is
  6. Run DISM:
  7. Run SFC to verify everything is Ok


read more

Optimizing Parallella network throughput


I like Parallella board very much in terms of performance, form-factor and price. So I decided to measure it’s performance in terms of Ethernet throughput. Xilinx XAPP1082 reference design for Zynq FPGAs measured very promising performance, therefore my initial thought was Parallella should not fall behind (even though results from 2013 were not very promising).

The Setup

Parallella hardware: based on Zynq 7010

Parallella firmware: Ubuntu 14.04.4 LTS (GNU/Linux 3.14.12-parallella-xilinx-g40a90c3 armv71)

read more

Configuring Eclipse for ASUSWRT cross-compile

The following tutorial applies for Broadcom based Asus routers (e.g. RT-AC56U, RT-AC87U, etc.).

  • No recompilation of router software is required.
  • No need to set environment variables or to create Symlinks (as required by asuswrt tutorials)


  • Eclipse CDT installed (I use latest Eclipse Luna)
  • Clone asuswrt-merlin or download official Asus GPL source (e.g. RT-AC56U)

Configuring Eclipse project

  1. Open new C project with “Cross GCC” toolchain (you can use Hello World template)
  2. Set Cross compiler settings to:
  3. Finish project creation
  4. Go to Project properties => C/C++ Build => Settings
  5. Under Cross GCC Compiler:
    1. Under Includes sub-menu, add the following includes
    2. Under Optimization sub-menu set “Optimization Level” to “-O3”
    3. Under Miscellaneous sub-menu set “Other flags” to

    read more

Flysky Arduino Transmitter for V911/V929/V939/V949/V959 Quadrotors

Following my previous post about reverse engineering Flysky TX, generous help from Deviation TX and several evenings with Logic and Scope, I wrote an Arduino library that currently tested on Arduino Due and Arduino Pro Mini 8Mhz – both of them working with 3.3v levels. I tried this code with Arduino Mega 2560 and level converters, but failed at this stage.

The library can be found here

I removed A7105 module from V929 transmitter and connected it as the following

Arduino Pro Mini

read more