Developer

DIYDrones Magnetometer issue resolution

3689384551?profile=original

 

It's a long story that I will try to summarize. The latest revision of the magnetometer that had some design improvements including making it easier to manufacture to boost production using the pick and place machine, but that also came with a weird issue. 

When I was developing the APM Oilpan we had some noise issues on the 3.3V line caused by a missing 200K resistor on the Voltage Reference pin on the 5V side of the I2C translator (obviously this board never saw the light), if you don't populate this resistor it will introduce terrible noise on the line and cause the analog sensors to fail, this bug was found by Jose Julio (Thanks!). 

 

A curious thing is that the first version of the magnetometer didn't have this resistor (it worked fine anyway), in the second revision i tried to do the right thing and follow what the datasheet suggested so I added the 200K resistor (same that caused terrible issues on the Oilpan because we didn't use it), expecting some improvement. 

 

When the boards arrived from the fab, we assemble some and they appeared to be fine, Cindy (our testing lady) added the observation that the sensors were slightly noisier, but we didn't listen (Sorry Cindy!). For the pressure of months of long waits we just released the boards. In just matter of days we received tons of complains.   

 

After days trying to solve the problem we finally discover that the 200K was the issue. The 2nd issue we have discovered but is not critical is that the voltage regulator will not perform well if you don't suck enough current from it, the magnetometer uses very, very low power and the best practice to solve this is to add a 200 ohms resistor from the 3.3V to GND to add enough load to it (Thanks to Nathan Siedle for this trick), we are not doing this right now, so you will see a power supply output of 3.7V, but the performance is perfect. 

 

All new boards have this fix, but for those who already got affected boards I would like to give a sincere apology to all our custumers and I would like to offer two resolutions to this problem:

1.- Send it back and we will repair it for you. We will cover all the shipping expenses. Please contact custumer support for more info: help[@]storediydrones.com 

 

2.-Repair it yourself (DIY) quickly and safely by following the following instructions.

 

NOTE: Before you repair your board, check if your board has a resistor marked "204". This means it has not been fixed (see the first two photos of the repair steps for reference), and if you see instead a resistor marked "0" your board is fine.

If you choose to repair it yourself and something gets messed up, you cannot then return the board. If you are unwilling to take this risk or are feeling a little uncertain about your soldering ability, do not do this. Just return the board for replacement.

3689384551?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1- Locate the 200k resistor, it is marked with "204."

3689384768?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2- With a soldering iron, heat either of the resistor's solder points
and wait a few seconds for the heat to reach both solder points. Weak solder irons may not work very well. 

 

3689384740?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3- Without applying too much force as no not damage the pads, gently
nudge the resistor with the tip of the soldering iron. 

 

3689384822?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4-The resistor


should stick to the tip, so just lift the tip off the board to remove
the resistor.


3689384861?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5- Make sure you the pad are still there. 

3689384837?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6- To create the solder bridge place the tip of the soldering iron
over both pads and apply enough solder to brigde the pads.

 

3689384791?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3689384908?profile=original

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7- If the solder ball is touching both pads then your are done. 

3689384883?profile=original

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Hello Jordi
    Yes, I believe that this problem is the same as I had discussed with Chris Anderson and others guys at this forum:
    http://diydrones.com/forum/topics/hmc5843-3-axis-magnetometer?id=70...
    thanks
    Luís Mauro
  • To everyone who has the older, slightly larger, magnetometer board: you do not need this modification. If there is no 200k resistor (marked 204), there is nothing to remove.

     

    To anyone who took the risk and damaged the board, you can do something like Ryan VandeWater suggests, or solder a wire from the 5V solder jumper to pins 7 and 8 on the i2c chip. It won't look as clean but you get a second chance to get a working board!

     

    And again, if you don't want to risk it, please send it back!

  • 3D Robotics
    I think the new version with the issue came out in late Nov/ early Dec, so if you got one before that you should be fine.
  • @chris, got a very polite email from 'help@' offering me a free return - as i've soldered my magneto to the Oilpan and don't fancy desoldering it.

    However the free shipping is only via the cheapest ground option - which i can understand, and makes total sense in the conti-USA, but since i'm in the UK that will potentially take weeks… and knowing how poor our (UK) post is with tracked items, i don't fancy slinging the Oilpan and magneto into the postal void never to be seen again.

    So it looks like soldering iron or bust for me…

  • @chris Please, could you tell me if i have to do something with my mag?? I bought it in June of 2010. thanks.-
  • My Magnetometer was bought from you in March of 2010.  Item number BR-HMC5843-01.  It has performed fine on an I2C interface.

    I see no resistor marked 204.  Does this rev require the "fix"?

    John

  • I will use a Weller WLC100 Soldering Station and am wondering what is the best setting to do this so it's not any hotter than it needs to be. 1, 2, 3, 4 or 5?
  • ok.. after some struggle it seems that I rectfied my mistake.. GUYS do not touch the solder if you are not confident.. I almost screwd up mine but looks like I am saved..but still I need to test run and fly. I have soldered the board finally on IMU shield..

    One more question..There are some lines in the codes to be modified as below ..

    //#ifdef IsMAG  (do I also need to uncomment this one ? ) 
      #define MAGORIENTATION  AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD

  • tazmadman,  since your board is already "toast" you could try soldering a longer jumper wire from Vin to pins 7-8 on IC1.   You've got nothing to lose at this point.   If it works it will get you flying.   I would epoxy or at least silicone a longer wire to the board.... so that it doesn't vibrate loose from it's solder.

     

    Just a thought.

  • Chris, I saw your comment about flying ArduCopter without magnetometer but I don't think this works even with a 3D lock. It didn't work in my case and when I asked Jani about it, he said it needs the mag because otherwise if it gets pushed a way, it doesn't know which direction it's facing to be able to get back. I almost crashed it learning this :) Now I have the mag and it works great!
This reply was deleted.