3D Robotics

Here's how to connect the FMA XY and Z sensors. [Note: the sensors come from FMA with a thin film (usually red) over the thermopile lenses. You have to remove the film before using them.] The basic connections are as shown in this picture:

Cut one of the cables that comes with the FMA XY sensor in half and pull the four wires apart for about two inches. Strip their ends by about a quarter of an inch. Do the same for the Z sensor (you can cut off the fourth wire, the one furthest from the red one, off at the sensor level since it isn't used on that sensor). Twist the red wires and the one next to it from each sensor together, since they'll be sharing a connector. Now it's time to slip on heat shrink tubing. If you have some red tubing, put it on the two twisted-together second wires in from the sides of the cables with the red strip, to mark the positive power cable (yes, that's confusing. V+ isn't the wire with the red strip--it's the wire next to it!). Black tubing goes on the two twisted-together red cables (which are Ground, which is confusingly the red one). Slip tubing on the other three wires, two from the XY and one from the Z senors. At this point the instructions depend on whether you're powering the board from the Rx/ESC, as most people are, or if you're powering the board via the BATT pins. The following is for the standard boards using Rx/ESC power. Notes for BATT power are below in [brackets]. Solder each wire or pair of wires on a five-pin male machine pin header like the below (use the picture above to get the order right, and solder the two ground and V+ wires together at each of those two pins). If you haven't already done so, also solder a five pin female machine pin header in the five holes made by ArduPilot's Batt -,+ and Analog 0,1,2 holes. By combining all the sensor wires in one strip, we can ensure that we'll have the best, strongest connection:

How did we get that otherwise unused Batt + pin on ArduPilot to actually be +5v? By soldering a wire on the bottom from the VCC pin in the FTDI row!

[If you are powering the board from the BATT pins, you'll need to attach the sensors differently. Solder a three-hole female header in the Analog 0,1 and 2 holes, and a two-hole header in the VCC and GND holes in the FTDI row. Solder the three sensor data lines to a three-pin male header in the same order as above, and combine the V+ and GND power lines from the two sensors to a two-pin male header. Connect the matching male and female headers.] Note that for the 2.1 version of the software, the sensor should be placed diagonally on the aircraft so the cable plug is facing backwards (towards the tail) and the FMA logo is at the front, as shown in the picture at the top. If you want the cable facing forwards, you can change that in the code. (look for "#define REVERSE_X_SENSOR 1 //1 = cable behind, 0 = cable front" in the first tab) Here's a diagram that shows how everything hooks up:

Here's a very simple program that will test all your sensor (XY and Z). Just load it on ArduPilot (make sure the board is powered and the GPS is not connected). With the FTDI cable connected, click on the serial monitor icon in Arduino and make sure the speed is set for 9600. The program will prompt you to tilt the sensor in certain directions and then strike any key and hit return when you're ready to take the X and Y sensor readings. Remember that sensor readings inside and near heat sources (like your hand) are nothing like the real thing outside. But it's still a good way to confirm that your sensor is working right.
E-mail me when people leave their comments –

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

Join diydrones


  • hello.do you have the XYZ sensor datasheets?
  • 3D Robotics
    No, that's not its main function. It's mostly to calibrate the other IR sensors.
  • If the Z sensor's utility is to avoid my plane from being up-side-down (correct me if I'm wrong), would it be possible to replace that Z infrared sensor by a cheap accelerometer ?
  • Very Nice sensors......

    After a week of my guys and me mucking around with the test bed, (had all the problems mentioned in another thread, going NE, not loading waypoints ect, generally having a mind of its own)

    WE had 2 flights yesterday complying with the waypoints and RTL.....we absolutly wet ourselves!!!!!!

    Chris/Jordi, you have a wonderfull thing here! Jordis new code is spot on! another days worth of tweeking and the strange oscilations will go....

    AGAIN......We would be intereseted in stocking your gear here in the UK...please PM or EMAIL.....

    Also as we have gone through all the problems others have encountered, we can prob help the new guys coming in...

    LET ME KNOW!!!!!


  • Hi Chris,
    Thanks for the information...didn't see that part!
    Thought I might as well use the the spare sensor instead of it lying around doing nothing.
  • 3D Robotics
    This post shows which wires do what.
  • Hi all,
    While looking at the new XYZ sensors I saw in the reviews....

    "However, if people want to wait for FMA to bring the XYs back in
    stock, people can always buy two of them and use one as a Z sensor and
    save a few dollars. (just ignore one wire)."

    I have 2 of the XY sensors, so could someone tell me which wire to ignore and which way is the unit fitted, ie which sensor points up and which is down. Any other info on using the 2 FMA XY sensors would be appreciated.
  • yeah when are the sensors going on for sale here? how much will they be?
  • HI Guys,

    Any news on the 'Z' Sensor?

    Itching to get moving on this...

    Again, if you guys wish to grant me rights to stock/sell your equipment here in the UK, please let me know.


  • 3D Robotics
    Patrick, yes version 2.1 can use the expansion board. I wouldn't go on anything in this post, which is outdated. Please use the manual for all reference.
This reply was deleted.