Hi PX4 devs,
I’d like to ask a more conceptual / architectural question about adding more UART ports on PX4-based hardware.
From a professional / commercial user point of view, there are use cases where having more point-to-point UART interfaces would be beneficial, even if they don’t require very high data rates.
One idea I’ve been thinking about is using an SPI-connected multi-UART expander, for example something like the MAX14830, to add up to 4 additional UART ports over a single SPI bus.
My questions are mainly around what the “right” way would be in the PX4 ecosystem:
-
Is this kind of approach considered reasonable / aligned with PX4 design philosophy?
-
If one were to pursue this, where should support ideally live?
-
At the NuttX level (as a generic UART driver exposed to PX4)?
-
Or handled more at the PX4 layer as a specific driver/module?
-
-
Any known pitfalls in terms of timing, scheduling, or maintainability when multiplexing UARTs over SPI in a flight-control context?
At this stage I’m not pushing a specific implementation, just trying to understand what would make sense architecturally and what the trade-offs are. I’d especially appreciate comments or guidance from the more senior dev team or anyone with experience in PX4 low-level drivers.
Thanks in advance for any insights!