Matek F405-STD Frsky Passthrough telemetry issues (4.0.3)

I’m just setting up a new build with a Matek F405-STD and Frsky R-XSR and am having telemetry issues. I can’t get Frsky Passthrough or just Frsky telemetry working, I can control it with sbus and get the basic rssi and rxbatt telemetry but no frsky. I’ve tried Protocol 4 and 10 but neither seem to work, my goal is to use Yaapu which I have working on another quad with a Pixawk and Jumper R8, but no joy with this. I’ve solded onto the pad for the uninverted smartport and used mateks instructions: I have a pixhawk as well but am unsure how to hook up the smart port to test as it has the telemetry port and a tx + rx.

Any help appreciated, thanks.

Frsky Smartport Telemetry!
non-inverted (hacked) S.Port signal
TX4 pad
SERIAL2_OPTIONS 7 (also tried 4, like in screenshot)
SERIAL2_PROTOCOL 4 (also tried 10)


1 Like

No one got any ideas to sort this? It’s a pain doing test flights with no telemetry and being unable to find out why it won’t arm etc.

If anyone was wondering, I contacted Matek and you have to bridge one of the Jumpers, in this case TX4, you can literally toggle the telemetry on and off by shorting it and it works instantly, I’ll solder something permanent at the weekend. If you accidentally short the yellow one it reboots the autopilot.

Matek F405-STD Resistors

I think it would be worth updating the main page for this controller:

With the info from here:

For both the ADC (power monitoring) and Frsky Smartport Telemetry as well as my image above about the Telemetry fix which Matek obviously know about as they sent it quickly but don’t have it documented and it affects lots of people (you can see it raised as an issue on various sites),

Hi rc89, you say goal is to use Yaapu.
Any success?
I thought this was a limitation due to 1MB Flash size on the F405.
LUA scripting feature requires a 2MB board or?

This worked great with Yaapu for me on the Pixhawk. Max3232 and a 3.3v diode :slight_smile:
OBS! I just came across info from Mr. LuisVale in another post advising to remove the red / voltage) cable going to servoplug/receiver. Advise said its only needed voltage from one side e.g. DF13 on Pixhawk. I will test this on my Pixhawk with the nice Yaapu Lua telemetry script.

Unless I misunderstand what you are saying the Yaapu LUA script runs on the Transmitter, you don’t need LUA functionality on the Flight Controller firmware for it to work. .

Tnx a lot, this was good info to clear my head !

I was confused by this Note in Wiki:

The new LUA scripting feature requires a 2MB board

Copter ver 4.0.5Stable, Frsky Smartport Telemetry,
I use receiver X8R and Smart Port Connected Ground and Signal to Inverter (no 5v red cable)
Then from Inverter to TX4,RX4,5V&G on the F405-STD
SERIAL2_OPTIONS 0 (Its several options available now)
Yaapu’s Lua script works fine! No bridged resistors this ver. :slight_smile:F405-STD Yaapu working, 5v from FC onlystrong text

Can i use 3dr with Matek F405wing ? thanks

That’s good to know, I had to bridge the resistor but I’m not using an inverter, just the uninverted port on my R-XSR.

Many thanks to @rc89 for providing your solution! You ended my two day journey to getting Frsky passthrough (and standard) SmartPort telemetry working with my R-XSR receivers. I have a plane with a Matek F405-WING flight controller, and a quad with a Matek F405-CTR flight controller (now discontinued I believe) that I was able to get Frsky S.Port telemetry running with R-XSR receivers by bridging jumpers.

–For R-XSR with Matek F405-WING–

I contacted Matek and they advised I solder across a resistor to fix the telemetry. They said that these resistors exist for I/O protection but R-XSR recievers do not function well with them. To fix this, simply solder across the correct resistor for your UART selection (either for TX1 or TX6) according to the following picture:

When connecting the R-XSR make sure you solder to the UNINVERTED SmartPort (labeled P on the board). The uninverted S.port will connect to either TX1 or TX6 on the F405-WING.

Ardupilot settings (same as what is listed in Matek website) where “x” is either 1 or 6 depending on which port you choose:
SERIALx_PROTOCOL 4 or 10(for Yaapu)

–For R-XSR with Matek F405-CTR–

The same resistor I/O issues exists with this board, but I am not 100% sure which resistor is needed to fix the issue. To be honest I just started shorting every tiny component on my Matek F405-CTR board with a pair of tweezers until the telemetry started working. I connected the UNINVERTED SmartPort on the R-XSR to TX3 (Serial 1) on the flight controller. I wish I knew which exact resistor fixed it, but I do know it was in this general area:

And for whatever reason after the Frsky telemetry starting working once with the tweezers, it continued working even with powering off/on the flight controller. I can only imagine I fried something on the board with the tweezers… That being said, I RECOMMEND YOU REACH OUT TO MATEK IF YOU ARE WORKING WITH A MATEK F405-CTR BOARD. It is not worth frying your board without knowing which resistor it is to short. I simply got lucky. Many of the components will restart your board if you short them.
Ardupilot settings:
SERIAL1_PROTOCOL 4 or 10(for Yaapu)

–“Fixes” that did NOT work–

I also want to clarify a few things that will NOT help with telemetry with Frsky receivers with Matek F405 flight controllers (at least from my testing):
–Using external inverting/half-duplex hardware (homemade MAX3232 RS-232 to TTL converter cable). The issue is not related to signal inversion, at least as long as you wire up your R-XSR receiver as @rc89 and I have detailed.
–Soldering a diode between TX and RX uart pins. This did nothing to make the signal work. I think this tries to create a half duplex with the UART, but setting SERIAL1_OPTIONS 7 should do this from the software side of things already.
–Swapping around UART outputs. I tried nearly every UART on my Matek F405-WING and nothing changed between them. If it is going to work I think it will work on whatever port (even the ones Matek doesn’t suggest).
–Switching to F.Port firmware. This did not fix telemetry. My RC commands were working as expected which was interesting though. I bet shorting the correct resistor will make this work though.
–Firmware changes. I run my QX7 transmitter and all receivers (all ACCST) with the “history” firmware provided by Frsky’s website. This is the Frsky firmware before v2.0.0. These firmwares should be numbered with a date as opposed to a version number.
– If SERIALx_PROTOCOL 4 doesn’t work, I can almost guarantee SERIALx_PROTOCOL 10 won’t work either. I wasted a lot of time trying either one hoping for some sort of change. Also, don’t forget to “discover new sensors” on your Frsky transmitter.

That about sums it all up. I hope this information is useful to someone (or if nothing else me in the future when I forget all of this). Moral of the story is that Matek is able to help you determine which resistor you need to jump if you just email their support line.

Some really great info there, thanks for adding it. My R-XSR is on 2.1 so it should work regardless of what you’re running.