Overriding in-use UART ports
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?
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.
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:
Check out this commit:
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:
Holler if you have any questions, I wrote that some time back but I don't remember any gotchas.
@modaltb Great, I will check this out, thanks so much.
Sem Andeweg last edited by
In our setup we are two UART short.
We would like to use 2 UART ports for:
- TELEM3 (DJI FPV)
- Dshot telemetry
The UART ports that we don't use are:
- J2 Debug
- J4 UART ESC
How could we use these existing UART ports the way we would like to?
@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.