Home        Store        Learn        Blog

Alternative to Companion routing


The routing on the companion:

is not reliable enough for my requirments.

Does anyone have an alternative solution?

I am looking at installing a software that would capture serial ports other than the one used for the Pixhawk.


Hi Etienne,

What about using Netcat (nc)…

sudo add-apt-repository universe
sudo apt-get install netcat-traditional
sudo update-alternatives --config nc
nc --help

For instance, if you want to capture and redirect a UDP flow:
mkfifo backpipe
nc -ulp 14550 0<backpipe | nc -u 14550 1>backpipe

Hope this help.

Another solution is to use Node-RED - https://nodered.org/

Hi @enderocean thank you for your suggestion, I will give it a try later.

For now, I ended up going a different route.

I used virtualhere.

I was helped by @DemonRobots and Isaac Banister from SOSUB so the credit really goes to them.

This is free for one device and seems to work well.

Here is a step by step

Ensure your Rpi is accessible.

Open Chrome

Type in

Click on open terminal

Type in:

This should happen:

Type in:

Type in:

When done your terminal window should look like this:

You have now installed and started the USB server

Now you need to make sue its going to start when the Rpi starts.

Type In:

this will appear:

type 2 and press enter

This will appear:

Use your down key and go all the way to the bottom and type this:


Press Ctrl + X to exit

You will be prompted to save or discard


Type Y and press enter

You should be back on the main screen and it should look like this:

This is it for the Rpi.

Close the browser and download the VirtualHere USB Client


Then you run the software and you should get this:


right click on USB Hubs and select Specify Hubs…

This window will open:

Click add and this window will open


Type in the Rpi ip address

Press ok

Press close

When the port gets detected this window will appear:

Then the client will show something like this depending on what you have connected

In my case it opened com26.

So its like my arduino is connected directly on my computer on com port 26…

Hope this helps someone else.


There is also bridges, that export serial ports as UDP endpoints.

is not reliable enough for my requirments.

Can you explain a bit more why the actual routing page is not working for you ?

I get a lot of dropped and/or corrupt packets.

Sometime the data freezes up and then when it pick up again I get what is accumulated in the buffer and can’t send commands down anymore.