Adding bluetooth to FrSky (DJT/DFT) telemetry module

by hans | July 29, 2012 | (10) Posted in Projects

Context

This project needs a little context. I was looking for more options with my frsky telemetry module. I found this android dash project that I joined since then. It's an app and bluetooth bridge between your FrSky module and an Android device. The Android device runs an app that can be adapted for whatever data you want. It's all open source so don't hesitate to join at http://projects.onomato.biz/projects/android-dash/.

We are still working on this project and the hub support is only in beta available for now. We both have little spare time but we do book progress. The project website is very clear on the goals we want to achieve (thanks to the well organized creator). For now this project is interesting if you want your cellphone to speak out voltages or other derived data. Indeed no screen needed (it is there though :)), who looks at these screens while flying anyway?. Don't expect any nice graphical map presentations (at least not yet). The possibilities however are endless now that we have this data parsed and available on our smartphones.

I'm a full time software engineer so I've seen software, the good and the bad way. I can tell you that this project is technically well designed (and I only joined after the design :p).

The required hardware

We both used different bluetooth modules. The actual bluetooth part is often the same but the options to connect, the electronics around it are different. I got a module from goodluckbuy.com. I needed to invert the signal from the FrSky module in order to match the format my BT module requires. How this can be done will be explained later in this article. 

The creator of the project used a different module with the proper signal so he could just connect the pins from his module with the pins on the back of the DJT/DFT module. These are the pins used to connect the optional screen from FrSky (FLD-02). Details about this module can be found on the project wiki.  

Other than that you'll only need some wires & connectors and (if you go for the BT module that needs to invert the signal) soldering skills.

Adding bluetooth

So you have 3 options to add bluetooth to your frsky module:

1) If you don't want to mess arround with other modules in between and don't want to solder you should go for the BT module that accepts inverted signals (see link below). However these are a bit more expensive.

2) If you don't mind adding an extra module in between but don't want to solder on smd level than you can use the FUL-01 in between to invert te signal. The BT module is cheaper but you also have to get the converter.

3) The cheapiest option is to get the module from GLB and to open up your FrSky module to get to non inverted signal and feed your BT module from there.

Option 1: using a BT module that accepts inverted signal

From the linked project wiki:

According to the FrSky Document, "Protocol_two way telemetry series", The DFT talks RS232 Level. I therefore decided to find a Bt module with an attached RS232 level converter. I ended up with this: Bluetooth module with adapter board http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=200578455455.

All that is left to do is connect the right pins from the DJT/DFT module to the BT module. You can use those female to female jumper wires for this or use some female headers.

Option 2: inverting the signal using FUL-01

The first and easiest option to get that signal inverted is to use the FUL-01 part available from FrSky. This pcb is used to upgrade the FrSky components. The picture below shows the pinout. 


The big pins on top go to your FrSky DJT/DFT module. The one not labeled in this picture (3rd from left) goes to the VCC (+5V) pin and will convert that to +3.3V on the VCC pin below. The BT module I linked accepts 3.3v so you could link power this way also. A balance port type connector or servo or any other standard spacing connector can work for this. 

The small pins at the bottom of this picture go to the pins of the bluetooth module. Make sure to swap the RX and the TX pins. These pins are smaller so I didn't find a proper connector. If anyone has a good source for connectors for this spacing let me know. 

Below is a picture of how mine looked once everything connected. The black shrink on the bottom of the bluetooth module has the FUC-01 pcb inside. In this picture I have the BT module fed directly with the +5V pin from the DJT module since my BT was no longer working on 3.3v (my fault).

 

Option 3: getting the non inverted signal

The other option is to open up the DJT/DFT module and find the traces where the non inverted signal passes to tap the RX and TX signal from there. This way you don't need the FUL-01 part in between but if you open up the FrSky module (2 screws only) you'll notice that this is very fine work.

The picture below shows the position of the TX and RX traces. You can remove the green mask to reveal the copper of the pcb. Make sure not to cut the trace completely. 


I didn't discover or think of this myself. Credits for this go to the starter of this thread: http://9xforums.com/forum/viewtopic.php?f=23&t=430&hilit=without+ttl. The blue wire in this picture is the RX signal while the black one is the TX signal. Once you revealed the copper traces you can add a wire to connect directly to your bluetooth module.


The +5V and ground wire can come from the original pins. I don't think there is 3.3v available in here (there is in the Turnigy 9x for the display). I routed these wires outside without touching the original pins (so I could still use the FLD-02 display). Outside I have another connector in place that accepts the bluetooth module. Again switch RX and TX.


Configuring the bluetooth module

Now that you have your bluetooth module connected you'll need to configure it to use the correct baud rate (and other settings) for this FrSky DJT/DFT modules. The one from GLB came as it should: 9600bps, 8bit, No parity, 1 stopping bit.

If your module comes otherwise you'll have to connect it via wires over usb with your computer to configure these parameters. The connection can be done with an ftdi chip or a cheaper alternative like these CP2102 based modules. I didn't test it myself yet but it should also be possible with the 4.40 USD nokia cable from DX (check this link for instructions). 

Now you can use the so called AT commands to get everything set. For this open a serial connection with your favorite terminal emulator (screen for os x, putty for windows or other). Make sure to copy paste the commands in the terminal or they won't be fed fast enough and be misunderstood. Some explanation of the codes you'll likely need (info comes from datasheet):

AT
Returns "OK" if connection is fine. If no answer check your wires.

AT+VERSION
Returns the software version of the module, for me that was "OKlinvorV1.5"

AT+BAUDx
Sets the baud rate of the module. We need baud rate 9600 so use AT+BAUD4. It will respond with "OK9600". Other baud rates:
1 >> 1200 
2 >> 2400 
3 >> 4800 
4 >> 9600 (Default) 
5 >> 19200 
6 >> 38400 
7 >> 57600 
8 >> 115200 
9 >> 230400

AT+NAMEYourName
Sets the name of the module to "YourName". Any name can be specified up to 20 characters. Whatever name you set response is "OKsetname".

AT+PINxxxx
Sets the pairing password of the device. Any 4 digit number can be used, the default pincode is 1234. Response is "OKsetPIN".

AT+PN
Sets the parity of the module. AT+PN >> No parity check. Response is "OK None".

Btw don't try this with a bluetooth connection to your computer since that simply won't work. You really need it to be wired to your pc

 

Install the FrSky Android Dash

Now connect the bluetooth module to your FrSky module again and install the FrSky Android Dash app on your android and you're good to go. 


Let us now if you tried this app or have any other implementations for the frsky telemetry solution!

COMMENTS

Elfirico on March 26, 2014
Nice article, congratulations! I'm trying to conect my android device with my djt module on my turnigy 9x. I would like to use this

https://drive.google.com/file/d/0B8jhOn_9T0YHNnBTcHF1UGlpcGc/edit?usp=sharing

Can i invert rs232 signal in thsi bt module in order to use with anything else on my djt module.

Thanks in advance.
Log In to reply
Poppy Ann on August 1, 2014
great artical but why did you mount the bluetooth module on the outside of the case?
after seeing your article I decided to do the same except I soldered the wires direct onto the output pins and I mounted it inside the transmitter module using a little hot glue to keep it stationary and insulated from the other board.
regards Poppy Ann.
i would post a picture but i am not sure how to
Log In to reply
blotfib on December 16, 2014
I found that there is a 3.3V accross the capcitor C32 upper the soldering so If you have a 3.3V BT module, just solder the 3.3V, GND, TX, RX (cross them)
Don't forget to cut the RX line near the module (where the blue cable comes) because it is an input to the microcontroller STM32F103 that is originaly imposed by the level shifter Sipex 3232 (its pin 12 R1Out).
More on http://baghli.blogspot.com/2014/12/mod-djt-frsky-pour-telemetry-via.html
Log In to reply
ricardovasc on December 5, 2015
I can't read the alarms on my FrSky Dashboard and can't send also.
I'm using a FUL-01 in my FrSky module to send data for BT module.

Some konw how can I get and set the alarms?
Log In to reply

You need to log-in to comment on articles.


Adding bluetooth to FrSky (DJT/DFT) telemetry modu...