Hi all,

I just bought an FrSky Taranis for my quad copter and needed to get the Mavlink data up on the Taranis LCD telemetry display. So here is my solution using a Teensy3.1 as a converter between MavLink and the S.Port on FrSky X8R.

See attached file below...

Views: 308718


Reply to This

Replies to This Discussion

Hi Rolf,

I just want to first of all say thank you for this, this is so easy to achieve its fantastic, great work!

I now have my Hex with a pixhawk outputting telemtry from pixhawk to my Taranis control, laptop via wireless and also OSD

I did have one thought, how difficult would it be to add into the code the ability to drive one of these (https://www.pjrc.com/store/dev_display_128x64.html)? I know that weight is king in a drone, but for a few grams this would be an excellent way to see the status of the pixhawk/apm etc.



Just want to start with a thanks for this great project.  I am still waiting on my taranis but  I was wondering if this could work on a Digispark (http://digistump.com/products/1) instead of a teensy of if I should jut get a teensy on order. I only ask because i have some digisparks and orders take about 30 for anything  to ship out here... 


The Digspark is using 5V and FrSky S.Port is 3.3V. 

Problem found and fixed. A teacher once said to me "start with the basics" - was a break in the TX  cable I used, how embarrassing ...

BTW I am also running a 3DR power module (4S batt in my case) - my IO voltage measures 4,96 V. Pretty close but still works fine

The LCD display was my first thought when i saw this but i am thinking a display like the 4D Systems 3.2" 320 x 240.

The use would be for a working scale Primary Flight Display. Look super good from a FPV cam.



How are you progressing with the CPPM output.

I started a thread over at Teensy forum asking about decoding and encoding PPM streams. Paul Stoffregen jumped in and has started a library to do just that. Maybe just what you want to get that part going, worth a look at least He has written a bit about it here http://www.pjrc.com/teensy/td_libs_PulsePosition.html

The original thread i started is here http://forum.pjrc.com/threads/25265-Arduino-RC-library

Hope it is of some help to you.


The PPM encoding is easy... the problem is with using 3 serial ports ( Mavlink, S.Port and S.Bus ) at the same time and not  having timing problems with the PPM data.


have a look at his code i think you will be surprised.

Quote from him

PulsePosition is designed for 0.02 µs accuracy (approx 24X better than most Arduino implementations using AVR Timer1) with tolerance for significant interrupt latency caused by other libraries. All output waveforms are generated by hardware timer compare and all input waveforms are read using hardware timer input capture, for extremely precise timing. Pin change interrupts, which add error due to interrupt latency, are never used.

Hi Francis,

this does not compile for me. The compiler complains that there is no ) before a numeric constant. Is there a '' missing in between temp and 20?

Could you maybe post your patched files?

I'm interested in connecting an EagleTree GPS to the Teensy3.1, and Sport. I'm also a noob to C++ coding. I've got 40 years in programming on mainframes in a dozen languages, so the learning curve isn't that steep. I was just hoping that Rolf might be able to give me a head-start using the Mavlink to FrSky library. Do you have any GPS code I could start with, or possibly a good place to start?


Hi Peter, I tried this but I cant get any HDOP value in my Taranis.

Could you attach the working file.

Thanks in advance/Goran

awesome!!   nice work!


would you explain what teensy 3.1 is  or give me a link ?



Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service