Running out of Serial / TELEM ports

I’m running out of Serial ports on my Cube Orange. Can anyone advise:

  1. Is there an autopilot available with 5 or more physical serial ports? Or,
  2. Is there a way to get 5 serial ports out of a Cube Orange, perhaps using a non-obvious port?

Here’s my current port usage:

  • TELEM1 = Rockblock satellite communications device - using TELEM1 because the device is port powered and TELEM1 supports this.
  • TELEM2 = radio data modem. Using TELEM2 because I need flow control, therefore must be either TELEM1 or TELEM2 (and 1 is already taken)
  • GPS2 = ADS-B Transponder, configured as a serial port.
  • Micro USB port = on-ground configuration, troubleshooting etc.

Here’s what I need to add:

  • Arduino Mega via UART (that is, a normal Serial connection)
  • Ethernet (I understand Serial ports can be configured as Ethernet ports)

I am out of physical connection points so I either need to be able to reconfigure an unused physical port (e.g. CAN2, or the USB port that’s not the micro-USB connector) as an independent Serial port, or I need to expand the number of physical ports somehow, or I need to change to another autopilot that offers at least 5 ports.

Suggestions please?

The easiest way would probably be to use DroneCAN AP_Periph node to run some of the devices like GPS and ADSB transponder. Periph IIRC also supports UART over CAN but I would prioritize putting natively supported and low bandwidth devices on the node.

2 Likes

UART GENERIC x2
UART GPS
UART 4
Have you thought of using the UART GPS as a UART port and replacing it with a CAN GPS?

Are you using the ADS-B IN carrier Board? Are you doing the OUT as well?

I think you need both Serial and CAN.

MicoAir offers more UART ports.

1 Like

GPS1/TELEM3 is usable, just get a CAN GPS.

Thank you @Jai.GAY ,

  • Brilliant idea about UART GPS. In fact I already changed over to a CAN GPS severa months ago, and the empty GPS 1 port has been staring at me this whole time - I just needed someone to point at it. Thank you.
  • Yes it’s the ADS-B IN carrier board, I’m using a uAvionix transponder for ADS-B OUT.
  • Thanks for the link on Ethernet, this is a “nice to have” rather than an essential at this stage. Looks like I’ll have to do a bit more study.
  • Thanks for the MicoAir link, interesting option.

Thank you @xfacta , yes I’m kind of an idiot for not noticing that earlier.

Thanks @LupusTheCanine , just checking my own understanding of your suggestion:

You’re suggesting that I install DroneCAN AP_Periph, which is some kind of custom firmware (?), on the Cube Orange. This will allow me to run GPS and transponder through a single CAN port (?) - thereby freeing up the Serial ports they would otherwise use?? Am I half way to understanding correctly?

no he means get a can node running ap_periph and it will convert your serial devices to can.
https://www.mateksys.com/?portfolio=can-l431
https://www.mateksys.com/?portfolio=can-g474

2 Likes

Ah, wonderful thank you.

I am curious, will such a module work under the Ardupilot ecosystem? TTL UART to CAN Mini Module. Compared to Mateksys, it seems it will not work. It seems it is for the general UART-to-CAN signal conversion.

We do not support UART to CAN adapters. AP_Periph nodes translate communication with additional peripherals to specific UAVCAN messages (with the exception of tunneling serial).

But this adapter should work with the Ardupilot ecosystem, right? UART to Dronecan Adapter CAN Port Expansion. It seems an alternative to Mateksys’s products.

Thanks all, this has been good. Just closing the loop for future generations, here’s how I’ve added the two additional devices:

  1. Arduino Mega connecting to I2C 2 port, which was already free (rather than a Serial port).
  2. Ethernet device (CubeNode ETH - requires both a serial port and a CAN port):
    1. Used a CAN GPS, then configured GPS1 and GPS2 both as Serial, giving me the one extra physical serial port that I needed.
    2. Using a CAN hub/splitter to connect my CAN devices together on a single CAN physical connector, thereby freeing up the other physical CAN connector.

If it’s running ap_periph then it should work. Remember to put the correct firmware on it, the chips most can adapters use have a small amount of memory so they don’t support every device in a single firmware.