Preparing ArduPilot for version 2.1 (with Z sensor)

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.

Views: 7959

Comment by Paul Marsh on April 1, 2009 at 4:38am
Is the Z sensor a fail-safe against going beyond 90º in a bank and/or keeping the plane from going inverted?


3D Robotics
Comment by Chris Anderson on April 1, 2009 at 7:25am
Yes, that's what it's supposed to do (assuming our code is working right). The only time 3-axis thermopiles get confused is in a nose-down dive, but the autopilot shouldn't let you get in one in the first place.
Comment by tycinis on April 1, 2009 at 1:34pm
Can you post a screenshot for the small load way-point program ?

Thx benjamin.
Comment by Jeremy on April 5, 2009 at 4:42pm
Just curious- why do you specify machine pin headers? The headers in the picture appear to be regular not machine pin.

3D Robotics
Comment by Chris Anderson on April 5, 2009 at 5:10pm
The sensor headers in that picture are machine pin. The ones for the servos on the right are regular. Machine pin headers have a tighter, more solid fit.
Comment by Magnus Persson on April 5, 2009 at 9:45pm
is there someone that has done any DIY z sensor?
is there any component list and the circuit board?


3D Robotics
Comment by Chris Anderson on April 5, 2009 at 9:51pm
@Magnus: The Paparazzi team has.

Comment by Brian on April 8, 2009 at 12:06pm
Are the VCC and GND machine header pins still used to power both the XY and Z sensors? To me it looks like the xy &z connectors are shareing one set of pins now?

3D Robotics
Comment by Chris Anderson on April 8, 2009 at 12:21pm
Brian, the post explains all that. Could you pleaser read it again and see if you still have questions?

Comment by Brian on April 8, 2009 at 4:58pm
Thanks Chris, please don't take this post as any kind of jab.

You see where I became confused is from past updates. Setting up from ArduPilot 1.0 to 2 for example. You assumed that the instructions for setup of new board have been completed per 1.0 guidelines. So folks followed the update instructions on new boards and then asked questioned. You told them that they also needed to complete the initial 1.0 configuration. They assumed/You assumed. This time I assumed that because 2.0 used the vcc and gnd machine headers that 2.1 would need them as well.

Your instructions are very clear but I assumed that we still needed them and that wasn't supported by the pictures, so I asked. I also was assuming that if parts/pieces no longer need to be added to the board that you'd put that into the post. Our perspectives differ "Catchup versus Innovator" I'm looking at what all do I need to do to setup my new board versus adding/updating an existing one.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service