# Overriding in-use UART ports

Source: https://forum.modalai.com/topic/84/overriding-in-use-uart-ports
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2021-01-08 21:34:38 UTC by gus
Replies: 4 · Views: 1294

## gus · 2021-01-08 21:34:38 UTC

Hi, I would like to use more than 4 UART ports on my Flight Core. Is it possible to override the non-default (GPS1, tel1-3) ports to enable additional serial port usage? For instance, could I use port J6 as an additional TEL4 port, by adding TEL4:/dev/ttyS3 below the TEL3 line? 

![Ports.png](https://forum.modalai.com/assets/uploads/files/1610141522648-ports.png) 

I am not using this port for battery messages (instead using dshot telemetry) so I could do this if the port configuration is viable, but I'm worried that making this change will screw something up on the FC, so I don't want to try it without asking here first. 

Is this possible on this port or any other ports? 5 UART ports would be extremely useful to me. 

Thanks,
Gus

## Reply by modaltb (ModalAI staff) · 2021-01-09 04:38:46 UTC

Hi @gus ,

We haven't tried this on all setups, so there might be some gotchas, but it should work.  Likely some customization of course, but underneath it is just a UART and you can tweak things.

A (pre released) example of me using this for a UART ESC is in this branch:
   https://github.com/modalai/px4-firmware/tree/modalai-1.11

Check out this commit:
   https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404ac

Here I use /dev/ttyS1 (telem3, USART2, J4) for an interface to our UART ESC.

Lot's of the code in that commit is obviously not applicable, but here's where I'm opening the port:
   https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404ac#diff-fe5217d5827b686586f293d2c0d790a79d798e206d9932b1d47cd1749280e2d8R56

And where I start things up:
   https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404ac#diff-54ee1de5bd31b9863085c67e1dc867182fa176b992549ba6e25e9f5d57e5625dR9

Holler if you have any questions, I wrote that some time back but I don't remember any gotchas.

Thanks!
Travis

## Reply by gus · 2021-01-09 06:08:46 UTC (in reply to modaltb)

@modaltb Great, I will check this out, thanks so much.

## Reply by Sem Andeweg · 2022-11-07 10:01:25 UTC

@gus and @modaltb did this work?

In our setup we are two UART short.
We would like to use 2 UART ports for:
1. TELEM3 (DJI FPV) 
2. Dshot telemetry

The UART ports that we don't use are:
1. J2 Debug
2. J4 UART ESC

How could we use these existing UART ports the way we would like to?

## Reply by modaltb (ModalAI staff) · 2022-11-08 16:40:06 UTC

@Sem-Andeweg I haven't personally tried, but:

J4 on Flight Core is by default a TELEM3 so should be OK to just use (3.3V TTL) https://docs.modalai.com/flight-core-datasheets-connectors/#j4---uart-esc-uart2telem3

J2 by default is the nuttx shell interface.  I have always left this as I use it for debug....  but I believe you could remap it.

There are some limitations on number of MAVLink instances in PX4, but both your use cases above sound like "not MAVLink", so it would be a matter of messing around with the source code a bit.
