How could a MEMS gyroscope get fixed by heating it up? - Page 1
Forum section: electronics / general

author: Artlav
author_rank: Frequent Contributor
timestamp: July 05, 2015, 08:36:59 pm
content: So, here was an Inverisense MPU-9150 chip, merrily sitting on the quadrotor control board.Little pinless LGA24, aka "screw-hobbyists-package".And all was well...Until one day the quadrocopter suddenly went out of control and only miraculously landed in one piece.Fortunately, i just added the black box functionality into the software.Unfortunately, it appeared not to work too well - all the sensor data was reading as zeroes.Mystified at why won't it write them down, i tried looking at the numbers over the serial link...And there were zeroes!The chip worked, it talked over I2C, it gave out magnetometer data (which is a separate die inside the same claustrophobic package), it appeared to be fully functional.Except no data came out.Poking and probing and testing followed, along with an increasing dread that no, it wasn't a software problem and this SHP SOB was in fact dead.Which means i'll have to make a new board or somehow invent a way to remove and re-solder that thing without damaging anything and without an easy way to reflow the entire board again.More or less out of desperation, i took the hot air gun, set it at 250*C, put the smallest nozzle on, and ever so carefully heated the sucker up.No idea why, but i didn't pick it up from the board, but just let it reflow and cool down again.It's not like there could be any loose contacts or shorts - all the voltages and signals were accounted for.I power the board back up, check the serial output... And it works!Both accelerometer and gyro give out correct data, without any signs of trouble or degradation.So... What could it be?Was that some kind of a random glitch with a random fix, or is there some sort of a reason why MEMS can get better from heating up?TL;DR:MPU-9150 was working, but giving out only zeroes, i heated it up to 250*C, cooled it back down, and it's fully functional again. WTF?

author: Ian.M
author_rank: Super Contributor
timestamp: July 06, 2015, 08:36:54 am
content: Possibly a dodgy bond wire connection between its dies and reflowing it has altered the stresses inside the package?I certainly wouldn't trust it as far as I could spit and flying it would be just plain dumb.My preference would be replace the board, but if you can replace the chip then stress test it under vibration over a wide temperature range, that should be acceptable.

author: photon
author_rank: Frequent Contributor
timestamp: July 06, 2015, 09:01:35 am
content: There are no bond wires between the mems die and electronic die in the package. The seal is a strong metal alloy. I am guessing that 250 C would not cause any change in the mems. If it did cause a change it would be for the worse. So the issue fixed by the heat gun was the solder joint integrity of the chip pads. Just a guess.

author: Artlav
author_rank: Frequent Contributor
timestamp: July 06, 2015, 10:38:12 am
content: Actually, i think i found what the problems was - it's C4.That's not a decoupling cap, but a charge pump capacitor for the sensor's internal 24V, that i haven't considered checking.And removing it from the board replicated the symptoms perfectly.So, i guess it was a soldering issue after all, which simply got reflowed away.Always check voltages first. If they are fine, check if you actually found all of them.

author: Dave
author_rank: Super Contributor
timestamp: July 06, 2015, 04:16:40 pm
content: Quote from: Artlav on July 05, 2015, 08:36:59 pmOh come on, those couldn't possibly be easier to solder. The lands on the PCB just need to be slightly longer and it's a piece of cake. You don't even have a heat dissipation pad on the bottom to worry about.

author: EEMarc
author_rank: Regular Contributor
timestamp: July 06, 2015, 04:50:34 pm
content: Invensense MPUs send out zeros typically when one of the capacitors or pins going to a capacitor is not soldered. Reheating it probably fixed that.The MPU package is easy to solder. Invensense was nice enough to extend the pads to the side of the package. The ones that don't expose the pins are a pain to rework without a good hot air rework station. Making that style a BGA would be an improvement.

author: Rasz
author_rank: Super Contributor
timestamp: July 06, 2015, 06:58:57 pm
content: yep, if you heat it up and it starts working its either bad solder joint or bad capacitor - they heal temporarily when heatedalthough I know of at least one (not counting nvidia GPUs) microcontroller that can be fixed with heating up to ~450 for a few seconds.Novatek OSD controller for monitors/TVs (Samsung 713V, Hyundai A261). Half of the chip works at 5V, other half at 3.3Vhttp://imagizer.imageshack.com/download/9/vccmcu.jpg3.3v part deteriorates with time to the point of not working, there are people bumping 3.3 to ~4V, this "fixes" the chip for few hours/days, but ultimately fries it completely"proper" magic fix discovered by russians is baking the shit out of this microcontroller