Skip to content

NexusX(R) swap rx/tx pins for port A, B, C if configured as CRSF receiver#11423

Open
wimalopaan wants to merge 2 commits intoiNavFlight:masterfrom
wimalopaan:wm_crsf_rxtx_swap
Open

NexusX(R) swap rx/tx pins for port A, B, C if configured as CRSF receiver#11423
wimalopaan wants to merge 2 commits intoiNavFlight:masterfrom
wimalopaan:wm_crsf_rxtx_swap

Conversation

@wimalopaan
Copy link

@wimalopaan wimalopaan commented Mar 13, 2026

This is for NexusX(R) target only.

The NexusX(R) has three JST-GH ports labeled A, B, C.
These ports have the same pinout (tx, rx, Vcc, Gnd) as the ELRS receivers. If one connects the receiver with a 1:1 JST-GH cable (that Radiomaster used to include in the package), this cannot work. Instead a cable with tx/rx crossed is needed. This is very annoying.

This PR swaps the rx/tx pins of ports A, B, C if they are configured as Serial RX using CRSF. Therefore, users can use the standard 1:1 JST-GH cable that most vendors include in the shipping (if the receiver as a JST-GH port).

@github-actions
Copy link

Branch Targeting Suggestion

You've targeted the master branch with this PR. Please consider if a version branch might be more appropriate:

  • maintenance-9.x - If your change is backward-compatible and won't create compatibility issues between INAV firmware and Configurator 9.x versions. This will allow your PR to be included in the next 9.x release.

  • maintenance-10.x - If your change introduces compatibility requirements between firmware and configurator that would break 9.x compatibility. This is for PRs which will be included in INAV 10.x

If master is the correct target for this change, no action is needed.


This is an automated suggestion to help route contributions to the appropriate branch.

@Target0815
Copy link

The PR is only compatible with RM PWM-ELRS receivers on the NEXUS-X. Why would you do that? The NEXUS-X has 9 PWM ports.

Furthermore, the current pinout works perfectly if you plan to use simple ELRS receivers and RM ERS sensors.

@wimalopaan
Copy link
Author

wimalopaan commented Mar 13, 2026

The PR is only compatible with RM PWM-ELRS receivers on the NEXUS-X. Why would you do that? The NEXUS-X has 9 PWM ports.

Furthermore, the current pinout works perfectly if you plan to use simple ELRS receivers and RM ERS sensors.

Do you know the Radiomaster RP3-H? This receiver fits perfectly to the NexusX(R) because it has also a JST-GH jack. So, this pair is a perfect one.
And if you already have to solder your own cable, the pinout really doesn't matter.

And this thing doesn't affect ERS sensors: Only CRSF receiver ports.

@Target0815
Copy link

Instead of writing a PR that renders all existing installations obsolete, I’d prefer a swap option in the receiver settings when ELRS is enabled. THEN it would work for everyone...

@wimalopaan
Copy link
Author

Instead of writing a PR that renders all existing installations obsolete, I’d prefer a swap option in the receiver settings when ELRS is enabled. THEN it would work for everyone...

Sure, maybe I extend this PR ...

@sensei-hacker
Copy link
Member

Agreed, a setting that could be used by anyone who wants to swap any uart pins on any FC could be useful. That could replace the existing defines:
USE_UART1_PIN_SWAP
USE_UART2_PIN_SWAP
USE_UART3_PIN_SWAP

Forcing the pins to swap (suddenly become wrong) on one specific target so that it happens to match one specific receiver doesn't make sense to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants