Telemetry Radio and Cherson CX-20 APM 3.1.5

Hello,

I purchased the Cheerson CX-20 because of the low price and have had no issues using all of the software development / mission planners etc. I purchased a set of 3Dr radios on Ebay (maybe this is the issue?). I was very careful during the soldering of the connections to ensure that the electrical connectivity was good. Metering the cable to verify continuity and no shorts. I then used the 3dr radio configuration software to update the firmware to hk 19 (the latest). I can connect the radios getting the solid green light and I can also see the red data traffic LED flickering when I try to connect telemetry via the MP or APM mission planner. I always get the no heart beat time out? I have connected a logic sniffer to the RX and TX pins of the radio while it is plugged into the quadcopter. I am able to view what looks like a handshake that is mirrored on the RX pin after the TX. It looks like everything is working but the APM isn’t talking via serial? It does work with USB and I have tried all of the disconnecting USB after and before stuff. It seems to me that it should work if both radios have the steady green light and they are sending data; reflected in the red LED flickering. Do I need to configure the firmware with the telemetry radio option on, compile and upload? Is the telemetry radio on by default? Any input would be greatly appreciated.

Hello, I had very same issue with my cx-20 & 3DR radio. (firmware updated, everything is ok, but the APM isn’t communicating with with the radio’s RX TX.)

My initial soldering based on this tutorial :
github.com/jlnaudin/x-VTOLdrone … um-NOVA%29

This was the solution:
rcgroups.com/forums/showpost … count=2435

tbognar76:
I am having exactly same problem and did the changes you have suggested, after I did the new pin connections next to CPU, my radios were not even connecting when I powered them up.

any other suggestions from anyone? I am using latest ardu copter firmware and 1.9 version for the radio. (CX-20)

I just updated my APM to 3.1.5 and the 3DR radio to 1.9 with mission planner, and I didn’t touched any other parameters. After I changed the way of the soldering of the RX and TX cables based on the link. Only the RX and TX cables connection was modified! And these cables has to be swapped: RX to TX and TX to RX between 3DR radio and the APM. The “5V” and “GND” cables remain from the original tutorial.
I have done nothing just powered on the cx-20, 3dr radio solid green lights appeared, with red flickering lights (as before), but after I pressed the connect button (in mission planner) it established the link (and no timeout counting as before). Hoping this will help you.

For anyone interested, I managed to get telemetry working on my Quanum Nova with ArduCopter 3.2 just fine on the normal telemetry port (to which I soldered the D13 socket). All I had to do was to compile the code myself and comment two lines in ArduCopter/system.pde (line 166 and 171):

//#if CONFIG_HAL_BOARD != HAL_BOARD_APM2 // we have a 2nd serial port for telemetry on all boards except // APM2. We actually do have one on APM2 but it isn't necessary as // a MUX is used gcs[1].setup_uart(hal.uartC, map_baudrate(g.serial1_baud), 128, 128); //#endif

To save size I compiled using make on a virtual ubuntu precise32 machine (as described in http://dev.ardupilot.com/wiki/apmpilot_project_developer_information/#Development_using_VirtualBox) and upgraded the gcc and avr-gcc packages to 4.8.2 using trusty packages (there were two libaries I had to update before that worked). I still had to disable sonar in the APM_config.h to get down to a decent size with the modification, but it works perfectly fine and connected on the first try. I found that easier than a soldering mod on board resistors.

For anyone not wanting to compile, I thought I’d attach the hex file here.

I have now compiled and upgraded to version 3.2.1 successfully.

Big Thumbs Up !
Many thanks for posting this - if i had found it earlier, it would have saved me about 5 hours debugging with Oscilloscope etc.
It would be very kind if you could also post further updates of the Firmware in case you have the time to.
Again - many thanks !

You are a life Saver Funtastic. After stupidly upgrading my Nova FC code before I realized what I had done I was in trouble and could not get minimOSD running. Worked several weeks doing various things until I stumbled upon your latest post with AC 3.2.1 complied. My (OSD) troubles are over, Many thanks and please keep the great info coming.

hello, can someone explain slowly how to do this? because i am newbie, i just bought the cx 20, i have the telemetry, and i want to update the firmware. please help

I second Stephe. I’m a newbie with a new cx 20 and telemetry kit and in need of details.
Thank you.

@funtastix, can you confirm you have been able to get stable flight with your 3.2.1 firmware please? I was having difficulty with the 3.2.1 firmware. It was fine with the 3.2, but cannot get it to hover with 3.2.1

Thanks for your work funtastix! Really appreciated! Do you know if I update to 3.2 custom (or 3.2. official release) and then I make a downgrade to factory 3.1.2 this operation disable UART port telemetry? Tesla posted me on his blog! What’s the reason? You know it? thanks!

1 Like

Thanks for your work funtastix! Really appreciated! Do you know if I update to 3.2 custom (or 3.2. official release) and then I make a downgrade to factory 3.1.2 this operation disable UART port telemetry? Tesla posted me on his blog! What’s the reason? You know it? thanks![/quote]

@macoces, the point is the APM on the CX-20 is not standard APM so we need custom firmware. How would you be able to downgrade to factory 3.1.2 when Cheerson had never released their custom firmware? If you had upgraded to 3.2 custom firmware, you would have already wiped the factory firmware and there is no going back. If you wanted to use 3.1.2, you will need to go to Github and get the source code for Arducopter 3.1.2 and then change the code and then compile it yourself. However, there should be no reason for doing so. What is wrong with the newer custom firmware 3.2 or even 3.2.1?

Thanks for doing this and posting on my CX-20 Build-Blog. I have been spreading the word for a while now.

quadcopter-robotics.blogspot.com … mment-form

I know this is asking a lot, but I was wondering if you could also edit and re-compile v3.1.5 ?

I just need to get from Cheerson v3.1.2 to v3.1.5 (to fix “dead-stick throttle bug” in v3.1.2). I would like to keep Terminal feature, and I’m willing to do without Position-Hold for now.

I also like to run Logs (usually Default+IMU). That processing over-head seems to be too much for v3.2.

On v3.2 and v3.2.1 installs that I have examined logs for pilots with poorly flying and crashing aircrafts … I was seeing LongLoops spiking into dangerous levels. It usually happens during an event (like cooping with winds) and altitude-control suffers and processor resources get thin.

Anyway, you seem to really know what you are doing here, so if you could post a custom Cheerson v3.1.5, that would be great.

I’ve noticed my Nova flying a bit more sluggish and less predictable on the 3.2.1 as well and I think it makes sense what you say with the behaviour I’m seeing.

I’ve compiled the 3.1.5 versions and will test them as soon as I have time. To reduce the footprint, I’ve compiled a standard 3.1.5 version and an even smaller version by disabling Optical Flow, Sonar, and Camera trigger features, as I assume nobody would use those if they have processing power troubles.

1 Like

[quote=“funtastix”]I’ve noticed my Nova flying a bit more sluggish and less predictable on the 3.2.1 as well and I think it makes sense what you say with the behaviour I’m seeing.

I’ve compiled the 3.1.5 versions and will test them as soon as I have time. To reduce the footprint, I’ve compiled a standard 3.1.5 version and an even smaller version by disabling Optical Flow, Sonar, and Camera trigger features, as I assume nobody would use those if they have processing power troubles.[/quote]

Hi Funtastix, it’s been a while. I had compiled the 3.1.5 myself and posted it on Rcgroups.com where people can use on their CX20/Nova. However, you have a good point. The smaller version without optical flow may be of advantage for some. Especially when the Open source development group had already decided to ditch the APM board. I am thinking maybe we can keep the APM alive by continuing development to fix all the know bugs. I tried to do that, but had a hard time figuring out what to remove to keep it small enough to load. Would you care to share the source for the non-optical-flow version please? Or maybe we can start a separate fork to keep it going? Thanks.

Hi VinnieRC,

Good to hear you’d already compiled 3.1.5. Did that improve stability?

I will create a fork and commit my changes. Then I will post the new location here. I think many pilots would have an interest in keeping their APMs going and improving.

Hi VinnieRC,

I’ve created a fork of ardupilot and pushed my modifications:

github.com/funtastix/ardupilot/ … pter-3.1.2

As for the releases, there are branches for each:

3.1.5 -> 3.1.2 branch
3.2 -> 3.2 branch
3.2.1 -> 3.2.1 branch

[quote=“funtastix”]Hi VinnieRC,

I’ve created a fork of ardupilot and pushed my modifications:

github.com/funtastix/ardupilot/ … pter-3.1.2

As for the releases, there are branches for each:

3.1.5 -> 3.1.2 branch
3.2 -> 3.2 branch
3.2.1 -> 3.2.1 branch[/quote]

This is a weekend hobby for me, but I am also active in Pixhawk and various other things so I may not have a lot of time for this, but at least it is there and hopefully we will keep APM alive and iron out all the outstanding issues with the branches. Thank you very much!