MavLink to FrSky SmartPort Converter


At Airborne Projects we have developed a APM MavLink to FrSky SmartPort Converter based on the Arduino Nano, designed and tested with the Navio in mind, allowing for connection through the USB port of the Raspberry PI.

We initially designed it for ourselves because the alternative, as also mentioned on this forum Telemetry to FrSky receiver was a Teensy, which not only is not open source friendly but is also very expensive.

Our project features full compatibility with typical RC voltages(5V-10V) because we made a modification to use a more efficient and better voltage regulator than the ones found on stock Arduino Nano.

The code is open source, and you can build and modify it to your heart’s desire but we offer you a wrapped version with pre-loaded firmware and voltage regulators so that all you have to do is plug it to your Taranis’s SmartPort and your Navio on the hardware side. No weird inverters

On the software side you only need to load the telemetry files and configure the telemetry data of your Navio in Mission Planner. We have also prepared a manual with all the steps.

The code is based on Scott Flys’, with bug fixes and streamlining. The new features are based on requests of our pilot:

  • True verification of arming status directly from the correct heartbeat flag MAV_MODE_FLAG_SAFETY_ARMED.
  • Verification of arming status from the correct heartbeat sys_id
  • An ArrowHead with Relative heading regarding arming orientation, so you can always know where your aircraft is pointing regarding it’s arming position in real time.

To top it off we have also prepared a manual to make sure everything works as intended. Even so we monitor this forum and will help people if they require.

1 Like

Having worked with the existing variants (Teensy and the “official” but limited Pixhawk+adapter) this is a welcome addition in my point of view. Besides the Teensy being overpriced, I also found the Pixhawk adapters overpriced and generally out of stock. So it’s good to know there is another “finished” alternative. You should let them know on this discussion over at the APM repository:

I built a Teensy with custom battery cell monitor, but it’s extremely complex and the cables usually get damaged on the first crash. So I’m experimenting with the FrSky SPort battery sensor (the nice OLED one) together with the standard converter cable. But I think that requires extra work on the source code to also translate back from FrSky messages to APM. Perhaps something you could integrate into your code too (full bidirectional sensor support). That would also open-up the world of FrSky sensors to APM, e.g. air speed, RPM, temperature, etc…

As it appears to have all the main features already, it looks like your product is already relevant for Navio users, as we have less external UART connectors. It also brings us closer to an “off the shelf” plug-and-play solution. From the pictures on your site I see it comes with multiple connectors from the USB port, to UART or USB which is good.

If you make a future hardware revision and the Arduino supports it, one neat trick I found with the Teensy was to write code to echo/proxy messages to and from a spare port. Not a problem with USB connectivity, but it’s a very useful capability for people wishing to use the more compact/lightweight UART connector but still other devices like a secondary GPS and 3DR radio.

Hey CodeChief,

Thanks for the interest. I will surely take our proposition to the Github issue you mentioned.

Regarding the FrSky SPort battery sensor it surely is possible to translate messages back to MAVLink as the software parser shares the same “abstract” data structure. The code is quite clean. I just didn’t know the Ardupilot accepted sensor values(except RC overrides) through Mavlink. I have never spotted such code but maybe I missed it. If you can point me to a sensor input through MAVLink let me know and I can add the bi-directional support if there is demand for it.

Actually I have been dreaming up of a way to have a virtual sensor code in the Ardupilot that just takes values sent through Mavlink. That is very useful for Auxiliary computer communication like vision position in a general way.

Indeed it is an off the shelve component, you just can’t have them both connected at the same because they share the same pins in the Arduino Nano. I never thought of that scenario and should put a warning against that case in the manual.

The software proxy can be implemented, but if I correctly interpret, you mean to use the Arduino Nano as a USB to Serial converter with the connector already in place?

Again thanks for the feedback

Hey Paulo,

Exciting stuff! Really glad to see a new way to send telemetry from Navio+ and free the only UART port. Posted it on our FB.

I think it might be worth adding a set up guide to our docs. Will you be able to write a set up guide for the docs? It is very easy to make an addition by sending a pull request on GitHub. You can as well add a link to your store below your case in the docs.

Thank you a lot for your support. We feel flattered.

Regarding the documentation I will adapt our manual and make a pull request for your approval.

We wanted to make a UDEV rule for the Arduino Nanos but we are not sure if people would install them or if every version of Arduino Nano would have be correctly identified. What is the community’s opinion.

We have now added support for OpenTX 2.1.3. Enjoy :smiley:

Will it be possible to use this along with 3DR Telemetry radio? From what I see, there’s some wiring changes to be done.

Do you include adaptors to have this functionality(Y Cable)


Yes that was what we were talking about, with this adapter you can connect in multiple ways. So the idea to free the UART port was to use it’s supplied USB adapter to connect it to the RasPi, then the original Navio UART is still available for the 3DR radio system.

It should just be a case of setting the parameters correctly at start-up of the APM program. That’s all documented here.

Hi, does your converter work in both directions? Would it convert S.Port to Mavlink?

No unfortunately not. We are working in such a capability but we have other projects working on now. Sorry.

Hi, would this work with the turnigy 9xr transmitter i use the same module and reciever from frsky.

Interesting… I did a similar convertor for Spektrum if anyone is interested…

It also has the option of using either a USB connection or the serial… and it is very easy to proxy through the mavlink messages to other devices through the onboard serial port.


1 Like