$15 external compass for APM 2.5

3689548054?profile=original
As a followup to a conversation in this thread: 
http://www.diydrones.com/profiles/blogs/3dr-gps-mag-back-in-stock

I have successfully used this $15 sparkfun HMC5883L breakout board: https://www.sparkfun.com/products/10530

as an external compass on my APM 2.5.  

Used the instructions here: http://copter.ardupilot.com/wiki/common-external-magnetometer-for-improved-performance/

The process is even simpler than those instructions, since the sparkfun board is already wired for 3.3V.  Just connect four wires and cut a jumper on he APM to disable the onboard compass.

I wasn't able to source the correct cable from sparkfun, but got one that was 1mm OC instead of the 1.25 OC that the APM uses on the i2c port.  A little very minor pin bending and hot glue to hold it in seemed to do the trick.

The HMC583L is the same sensor that's on the APM and on the 3DR external compass/GPS module.

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • No. Then you didn't really cut the trace. You have to use sharp X-acto and cut deeper than you think. Cut and test in terminal until compass fails.

  • Hi guys, I cutted trace on my APM 2.5, but if I connect with Mission Planner I see that internal compass still works.

    It's normal this ?

    Ciao - Giuseppe
  • Well I went ahead and ordered the magnetometer and few other things from jDrones.  The shipping is kind of steep.  I'll let everyone know how it works out.  Hoping that by switching to an external compass it will provide a more stable flying experience.

  • Thanks Quadzimodo

    I try to cut again,, Check the configured,,, check voltage (3,1 v)..

    still appear =  terminal test compass initialization failed

    when try to ARM,, there is red font > PROARM : COMPASS NOT HEALTY,, so I cannot ARM

    just info chip number different with goodluckbuy(L883 2128),,, mine is L883 2222

    Maybee I have to buy Sparkfun or 3DR and wait 2 -3 weeks   T_T 

  • Hi Mikraj

    The GY-271 works fine with my APM 2.5

    Make sure you have wires correctly configured.

    At the I2C port - GND is on the outside, then SCA, then SCL, then power on the inside (Or black, Green, Yellow, Red)

    At the GY-271 end - GND, Power, SCL, SDA (or Black, Red, Yellow, Green)

    I have board mounted with components down and with terminals forward (suits same setting as 3DR external mag option)

    Hope this helps
  • I just Bought this http://www.goodluckbuy.com/gy-271-hmc5883l-module-compass-module-3-...

    From a local Store

    I use Apm 2.5

    I follow this step http://copter.ardupilot.com/wiki/common-external-magnetometer-for-i...

    it does't work

    terminal test compass = compass innitisiation fail

    finnally I reconnect internall compass,, compass test work again..

    maybe someone can identify that external compass :(

  • The Y axis pointing backwards was the key.  Thanks everyone.

  • This will help on orientation and set up. http://www.rcgroups.com/forums/showpost.php?p=26056207&postcoun...

    RC Groups - View Single Post - APM 2.5 / Ardupilot Mega / RCTimer Arduflyer Discussion Thread (upda…
    RC Groups - the most active Radio Control model community: electric and fuel rc airplanes,rc helis,rc boats and rc cars. Features discussion forums,…
  • Jani,

    I'm using the sparkfun  chip but that tells me what I needed to know thanks to the Y and X arrows on your board in relation to the connector. Thanks.

  • Developer

    If you have a 5883L compass the orientation is not random but fixed in the chip. Most boards like sparkfun are marked the same way as the 3DR and jDrones boards with easy to see X/Y/Z arrows.

    Josh: It's not that complicated. 'Standard' direction is Y pointing backwards, x pointing left, and components up (orientation  0, just like it's fixed to the APM PCB). With y facing forwards, x right, components up the orientation is YAW 180. Always adjust the compass orientation based on the board in it's normal position/orientation. If you then apply AHRS_ORIENTATION as well, this is automatically applied to the compass direction.

    You can verify this against the picture in the OP blog

This reply was deleted.