Serial Connection Between BlueOS and FC

Hi BlueOS community:

I am currently stuck on a serial connection between BlueOS and my FC, here is my setup:

The companion chip is rock 5T (rk3588), FC is 7-nano and the serial connection is using UART2_M0 on the rock 5T (pin 8 and pin 10) to the telem 2 port on the 7-nano.
On the rock 5T chip, I am running BlueOS docker (bluerobotics/blueos-core:master
). And I am running ardupilot in the 7-nano.

Now here is the problem:
when I previously used usb a to usb c connection to connect the chip to the FC, I am able to find the ‘CUAV 7-Nano’ in the Autopilot Firmware page, under the ‘change board’ drop down. After I select the board there, I am able to connect the BlueOS to the 7-nano board successfully. I am able to receive the heartbeat and view the vehicle in Vehicle Setup.
However, after I switched to the serial connection using jumper wires, I am unable to find this item in the dropdown anymore. Now I only left with ‘SITL’ and ‘Manual’ options like shown.

I have tried to point the master endpoint to the port under the Autopilot Firmware tab (after I select ‘Manual’ board), set up the MavLink enpoint and set up the Serial Bridge. While some seems buggy, all of these are unable to get me a connection to the 7-Nano.

I have done most of the debugging and I am actually able to get readings from the serial connection inside the BlueOS docker by using picocom in the terminal(or just simply cat it), so the hardware connection (rock 5T pins ↔ 7-Nano telem 2) and the docker permissions should be working fine.

Anyone experienced can help me with this? What is likely missing (I suspect is on the BlueOS software level) and what is the next debugging step I can try?

Hi @alexgosleep,

BlueOS does not yet directly support non-USB serial connections to autopilots.

Thanks Eliot

By the way, may I know if there is any plan in integrating non-USB serial connections funtionalities for BlueOS in the future?

I’ve asked internally, and been informed that the manual endpoint functionality may actually work for serial autopilots, though I don’t believe anyone’s tested it.

This seems potentially misguided - can you share more about how you’ve tried to configure things?

The manual endpoint should be connecting directly to the device by its Linux path (e.g. /dev/ttyAMA1). I don’t believe a serial bridge should be necessary, or modifications on the MAVLink Endpoints page (which are more intended for things other than the autopilot to connect to the MAVLink router, so they can talk to the autopilot).

Hi Eliot,

sorry for the misguided information, what I meant was I tested those separately.

  1. I tested setting up the connection with ‘Manual’ mode in ‘Change running board’ and pointed it to the Linux path (/dev/ttyS2 for my case). It didn’t work, the device still shows disconnected and I could not load anything in the vehicle setup;
  2. Out of curiosity, I tested setting up this Linux path in MAVLink Endpoint and Serial Bridge separately too (cuz I was not sure if the MAVLink Endpoint and Serial Bridge setup would change anything), both didn’t work.