Mavlink to FrSky S.Port Passthru Converter for LRS or PX4 Pro

Hi @Daniel_Rohde,
can you please describe what are you trying to achieve?

Which one of this 2 use cases match your setup?

  1. you have an FrSky tx/rx combo like an Horus + an X8R,X4R or R9
  2. you’re using a long range system such as DragonLink, ULRS or TBS or perhaps EZWifibroadcast

I understand that you have OpenTX 2.2.3, good, that is a requirement.
I read you have ardupilot but which version?

Option 1

Ardupilot sends telemetry packets down the radio link in native frsky format, for this to work

  • flash your flightcontroller with a recent ardupilot firmware
  • enable frsky passthrough telemetry on one of your serial ports by setting SERIALn_PROTOCOL = 10 where n is the number of your serial port, you do this with mission planner by going to full parameters or with QGroundControl in the telemetry setup page.
  • get yourself an inverting cable such as this one

Option 2

Ardupilot produces mavlink messages and these need to be converted to frsky telemetry either in the air or on the ground. The most common use case is on the ground where a teensy converts mavlink messages to frsky telemetry packets and feeds them into the Horus which displays them with the Yaapu Widget
For this to work you need

  • get a board supported by Eric’s firmware (Teensy, etc)
  • configure and compile the firmware for your board and use case (air/ground/relay)
  • wire according to the docs

enjoy your new system :slight_smile:

Alex

Hello Alex I use a Horus X12 to a X8r in 2,4ghz area I would like to see the Yaapu script with all the details such as battery and so on and GPS, etc. I use a Pixhawk 2 with ardupilot 3.5.x I have the Tinsy like on the one picture connected to telemetry port 2 and installed the script as described on the remote control. My goal is that all statements of the script will work and no sensors lost message comes more Which HEX file exactly should I flashing yes from 0.9 -1.1x? and I have already mentioned open tx 2.2.3 on the run. Thank you for the excellent support p.s. a question still need I this Orange module what is mentioned or can be passed over the whole telemetry channel?

Daniel,
with your setup you do not need a teensy, all you need is an inverting cable

The wiring is:

FC → inverting cable → X8R s.port

take a look at

http://ardupilot.org/copter/docs/common-frsky-telemetry.html#common-frsky-equipment
http://ardupilot.org/copter/docs/common-frsky-telemetry.html#diy-cable-for-x-receivers

Oh my god :sweat_smile: The solution can sometimes be so easy :slight_smile: I’ve been experimenting with this thing for weeks and I thought I was too stupid :). Thank you and I will contact you if the components are there and have been successfully installed :slight_smile: A small question at the end, I can use this component with a Taranis X9D Plus? :slight_smile: because my buddies certainly want to have this great script as well :slight_smile: I wish you a nice day and thank you for the very fast answers that you have saved me a lot of work :slight_smile:

Daniel, we all started from “the beginning” :slight_smile:

the script works on all FrSky radios: Taranis X9D, QX7, X-Lite and Horus
The setup is similar, take a look at the docs for further infos

cheers,
Alex

Hey I’m it again :slight_smile: so I have now built this component from the instructions: Some soldering required have put it on telemetry 2. and changed the serial protocol 2 to 10. On the Horus x12 runs the yaapu script and the remote control but finds no other sensors. What have I done wrong. Thank you for your help in advance

Hi Daniel,
you have to make sure the cable is working, what sensors do you discover if you do a sensor discovery with your flight controller wired and powered on?

Yes of course, have inserted everything as described. The script runs on the Horus. But under telemetry sensors only the 2 standard ones are shown. The latest open tx also runs on the Horus. What else could I have done wrong under serial 2 is changed to 10. I’ve also tried the script for the Taranis, there comes a syntax error, there’s the latest OpenTX on it and of course Lua and Luac set a hook.

Would it help if I took a picture of the building block and its wiring ? or photograph the folder structure on the Horus / Taranis ? Thank you in advance for your help.

Sure, a picture would help. If you only see 2 sensors than either the cable is not working or it’s not connected to serial 2.
Perhaps try exchanging tx and rx on the flight controller side if the cable

Daniel, I had mixed results with those converters. I started to type a simple alternative for you, but then realised this converter is likely between the Pixhawk and the airbourne receiver. In that case I resorted to using a pair of transistors to invert and convert to single wire.

Good morning to all and a huge thank you to all it finally works. The devil is sometimes in the detail. 3 ttl to rs232 converters had to die because I found the error. the problem was that the solder pads on my board were only connected to the controller from below but I had used the upper solder pads. Now everything is displayed super. Only the mah and the Ah indicate 0.00, would be super if you could tell me how I can still solve the problem :slight_smile:

Ok just seen I need the mAh and Ah display not at all you could remove the from the script nicely and if yes how do I do that :slight_smile:

Hi,
you need to recompile the script to remove them, there no option in the config menu to hide mAh and/or Ah

Hi Mathew

My understanding is you want to convert Mavlink passthru telemetry out of the RFD (on the ground) to FrSky telemetry, then feed it into S.Port of the Tarnis. In this case you need to flash Ground Mode. The led should blink when the converter sees good Mavlink telemetry.

Use Mission Planer to set he Pixhawk serial port telemetry to the Mavlink 1 or 2 protocol at 57600 b/s.

The alternative is Relay Mode. Can I suggest you read up on that in the Wiki and decide if that is what you want Mathew :slight_smile:

Ok, the example in the diagram was presented by one of the guys using ULRS, which sends telemtry at 19.2k b/s. In your case, susbstitue the RFD for the ULRS, and I believe you may use 57600 b/s.

So you want to use relay mode, the bottom option in the diagram. This differs fro ground mode in that you have a typical FrSky receiver, like an XSR, to relay the telemetry to the Tatanis. By doing this you avoid wires dangling out of the Taranis and leading to the RFD900 receiver. (I don’t have an RFD900 and my knowledge of that system is limited).

When the Mavlink 1 telemtry emerges from the ground RFD900 you convert it with the Teensy, and synchronise with the XSR receiver, which sends the data stream to the Taranis in native FrSky mode.

Note when you scan for sensors on the Taranis, two RSSIs should show up, one for the long RFD link, and one (unwanted) one for the short, XSR <–> Taranis link. I normall simply delete the unwanted one.

I might not be back on the net for a few days as I’m travelling.

Hi Eric, I’ve got this minor issue running a Teensy 3.2 With Alex’s LUA. I have both Tx and Rx connected to FC and #define Battery_mAh_Source 1, yet even after a few flights, battery cappacity is displayed as 0.00Ah. Everything else works.
Two copters, both sporting regular Pixhawk clones, one I’ve updated to 3.6.9, on the other I only had time to update the Teensy and Taranis, else running 3.5.7 iirc.

Hi Cornel

Battery_mAh_Source means battery capacity when full in mA hours. It can be read from the FC , as you have chosen, which means it was entered through Mission Planner battery setup.

Battery consumption, also in mAh is calculated as the integral sum of all the differential di/dt measurements during the flight, and this is deducted as you fly, from the reported battery capacity.

So, is your reported battery capacity when full correct, before you fly? Or is the consumption wrong during your flight so that the remaining capacity is reduced to zero too quickly?