Cannot get crossfire nano working on F405-Wing board

I just flashed Arduplane 4.1.7 on my Matek F405-Wing board and I’m trying to get my Crossfire nano receiver to work on it. My board was running iNav so my Crossfire receiver was hooked up to the TX6 and RX6 UART, however when I open QGroundControl it does not detect my receiver even though my receiver is bound to my transmitter (the green LED is on). According to the F405 wiki UART6 is serial6 so I set SERIAL6_PROTOCOL to “Crossfire”. However, QGroundControl doesn’t seem to detect my receiver, the Radio icon is red and even though my receiver is bound when I move the sticks nothing happens. Has anyone gotten this working? I’m brand new to Ardupilot so I’m probably making a very simple mistake here but I have no idea what it might be.

I made some progress. I rewired my nano receiver using this diagram http://www.mateksys.com/?portfolio=f405-wing#tab-id-6 and set channel 1 of my nano rx from CRSF TX to SBUS on my transmitters Crossfire menu. Even this did not work though. I reflashed my F405 board with version 4.17 of arduplane and in QgroundControl I went to Vehicle Setup > Parameters and clicked on tools (upper right corner) and clicked “Reset all to firmware’s defaults”. I rebooted and the it worked! My receiver stick movements are registered in the radio section of QgroundControl. However, this does not get me telemetry right? Another strange thing was that the Matek page said to set serial1_protocol to RCIN (or 23), but even with serial1_protocol set to Mavlink2 (or 2) my crossfire receiver worked. Right now I have it set to RCIN just because the matek page said to do this, but it doesn’t seem necessary to do this. Another thing that I noticed was that serial1_protocol has an option for crossfire ( which also seems to be option 23). It seems like RCIN and Crossfire are the same thing, right?

Leave the SERIAL1_PROTOCOL set to 23. You should be able to set your receiver outputs to CRSF and wire up the TX/RX and RX/TX so you’ll get RC and telemetry to the radio. This will let you use the yaapu script if you are using an OpenTX/EdgeTX radio. Make sure you are wiring the nano to the TX1/RX1 pins on the F405Wing, not the sbus input.

If you use the nano with just sbus you won’t get telemetry, it’s just one way. It will work for RC just fine, but you’re not getting what you paid for.

Okay. I switched the receiver outputs for channel 1 and channel 2 back to CRSFTX and CRSFRX using the crossfire script on my transmitter and connected the channel1/2 pins to the TX1/RX1 pins on the flight controller and everything seems to be working now. Telemetry shows up just fine. I guess for telemetry I can only used UART1 on this board?

Sometimes you can get it to work on other ports but it may be slow or have lost packets. As per the Matek site, SERIAL1 has the DMA. This means it will transmit the data fast enough for full performance.