Sunday, September 14, 2014

Telemetry Upgrade Mod

The parts arrived last week, so I did the Telemetry upgrade on my Quanum Nova. Yes, connector is missing, but you can see that PCB is ready for it. This post has been recently updated, so read the whole thing before attempting.

Supplies:
HobbyKing Telemetry Radio set v2 (915 Mhz) ... aka SiK or 3DR Telemetry Radios
Molex PicoBlade 5-pin connector (53047 Series)

Phase 1:
Removed lower connector board from FlightController.

 

Soldered in PicoBlade connector (watch orientation). You want red wire on cable to connect VCC power to 5v on radio. Solder with plenty of light and a magnifying-glass helps (the solder-pads at 1.25mm spacing are very close).

 
 
After soldering, I checked for unintentional shorts and proper continuity with an ohm meter. All checks out good. 




Installed the 4-wire 6-inch cable (supplied with radios).



Re-assembled enough for testing and to prevent any chance of short-circuits/damage.

Phase 2:
Connect one radio to Nova via PicoBlade cable, and the other radio to computer via  supplied Micro-USB cable.
Connect LiPo battery on Nova.
Start MissionPlanner. Set to "Auto" and then click connect.
Connects and works fine. See Artificial Horizon and Compass Heading respond on computer.

 
 
Phase 3: Mounted here with foam tape for now. The slot cut for wire access is in "channel" next to battery area (as to not affect body strength). According the RSSI bench-tests, having this 915mhz radio on doesn't really affect FrSky 2.4ghz radio (even though the 915 antenna and 2.4ghz antennas are fairly close in this location).




I have since moved Telemetry radio inside Nova.

Notes:
It's come to my attention (from RCGroups posts) that this mod might only work if the FC is still running the stock-factory Arducopter (in my case v3.1.2). I put too much work into this, so I'm staying on ArduCopter v3.1.2 for now.

This version of the HobbyKing Quanum Nova Flight Controller are marked like ... PCB-1: APM_V252_V2.0 and PCB-2:  CON_V2.0 . In Jan-2015, some newer revision board are showing up and it sounds as if the boards are different and connector pre-soldered-in (but accidentally backwards, according the established 3DR pinouts). If using pre-made cables, check your VCC power with meter first.

The direct USB connection and Telemetry radios CAN NOT be used concurrently. Pick one or the other each time. If using Telemetry radios, do not connect normal direct-connect USB cable to bottom of Nova.

My radios came pre-programmed with matching settings (required for basic link and normal operation). There is an utility in MissionPlanner that can be used to verify and/or change them if needed, but I didn't need to use it in my case. IIRC, it is like in the Settings section and radio module on Nova just needs to be getting power also.

While the Telemetry port is 5-pin places, there are only 4 wires and/or connections. Two are for power (VCC+5 & GND) and should never be swapped (verify with volt-meter). The other 2 are signal RX & TX. Between the board and radio, TX goes to RX and vice-versa. If TX and RX are swapped, you won't damage anything, it just won't work. The supplied cable was already wired properly in my case.

To use the direct USB connect to computer instead ... leave the computer's radio disconnected. Pick the other com-port and set port speed back to 115200. I don't have to disconnect the Nova's radio. It doesn't seem to care if it's powered-up. It's ok to use the Auto com-port setting in MP if you need to.

Telemetry radios sets come in 915mhz or 433mhz. You should probably get the correct frequency for your country. Power should be left at max or 100mW (MilliWatts).

The clones (HobbyKing and generic Chinese) of 3D-Robotics Flight-Controllers and connecting sub-devices tend to use Molex PicoBlade 53047 Series connectors, while devices and cables purchased directly from 3D-Robotics use Hirose DF-13 Series connectors (to match the Hirose plugs on genuine 3DRobotics Flight-Controllers). Both are 1.25mm pin-spacing but are slightly different otherwise. The plastic connector-housing is shaped a bit different. Additionally, the Hirose DF13 pins themselves are square-ish, while the PicoBlade pins are rectangular/flat like "blades".  This makes the male and female pins incompatible in my book. I personally would not mix any parts of the two connector types. Instead, I would build or buy the proper cable.

The idea for this mod. is based on this blog article. Many thanks to Jean-Louis Naudin. However, I highly suggest you take the time to solder-in the PicoBlade connector.

With the release of (custom-compiled) Special CX-20 APM252 version of ArduCopter v3.1.5, there is now really no reason for anyone to attempt to do DogDude's (risky) originally popular "Resistor Hack" mod. Install the Molex PicoBlade connector and run an appropriate version of custom ArduCopter.

ArduCopter Versions that Support Telemetry on this APM_252

I guess what it comes down to is that this Cheerson APM_252 Flight Controller requires some special ArduCopter code for the Telemetry/Uart port to work properly in the Nova and CX-20. The common/public versions do not have the special tweak, so you have to run a version that has been custom compiled.

Here are the various versions that I know about:

ArduCopter v3.1.2 (Special CX-20 APM252 version). It's only available pre-loaded from factory (no way to download it if it ever gets erased). This still appears to be the "shipping version". Pretty stable code and should fly your quad fine at first.

ArduCopter v3.1.5 (Custom CX-20 APM252 version). Last stable release of 3.1.x based code. Still has Terminal and this simpler ArduCopter code seems to run good on this tiny processor. This is what I run now on this quad's Flight-Controller. Many thanks to VinnieRC.

http://www.rcgroups.com/forums/showpost.php?p=31678509&postcount=24678

ArduCopter v3.2 (Custom CX-20 APM252 version). Reportedly, you can also successfully run this Custom Compiled Firmware if you wish (Thanks to Frank/ Funtastix). Code is more complex and Terminal has been removed. Watch your Logging level (due to processor over-head) and PM-LongLoops.

http://ardupilot.com/forum/viewtopic.php?t=9534&p=22723#p28709

Cheerson APM_252_5.0 PCBs (Update Feb. 2015)

According to RCGroups Forum reports, this mod works with both v2.0 and v5.0 PCBs in CX-20 APM252 FlightControllers. What I have been calling "Telemetry Port", Cheerson/HK is now calling "Uart port" ... it's the same port. Version 5.0 boards not only have Molex PicoBlade socket pre-soldered-in for Uart port, they also have ADC Port for easy PowerModule connection. So, these APM_v252_v5.0 boards have the following connectors soldered in:
UART (Telemetry) : 5 pin Molex PicoBlade
I2C (Compass/Magnetometer) : 4 pin Molex PicoBlade
ADC (Power Module) : 3 pin Molex Pico-Blade

While Cheerson has added Uart PicoPlade sockets on v5.0 PCBs (so you don't have to solder-in your own), they might be soldered in backwards. If using any pre-made cables, be sure main voltage is on correct pins (VCC polarity), or you will destroy Telemetry radio module instantly. You do this by verifying voltage polarity on Uart pins with a volt-meter before connecting cable. Also, you can try swapping TX-RX wires if no communication after trying everything else (only TX-and-RX wires can be swapped without fear of damaging anything).

Troubleshooting:
For example, telemetry radio just randomly disconnects and re-connects. These are listed in most-common problem order first.

Be sure Settings match in both radios. Try the default settings. Baud Rate should usually be 57 (57,600) at normal distances. You do this from a laptop. I wouldn't deviate from these settings much, but if you know what you are doing, here are some details on Advanced Settings , and also this page.

The default for ECC is ON. While it is 50% slower (due to the over-head of error-checking code), several docs say it is "highly recommended" and they also mention longer ranges.

The first time you get it working should be from Windows computer running MissionPlanner (other radio on quad).

These 915mhz v2 radios have very good range and Frequency Hopping Spread Spectrum (FHSS). I have seen them reach 0.5 mile easily, and they likely go further than that. If there is a lot of multi-rotor activity around you, try changing the Channel (aka Net-ID).

If you are using DroidPlanner (on Android device and with USB-OTG cable), instead try a Windows laptop, MissionPlanner, and a different cable. See where problem follows. Also, vice-versa (if you normally use MP, try DP).

Try to observe power lights on radios to make sure you don't have a power problem and/or a simple cable problem. USB cables (especially the smaller form-factor ones are historically not durable).

While I use MissionPlanner, here is a tutorial using APM Planner and what appear to be a bundled 3DR RadioConfig. Nice graph might be helpful in troubleshooting.

11 comments:

  1. I've got good news for you. I have done the same mod and modified the 3.2 ArduCopter Firmware successfully to work with it. See http://ardupilot.com/forum/viewtopic.php?t=9534&p=22723#p28709

    ReplyDelete
    Replies
    1. Excellent. Thanks. Also, thanks for posting pre-compiled ready-to-install AC3.2-Quanum hex file over there. You have made lots of pilots very happy. Would you happen to have a copy of the originally installed AC3.1.2-Quanum file in case we ever need to revert back to factory code? Drop by RCGroups.com if you get a chance.

      Delete
  2. Thanks for the help with this - I had to swap the cable around backwards (pull pins and put them all back) and change the firmware to the special version to make this work.

    ReplyDelete
  3. Where can i find that connector? Digikey won't send to Portugal...
    Thank you.

    ReplyDelete
  4. Hello! Great project! Thank you!
    Righ now I work on a microstrip antenna and I'm searching for coaxial connector, i live in Germany and the web site where I always buy all hardware has only this http://pc24.de/wieland/ but it is not what I want. Can you help me please!

    ReplyDelete
    Replies
    1. Should be Molex PicoBlade. If you get from China it will likely be a clone but what can you do.
      Antenna side is SMA .
      http://quadcopter-robotics.blogspot.com/2014/12/telemetry-radio-moved-inside-aircraft.html

      Delete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Hello Tesla,
    thank you for that much information on the blog. I ordered a QN with PCB-1: APM_V252_V2.0 and PCB-2: CON_V2.0 like yours. Can I connect a powermodule with volt&current measurement to the PCB-2? Saw people soldering it directly to the CPU?

    ReplyDelete
  7. Hello
    Mine is APM_V252_V5.0 by connecting using the UART port no signal is recieved, only the green light glows. Tried swapping TX and RX no help, testing with the multimeter reveals that both in TX and RX always have 5.XX constant volt ..no change at all.
    While hunting on the net i came across a wired post in intrsutable http://www.instructables.com/id/Cheerson-CX-20-3DR-Radio-for-New-Board/?ALLSTEPS which says on V5.0 the RX and TX has to be soldered directecly into the APM board (not on the extension board), checked the pinout of the atmet chip it is correct that pin 2 and 3 are RX and TX http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_Summary.pdf

    But i am really scared to solder such a minute resister with a wire, i have already screwed up while performing micro soldering. I am pretty sure there is also some way on the software to change the UART configuration pin number.....any idea please share ....going crazy with this telemetry connection on the Cheerson CX 20 open source version.

    Thanks

    ReplyDelete
  8. On my blog here, I have separate posts for both v2.0 and v5.0 boards. However, neither require soldering to the CPU chip. If you upgraded your firmware, you must be using a special Cheerson custom version. I have links to v3.1.5, but there are also v3.2 and v3.2.1 available. Finally, if you ever get VCC power backwards, something will likely fry.

    ReplyDelete

The stupid spammers have now forced me to approve each Comment before it appears (but I am usually pretty quick about it).