FRSKY's CPPM at 27mSec - Firmware update with FT_Prog and FTDI cable

Introducing the Issue and the solution:

We've talked about FRSky's CPPM signal on this other post that compares it with a standard PPM signal. The issue is that originally FRSky's CPPM runs at 18 milliseconds. That short period has no space enough for 8 channels plus a proper sync pulse.

After carrying that issue to FRSKY, Jani came up with two FRSky's beta firmwares running CPPM at a 27 milliseconds period. We did test it at the DIYDrones Dev Team and it seems to work pretty fine.

Some guys at that old post were expressing their worries about the 37Hz update speed from the new custom firmware. However, keep in mind that probably you will not see any difference. Mainly if you aren't a crazily fast acrobatic pilot. Furthermore, our focus here is on drones. A good example is the Mission Planner that uses only 20Hz for joystick control.

Well, now those beta firmwares became official: There are custom firmwares for the receivers D8R-XP and D4R-II on their BetaTestSection. The links are now on FRSKY's download area. (Thanks Vladmir for the heads up).



About the Updating process:

Inside of each update zip file there is a PDF explaining how to update your receiver. I'll not describe it here because it's pointless.

Reading their manual you'll see that an FRSky USB cable is necessary. That adapter is a TTL level "USB to RS232" one.

But what's the difference from that adapter and a common "USB to Serial TTL" one? There is just a single difference: the signal is inverted. FRSky's adapter uses the RS232 logic but not an usual RS232 high voltage level that would vary from -25V to +25V. Though the receiver's serial input has internally not just an inverter but also has a RS232-to-TTL voltage level shifter as shown on the diagram bellow (from FRSky's Two Way System Manual):

How to use an FTDI cable:

When I received the first beta firmware some improvisation was needed because I had no the required FRSky's adapter.

I've used my FTDI 3.3V cable with a little trick and it did work perfectly! All I did was configuring the cable to work with inverted input and output signals. ;)

Here goes how you can make that too (at your own risk):

First you need this powerful tool who did the magic: The "FT_PROG" from FTDI Utilities. It runs from a folder and doesn't need to be installed.

The first thing you'll gonna do is attach your FTDI cable and select "Scan and Parse" from "Devices" menu.

After finding the adapter the screen will be like this:

Now you'll navigate at the "Device Tree" selecting the "Hardware Specific" node for checking the proper options that will invert TXD and RXD (output and input of FTDI cable).

Now click on the "flash icon" as shown below:

On the programming screen click on the button "Program" and watch the status bar until it finish.

That's it! After the steps above you have a TTL inverted FTDI cable.

It's reversible, of course. You just need to follow the same steps but this time deselecting the inverting check-boxes.

You'll just need to use some jumper cables. The receiver can be powered  by the 5V output from the FTDI cable.

Remember of crossing the connection between your FTDI cable and the receiver input:

FTDI_TXD (orange) goes on the Receiver_RXD.

FTDI_RXD (yellow) goes on the Receiver_TXD.

If you'll flash your receiver... good look! =)

Please, add comments telling us about your experience on it.

Views: 93742

Comment by Jani Hirvinen on October 14, 2012 at 6:17am

Great guide from Sandro :)

So just to make it clear. If you plan to use CPPM signaling on your system and you have FrSky receiver that can output CPPM signal, this update is for you. If you do not have CPPM receiver then you don't need to be worried. 

Comment by I.S. on October 14, 2012 at 8:32am

I have two flavours of D8R receivers:
D8R V2
D8R-II (NOT plus)
can I upgrade these modules to the new firmware?

Is there any comprehensive guide I can follow the differences (and upgradeability) of all the D8R versions (I have counted 2 currently and 4 discontinued)?

I would like to know which versions differ on the firmware side only or if there is a hardware variations as well.

Comment by Sandro Benigno on October 14, 2012 at 12:26pm

The first paragraph of the files "readme.pdf" that are inside of both update zip files says respectively:

"This firmware is developed for D8R-XP ONLY, increasing the Period of D8R-XP CPPM channel from 18mS to 27mS for people who use multi-copters and other auto flying devices to handle all eight channels from CPPM channel at the same time."


"This firmware is developed for D4R-II ONLY, increasing the Period of D4R-II CPPM channel from 18mS to 27mS for people who use multi-copters and other auto flying devices to handle all eight channels from CPPM channel at the same time."

Any other trial with random receivers that seems to be compatible would be completely on your own risk. E.g.: I suspect that my D8R-SP has the same --or very very close--- hardware than my D8R-XP. But I will not try it.

Comment by Oliver Sumpton on October 14, 2012 at 1:40pm

@I.S. I've seen quite a few posts on 9xforums and rcgroups from people that confirm that they are successfully able to flash D8R series receiver with XP firmware. Possibly there may be some odd issue or behavior with doing this that hasn't been discovered yet. Not sure.

@Sandro: huge thanks for posting this tutorial. I was quite curious how FTDI differed from the RS232 logic used by FrSky receivers and this throughly explains it :D

Comment by Jani Hirvinen on October 15, 2012 at 4:15am

It is possible to flash D8R based receivers with XP firmware, there are some hardware changes between those receivers but software works on all as far as I know. Older receivers starts to act like XP receivers after update so note that all your PINs etc will be re-assigned and so on. By updating you not get full XP but you might get like 80% of XP receiver, as said there are few hardware changes. These changes are more in RF area than microcontroller area. So it should work just fine but don't expect to get range as what real XP gives. 

Comment by Dany Thivierge on October 15, 2012 at 5:37am

Great Sandro!  

One more time (Jani was clear in my mind but already got some question on my end) 

If you are using the regular ppm output (4-5-6-7-8 cables out from the RX) this is not for you unless you want to convert your RX and it's connection to the APM to only 1 signal cable. 


Comment by Para on October 15, 2012 at 12:19pm

Just updated 4 receivers. 2x D4R-II and 2x D8R-SP.

The D8R-SP's now output CH8 on former CPPM pin, and CPPM on CH1 and RSSI PWM on CH2 if CH3-4 are jumpered. So normal -II and -XP behaviour.

I can't comment neither on range, because I don't have an -XP for comparison, nor on voltage because I always use an ESC for power

Comment by Jani Hirvinen on October 21, 2012 at 8:42pm

In that case i would not go and update. With 6 CPPM channels you do not have any problems if you run older software. If you start to use ch7/8 then you need to upgrade.

Jani /jDrones

Comment by Scott Berfield on January 10, 2013 at 5:53pm

Going to try this tonight on a spare DSR-II+ -- I'll let you know what I find out.

Comment by Scott Berfield on January 15, 2013 at 11:14pm

Tried this tonight and am unable to get the firmware to write. I get to the point of having the file loaded and a valid UID but it never goes past 2%.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service