9x gets 3DR 915 MHz air module

Finally completed the 3dr mod on my 9x. Seems to link up instantly - no more waiting for mission planner to download parameters or the awkwardness of forwarding the mav data back out over bluetooth!

3689527510?profile=original

3689527447?profile=original

3689527573?profile=original

More details, as requested:

The stock 9x has the Throttle Cut and Aileron switches connected to a UART on the Atmega. These need to be re-routed to free up the UART for telemetry purposes. There are several posts out there on how to do it - this was the cleanest (from https://code.google.com/p/open9x/downloads/detail?name=9x_modifications_EN.pdf):

3689527092?profile=original

Since I have a smartieparts 9x programmer, I didn't have to worry about the connections going to the header on the left - just the two connections that are circled in red.I reused the resistors that came off the pads (Thanks to Rod for his fine soldering skills). Note that the connections are made from the bottom most resistor pads up to the resistors then they cross over and attach to the two free pads on the right. Keep in mind that once this mode is made, firmware is required that knows about the new locations.

After that, I installed the smartieparts programmer according to their installation instructions:

http://www.smartieparts.com/shop/index.php?main_page=page&id=9

With that in place, the extra UART is now availible on the TelemeterEZ port (two pin header, top row, left):

SP_24_contents.jpg

The 3dr air module conveniently runs at 5v, so I grabbed 5v and ground off the back PCB (you can just barely see the connections in the 2nd photo from the top above). 5v is in the middle, ground on either side of it.  

3689527539?profile=original 

When installing, I connected power and ground to the 3dr module first (red and black wires on the cable that came with it). Fired up mission planner and when through the radio setup to load the correct settings into the module. Then I unplugged the usb radio for the PC (to make sure it didn't interfere) and powered up my quad - data stated flowing to the module in the 9x. This made it easy to identify which way to hook up the RX/TX lines to the TelemetryEZ port on the 9x Programmer board using my DSO Quad pocket scope.

Next time I open up the 9x, I'll grab photos of the actual connections. The OpenTx developers are currently working on adding Mavlink support - I was a little impatient and rolled my own, but I do intend on getting my code to them so they can merge all the best ideas. 

I should also add that I'm not 100% sure the radio module won't draw too much power... it probably makes sense to at least add a cap between the power and ground connections to help the regulator out. 

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • I'm obviously mostly concerned with my particular copter, but I'm willing to provide hints to anyone willing to take on other configurations. There's no real 'options' in my code unless you are willing to modify and re-compile the code yourself.

    I think the battery warning levels could be moved out to the copter instead of hard coding them in the 9x code - it looks like the ardupilot code sends battery voltage/remaining warning messages based on thresholds set in the copter. That might make the 1st screen work with any flying machine.

    The 2nd screen needs to be tailored to the particular machine, but there is a configuration value that is sent back that indicates the type of flying machine. 

    The next screen I'm thinking about is a false horizon HUD style display... not sure how easy that will be to pull off since I used up so much code space pulling math libraries in to do the distance/direction to home calculation. The copter also performs this calculation, but doesn't seem to report it over the mavlink unfortunately. 

  • Great work.. I will give it a try. Are you going to work on options for planes too or are you going to focus it more on copters?

    Thanks,
    Great work. I wish I had programing skills like you.
  • Wow, great! Thanks for sharing, Bob.

  • As promised, here's a link to my OpenTx build:

    https://dl.dropboxusercontent.com/u/80997643/DiyDrones/DiyDrones-Op...

    You get at the info screens by long-pressing the DN button and then you can cycle between them with the UP/DN buttons. Get back to the main screen with the EXIT button.

    Here's what they look like now. For the 1st screen, I just added altitude and climb rate over on the left. The stars at the top are indicators that particular messages are arriving. Battery info on top, distance from and direction to home bottom left, satellite info bottom right.

    3692733670?profile=original

    The 2nd screen has Roll/Pitch/Throttle/Yaw stick information under "In" and the controllers mangling of those under "Out". For the motor information, I averaged all 4 motors and put that number in the middle (%), then for each of the motors I put their percentage of the average to normalize them (so below you see 49% total average, front left running at 1.15 x 49% or 56%).

    3692733486?profile=original

    The caveats are (mentioned above in a previous comment, but I'll do it again)

     - Battery warning beeps are hard coded to 10.2v and 20%. (3s battery)

     - The 2nd screen assumes you have tweaked the 9x offsets and endpoints such that the ArduCopter code sees 1000-2000us, mid at 1500 (I convert to percentages assuming that range, don't forget to re-calibrate your ESCs if you do the same)

     - The code assumes motors are arranged [1 = FR, 2 = BR, 3 = BL, 4 = FL]. It is unlikely this matches your copter because I wrote my own mix table specific to my V-Tail. 

    If you want to change any of these - you'll need to modify the source and rebuild (some info in the README.txt file about this).

     

    I have been flying this with no problems, but as with all open source - no warranty or guarantee  ;)

  • @Bob

    Thanks for the confirmation.

  • Yes. I'm not currently sending anything with air module in the 9x, but data is definitely flowing from the air module in the copter to my 9x.
  • Good stuff.  I haven't tried it yet but, if I had two 915MHz Air modules, would they be able to communicate both ways?  It seems this works out of the box (by what is described above) but just wanted a sanity check before making an investment.  Thanks.

  • Also here: http://www.rctimer.com/index.php?gOo=goods_details.dwt&goodsid=...
    http://www.rctimer.com/index.php?gOo=goods_details.dwt&goodsid=815&productname=
  • I believe HK has a knock-off of this for $29.99 (USD) found here: http://www.hobbyking.com/hobbyking/store/__22315__FPV_Radio_Telemet...

     

  • Did some flying tonight and didn't notice any problems with the control - seems like a successful mod!

    Joseph - I may not get a chance to post any code tonight. Duties call, but I'll get to it soon. 

This reply was deleted.