Thread Tools
This thread is privately moderated by ScottFlys, who may elect to delete unwanted replies.
Oct 20, 2014, 12:36 PM
Registered User
ScottFlys's Avatar
Thread OP
Mini-HowTo

Telemetry on CX-20


Adding telemetry to the CX-20 (or any APM based vehicle) adds three major capabilities:

1) Run auto missions which control the copters movement, yaw direction and camera shutter
2) Provide instant feedback about the copters location and power usage (if you have an APM power module)
3) Improves the ability to make configuration changes since you don't need to connect the USB port

Unfortunately, the CX-20's flight controller isn't a fully implemented APM. It's missing a multiplexer chip which the APM uses to switch the serial data port between the USB controller and the telemetry radio. When the USB port is connected, the USB data is routed to the serial port (at 115 kbps), when the USB is not connected, the telemetry radio is routed to the serial port (at 57 kbps).

Instead, the CX-20 designers choose to use a second serial port on the microprocessor, then were forced to create a custom version of the Arducopter code to support the change. This second serial port is what is routed to the telemetry pads on the APM. If you use the customized CX firmware, you'll get telemetry data on the telemetry pads. If you want to use the standard Arducopter software (available in Mission Planner) it won't know anything about using the second serial port so the telemetry pads won't work.

This leaves a few options to support telemetry.

1) Use modified firmware supplied by funtastix or follow his instruction to modify the firmware yourself. See https://www.rcgroups.com/forums/show...7&postcount=16 .

2) Solder wires to the telemetry pads inside the flight controller and stick with the Cheerson/Nova modified firmware. I believe the baseline Arducopter code was at version 3.1.5 before it was modified. It's uncertain as to whether the Cheerson developers will make the same modifications to Arducopter 3.2. Others have modified the original source to support the second serial port.

3) Solder wires to the microprocessor side of the IO protection resistors. You can also just solder directly to the processor's pins 2 and 3. The IO protection resistors are in series between the serial port and the USB controller. Here's the thread for this procedure https://www.rcgroups.com/forums/show...&postcount=428

This solution effectively shorts out the TX pin on the telemetry radio and the TX pin on the USB controller, but there is a 1,000 ohm resistor between the USB controller and the microprocessor. So, if you connect your telemetry transmit wire to the correct side of the resistor (the side closest to the microprocessor), the current flowing from the USB controller will be limited to 5mA and should not cause much stress on the drivers. Similarly the RX pin on the telemetry radio and the RX pin on the USB controller is logically shorted, but this isn't any issue since RX lines are passive and only listen. You can have many RX lines "shorted" together without a problem.

* If you use this solution, you must always disconnect your telemetry radio before connecting the USB port.

** If you've chosen this mod, check the link, then there is another mod that you can use to monitor the battery voltage by the FC. https://www.rcgroups.com/forums/show...12759&page=153

4) Upgrade the flight controller to an true APM or APM clone. The USB and telemetry are automatically switched by the mux chip. Using a full APM also allows you to easily plug in an APM power module. The APM 2.6 is open hardware so you can get it from ebay for about $40 or support the company that sponsors the project by buying one from 3d robotics. You'll pay more, but it is likely tested better and is supported. If you choose this option, you'll need to change the GPS connector from the 4 pin molex that is on the CX-20 but some APM's seem to be sold with a GPS cable. You'll also need to lengthen the USB cable that runs to the bottom of the copter since the USB port is on the opposite side. See https://www.rcgroups.com/forums/show....php?t=2276542 for more information.
Last edited by ScottFlys; Aug 17, 2015 at 07:56 PM.
Sign up now
to remove ads between posts
Nov 27, 2014, 04:57 PM
Registered User
Thanks for this, it is nice to know what is up *before* doing something that you can't undo!

Three questions:

1 - I assume that this applies to the HK Quanum Nova as well as the Cheerson CX-20?

2 - Is there any way to download the firmware from the Nova so that you can go back to the stock firmware?

3 - Is there any way to make the stock modifications on the more up-to-date versions of the open source firmware?

I don't really understand why HK would market a product as supporting open-source, but then lock you to a non-standard version of the firmware. I also don't understand why they couldn't put a header on the telemetry pads in the first place.
Dec 01, 2014, 03:56 PM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by psustan
Thanks for this, it is nice to know what is up *before* doing something that you can't undo!

Three questions:

1 - I assume that this applies to the HK Quanum Nova as well as the Cheerson CX-20?
Sorry for the delay...

Yes, I have the Nova

Quote:
Originally Posted by psustan
2 - Is there any way to download the firmware from the Nova so that you can go back to the stock firmware?
There is a command line called avrdude that you should be able to use to extract the program.

Quote:
Originally Posted by psustan
3 - Is there any way to make the stock modifications on the more up-to-date versions of the open source firmware?

I don't really understand why HK would market a product as supporting open-source, but then lock you to a non-standard version of the firmware. I also don't understand why they couldn't put a header on the telemetry pads in the first place.
I looked into it, I found the spot in the code where the second serial port was commented out. The developers did this because the hardware uses a MUX chip instead to share the same serial port with the USB chip. I'm guessing that they added this MUX chip to save on buffers or simplify the code so it's possible there is no more RAM or code space if you do enable the second serial port (unless you remove another feature). I decided to just get a full APM.

Cheerson or HK should be publishing the source code of their version to be compliant but I haven't found it anywhere. If they did, you'd be able to compare it with the original 3.1.x version and see exactly what they changed.

I don't think they ever advertised that they support telemetry, so they might be off the hook. The CX flight controller works great until you try to add telemetry, an APM power module, or a standard GPS.
Dec 01, 2014, 04:59 PM
Registered User
Yes, my understanding of the GPL means that HK should provide the source code too. It isn't listed under the files tab on their product page.

What are you referring to when you say "I found the spot in the code"? Do you mean that the standard code release has the second serial port commented out?
Dec 01, 2014, 09:51 PM
Registered User
Quote:
Originally Posted by ScottFlys
2) Solder wires to the microprocessor side of the IO protection resistors. You can also just solder directly to the processor's pins 2 and 3. The IO protection resistors are in series between the serial port and the USB controller.

This solution effectively shorts out the TX pin on the telemetry radio and the TX pin on the USB controller, but there is a 1,000 ohm resistor between the USB controller and the microprocessor. So, if you connect your telemetry transmit wire to the correct side of the resistor (the side closest to the microprocessor), the current flowing from the USB controller will be limited to 5mA and should not cause much stress on the drivers. Similarly the RX pin on the telemetry radio and the RX pin on the USB controller is logically shorted, but this isn't any issue since RX lines are passive and only listen. You can have many RX lines "shorted" together without a problem.

If you use this solution, you must always disconnect your telemetry radio before connecting the USB port.
Hi there. Just wondering if you could clarify this? if you have any photos that would be great!
Dec 02, 2014, 04:31 AM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by psustan
Yes, my understanding of the GPL means that HK should provide the source code too. It isn't listed under the files tab on their product page.

What are you referring to when you say "I found the spot in the code"? Do you mean that the standard code release has the second serial port commented out?
Yes. The serial port initialization is comment reads something like "Not needed for APM". It was easy to find with a text editor. You'd also have to change the Telemetry code to use the second serial port. I stopped at that point because I didn't have an APM build environment setup and I was a little frustrated that the CX was a hacked controller just to save a few cents. It's very possibly an easy thing to.
Dec 02, 2014, 04:38 AM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by Dtlr22
Hi there. Just wondering if you could clarify this? if you have any photos that would be great!
Sorry Dtlr, I've never actually done it. I did this instead https://www.rcgroups.com/forums/show....php?t=2276542

Photos do exist. I saw them months ago but when I wrote this I couldn't find them. This blog was an attempt at a quick summary of the options and not a howto since people seemed to be confused about what works and what doesn't. If you find the pictures or blog please let me know and I'll add a reference in this blog to help people find it in the future.
Dec 03, 2014, 12:32 PM
Registered User
It appears that there are two ways to add telemetry:

1 - Solder to the pads, only works with stock firmware: https://github.com/jlnaudin/x-VTOLdr...he-Quanum-Nova)

2 - Solder to the resistors, will work with standard APM firmware: https://www.rcgroups.com/forums/show...&postcount=428

I have not done either, but the forum from the second link has several posts from people who have. Good luck!
Dec 03, 2014, 07:35 PM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by psustan
It appears that there are two ways to add telemetry:

1 - Solder to the pads, only works with stock firmware: https://github.com/jlnaudin/x-VTOLdr...he-Quanum-Nova)

2 - Solder to the resistors, will work with standard APM firmware: https://www.rcgroups.com/forums/show...&postcount=428

I have not done either, but the forum from the second link has several posts from people who have. Good luck!
Thanks, I was looking for the link to the resistor mod... I'll add it up above. Also, don't forget option 3) replace the FC with a full APM 2.6 (see link in the original post)
Dec 04, 2014, 10:54 AM
Registered User

Source code for stock firmware


I posted the following question to Hobby King, and received a reply that seems to indicate that the source code will be forthcoming...
QUANUM NOVA FIRMWARE

Stan Last Monday at 16:47
I understand the flight control firmware is a modified version of the open source APM Arducopter code. Have you posted the source code online? My understanding of the terms of the open source software licence provided that the source code must be made available. Please direct me where to find it. Thanks!



Ian Today at 05:43
Hi Stan ,
Thanks for contacting the HobbyKing Support Team.

I have asked the related department to upload firmware as soon as possible. Generally the process will take around 2-3 weeks as they will need to talk to the factory. Please check the files tab of the product listing at a later time and I am sorry that i was not able to offer you an immediate solution.

We are working on updating our manuals and we appreciate that you brought this to our attention.

Thanks for emailing support.
If you have any other questions, please let me know.
Best Regards.
Ian
HobbyKing Product Specialist
Dec 05, 2014, 08:59 AM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by psustan
I posted the following question to Hobby King, and received a reply that seems to indicate that the source code will be forthcoming...
QUANUM NOVA FIRMWARE

Stan Last Monday at 16:47
I understand the flight control firmware is a modified version of the open source APM Arducopter code. Have you posted the source code online? My understanding of the terms of the open source software licence provided that the source code must be made available. Please direct me where to find it. Thanks!



Ian Today at 05:43
Hi Stan ,
Thanks for contacting the HobbyKing Support Team.

I have asked the related department to upload firmware as soon as possible. Generally the process will take around 2-3 weeks as they will need to talk to the factory. Please check the files tab of the product listing at a later time and I am sorry that i was not able to offer you an immediate solution.

We are working on updating our manuals and we appreciate that you brought this to our attention.

Thanks for emailing support.
If you have any other questions, please let me know.
Best Regards.
Ian
HobbyKing Product Specialist
Thanks for this update... I re posted your message on the main thread... there are probably a lot of people interested in this.
Dec 12, 2014, 11:49 AM
Registered User
Still no firmware in HK site.
Anybody found a solution easier in the firmware ??
Jan 05, 2015, 06:56 AM
Registered User
I have also asked HK about the firmware, maybe some more people need to do that... Then they can't ignore it.
Jan 05, 2015, 02:14 PM
Registered User
Quote:
Originally Posted by ScottFlys
* If you use this solution, you must always disconnect your telemetry radio before connecting the USB port.
What happens if I accidentally connect the USB cable without unplugging the telemetry first?
Do I fry something or the 1000 Ohm resistor protects and it just doesn't work?

/Dimitris
Jan 05, 2015, 02:30 PM
Registered User
ScottFlys's Avatar
Thread OP
Quote:
Originally Posted by Dimitris76
What happens if I accidentally connect the USB cable without unplugging the telemetry first?
Do I fry something or the 1000 Ohm resistor protects and it just doesn't work?

/Dimitris
I "think" if you connect to the microprocessor side of the resistor you'll be protected but data probably won't work. I've never actually done the mod.


Quick Reply
Message:
Thread Tools