Skip to content

Arduino application using Arduino mini/micro/nano to tap Mavlink protocol from Arduplane and send it out to FrSky RC telemetry receiver for my quantracker antenna tracker project. (supercedes the original STM32f4 version)

License

Notifications You must be signed in to change notification settings

macfly1202/mavlink_to_frsky

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A board to read data from the Ardupilot using Mavlink protocol and 
convert it into a lightweight data protocol for the FrSky Telemetry RC receiver for my Antenna tracker project.

See more about the project at http://www.zoomworks.org/fpv/antenna_tracker/index.html .

The code is available under the GNU GPL license http://www.gnu.org/licenses/gpl.txt

** History **
I have now updated the code to version V1.0

The recommended version is now the arduino version (in the arduino subdirectory). 
This version uses the 5 V 16 MHz Arduino Nano, Arduino Micro or Arduino Pro mini boards, which are available quite cheaply and
reduce costs and simplify building the airborne side of the Antenan Tracker project.

** Pin Connections **

If there is no other equipment connected to the Ardupilot telemetry Rx pin then the Arduino TX pin
goes to the telemetry RX pin on the Ardupilot (the same as the MinimOSD), otherwise leave this unconnected 
else it will conflict with  the other equipment.

If other equipment is connected to the Ardupilot telemetry port then the following will have to be tee'ed to those connections.
The Arduino  RX goes to the mavlink TX on the Ardupilot (the same as the MinimOSD)
Arduino GND  goes to GND on the Ardupilot (the same as the MinimOSD)

PIN 9 of the Arduino is the Serial output of Telemetry data to the RC Receiver.
N.B.  FrSky receivers want an inverted TTL signal which is done in software, so for connection to the telemetry RX input of
an FrSky receiver, you should connect the Arduino pin 2 to GND ( e.g by soldering or using a jumper).

The device has also been tested with the OpenLRSNG RC system. For those ( and other TTL serial) receivers then leave pin 2 unconnected 
and the serial output will not be inverted. 
Note that most OpenLRS  receiver boards run on 3.3 v so the output of arduino pin 9 should be level translated.
One way to do this is to connect the anode of a red led (, which has a voltage drop odf about 1.8 V)to the Arduino Pin 9 
and connect a 470 ohm to 10 k ohm resistor from the LED cathode to ground. The output to the OpenLRS RX input should be taken at the
LED cathode where the LED and resistor join. A high on the arduino pin should have a voltage at the LED cathode of about 3.2 V. 
(The actual value of the resistor is not critical. A lower value will mean the LED lights up more so you can see the data flow,
but uses more power. The voltage drops slightly as the resistor value gets lower, but not much.)


---------------------Notes on the original STM32F4 version------------------------------------------------------------

You may wish to try the Application first using the stm32f4 Discovery board.

Since some pins are already taken on the Discovery Board a different set of pins is used,
The discovery_main.bin file (https://github.com/kwikius/mavlink_to_frsky/blob/master/discovery_main.bin)
is prebuilt for the Discovery board, 
while the target_main.bin file  (https://github.com/kwikius/mavlink_to_frsky/blob/master/target_main.bin) 
is prebuilt for flashing the target board. 

See "resources.hpp" (https://github.com/kwikius/mavlink_to_frsky/blob/master/resources.hpp)
for the pins used for each version
---------------------------------------------------------------------------------
To build the Discovery version either use "make Discovery" on the command line or see "config.hpp" for #defines
To build the version for the target use "make" with no arguments on the command line or see "config.hpp" for #defines

To build the application requires the following prerequisites.
( You will need to modify the MakeFile (https://github.com/kwikius/mavlink_to_frsky/blob/master/Makefile)
to the paths where you have installed these components )

	***C++ compiler for ARM which conforms to the C++11 standard. ***
	(N.B.Only tested on gcc4.7,gcc4.7.1,gcc4.7.2. If you test another compiler please report any issues) 

		https://launchpad.net/gcc-arm-embedded

			Select gcc4.7

		or
		
		https://github.com/prattmic/arm-cortex-m4-hardfloat-toolchain

			(You will need to modify the Makefile to enable C++)

		or

		https://github.com/esden/summon-arm-toolchain

			(Not tested by me)


	***STM32F4 standard peripherals library***
	
		http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4_dsp_stdperiph_lib.zip

	***quan physical quantities library***

		https://github.com/kwikius/quan-trunk

	***Mavlink protocol library***

		https://github.com/mavlink/mavlink/downloads
	
--------------------------------------------------------------






About

Arduino application using Arduino mini/micro/nano to tap Mavlink protocol from Arduplane and send it out to FrSky RC telemetry receiver for my quantracker antenna tracker project. (supercedes the original STM32f4 version)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 81.8%
  • C++ 17.3%
  • Other 0.9%