Increasing the number of UARTs on Pixhawk 1


I have a Pixhawk 1 and have run out of UARTs by using radio telemetry, companion computer (Raspberry Pi 4) , Lidar, and GPS. I have been making upgrades to the quad e.g. the Tx/Rx and ESCs, so I would also like to recieve telemetry from them, hence the need for auxiliary UARTs.

Ideally, I would like to increase the number of UARTs on the FC by two through the RPi. Since I run openCV scripts for precision landing on the RPi, I think it’s fitting to offload the lidar (currently on serial4) onto the RPi instead of it directly connected to the FC. This way, I will be freeing up serial port 4/5 and connect ESC telem to serial4, which will replace the lidar, and then connect FPort telem to serial5.

So far, I have set a static device name for one component, which is plugged into the USB port of the RPi via TTL → USB converter. However, I am stuck on how to proceed. Will I have to write code to parse the data and feed it into the FC or will Ardupilot do that for me if I set serial protocols > 5? I’m thinking that I probably have to do some combination of both approaches but I need some guidance/insight.

Also, if there is a more elegant solution to getting the telemetry I am looking for or overall configuration, then please share. I am pretty new here, and to electronics in general, so I am unaware of the possibilities.

For example, there is a lot of overlap in the telem data from the ESC and Rx, so could some clever integration or splicing be implemented here?

Use a CAN node like those available from Matek or mRo.

1 Like

Oh wow… this little CAN node looks sweet. :fire: :fire: :fire:

I guess if I get it, then I can hook my ESCs up, get their telemetry, and ALSO increase the number of UARTs! All for 3.7 grams!?! Thats a helluva deal… thanks for this! :pray:

1 Like