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.
Comments
Thanks for post, Perfect
I tried to program my ft232r with the inverted signals and the process appeared to work but when I re-scanned the device they were back without the inversion. Perhaps a counterfeit chip? Anyway, not a problem, I used a 7404 hex inverter chip powered from the FTDI 5v to invert the TX and RX and then the process worked perfectly. Just the chip, no other components. Now I have a little harness made up just for flashing the D4R-II. Thanks for the article.
IMPORTANT INFO:
New FT232 clones (FT232 is the most cloned pieces of silicon on Earth) have a mechanism to protect from "being killed" (FTDI DRIVERS ARE KILLING FAKE CHIPS): it simply doesn't allow write anything to it's configuration memory (ROM).
That's why you probably won't be able to set "Invert TXD", "Invert RXD" bits using FT_PROG.
Hi Leander,
I guess you can use 4049 inverter (I assume you already know that you need CD4049UB, and will set 5V on your FTDI and power up 4049 from 5V on of FTDI board).
But in my opinion the simplest solution could be to use a pair of NPN transistors to make transistors logic inverters for RX and TX (like it was done in FR-SKY receivers, see schematic in the article https://api.ning.com/files/Inrb*goFF5iaNW1QG7ryAKaIs9w7gwZiFX6c69yesK2iK1y3f*SeO-QBMyw2kHn*Kx-zXRblaWxOYVOygHZP4A__/RS232_RXDIN.png). But you should be familiar with soldering and have a small prototype PCB of course.
Is it possible to invert the TX and RX signals by using a 4049 inverter IC ?
I would suggest you to contact FTDI support.
Perhaps they have a fix for that... or an explanation at least.
I can't help you at this point. Sorry...
Hi Sandro,
I do not think that these are fake. Note that these are not bricked. I have the latest drives installed 2.12 and if you take a look closely in the video above it shows VID 0x0403 and PID is 0x6001, which are supposed to be set to zeros if it was a fake chip when using this driver version.
The strange thing is that the device works great in fact I have successfully flashed my minimOSD to KV team firmware.
The only problem is that I `cannot flash its configuration settings such as invert tx / rx using ft_prog
Hello Leander, it looks like you have a fake/clone FTDI chip.
Those FTDI chips have been cloned in a way that is threatening their market.
Look at this: http://hackaday.com/2014/10/22/watch-that-windows-update-ftdi-drive...
I bought that FTDI cable from 3D Robtic's store. And I also have two other adapters from SparkFun as well. All them can be flashed with no issues.
am I missing something? Is there something wrong with these boards?
I`m using these boards:
www.aliexpress.com/snapshot/6493402705.html
www.banggood.com/FT232RL-FTDI-USB-To-TTL-Serial-Converter-Adapter-M...
Hello all,
I cannot flash the ftdi adaptor with the invert tx rx signals. I tried 2 boards and still the same result.
Please help as this is driving me crazy!
https://www.youtube.com/watch?v=GNO2gUXj8Xg