This is a discussion re the bad Accel, Gyro and Baro values that we're seeing with ArduCopter-3.1.  The increase in the SPI bus speed from 500khz to 8Mhz has exposed a hardware problem on some boards.  That hardware problem is that the 3.3V regulator has been blown so all sensors are running at 5V instead of the intended 3.3V.


How have these regulators been burnt out?

  • Attaching a radio receiver or MinimOSD to the APM while the APM is only powered through the USB (see video below)

  • Some clone boards seem to come from the factory with blown regulators.  3DR boards might also come with blown regulators although they do a specific check of the regulator as part of the regular QA process.
  • It is not (as far as we know) actually caused by the AC3.1 software itself, it just exposes the problem.  You could prove this to yourself by checking the 3.3V regulator (see video above) before and after the upgrade.


How can we fix the regulator?

Option #1:  If it's a new board (so that it's less likely you burned it out yourself) you could report the problem to the retailer that sold you the board and ask for an replacement.  If it's 3DR it's called an "RMA".

Option #2: if you're handy with a soldering iron you can replace the regulator yourself.  On the APM2.5.2 (and higher) boards it's not that difficult.  On the APM2.5 it's far more difficult.

For APM2.5.2 : TPS79133DBVR

For APM 2.5: MIC5219-3.3YML TR

How can I stop it from happening again?

Do not connect any devices such as a radio receiver, MinimOSD, GPS, etc while the APM is powered especially while powered only through the USB cable.

Attaching a 100uF capacitor across any of the APM's radio input's 5V and GND pins will stop the regulator from being blown by plugging in a receiver.  video here!

There are very few reports of regulators being blown twice and no reports of it ever failing in flight.


Below are some graphs of the types of values that we are seeing on these boards.

Views: 105478

Replies are closed for this discussion.

Replies to This Discussion

Well, Digikey has the part in stock and they ship pretty cheap with USPS.

Digikey Part Number: 296-11866-1-ND

Manufacturer Part Number: TPS79133DBVR

Price $1.30 per pcs

And below is the place where it has to go. It requires a fairly small soldering tip & iron but it works with a standard iron. No specialized SMD tools needed.

Unsoldering is pretty easy with a regular iron, just use some fresh solder on the regulator that has to come off for all 5 legs and additional solder on the side with the three legs so your have a big blob over all three legs. That way the complete component gets hot enough so you can almost wipe it of the board with your soldering iron. I use some desolder wick to get the excess solder off after the regulator is removed.

Putting the new one on is a little more complicated but manageable. Just put thin fresh solder on all 5 pads. Position the regulator and heat each leg while pushing the component down. That should get it back on fairly easy. Just use the solder sparingly in order to not connect the legs with each other.

If you look at the picture, the bottom left pad is the 5V supply, top left is 3.3V out and connected to the both parallel capacitors on the left. So it doesn't matter if you get too much solder on the top left pad and connect it to the two capacitors since it goes there anyway.

The right top pad is connected to the capacitor on the right while the bottom middle and bottom right pads are both grounded together with capacitor to the right - those two could actually be connected together by too much solder and it would not matter. Just make sure the left bottom pad (5V) stays separated from the others.

so I'll order a new board !
What's the good way to power the board (with Lipo and USB in the same time) to avoid this kind of problem ?
I have an Attopilot 180A sensor and 3A 5.3V ubec plugged in one of the outputs with the JP1 plugged
Can I plug the ubec on the PM port on only 2 wires ?

The defective 3.3V regulator is not related to powering it with BEC and USB together! I attached a picture of the power distribution so you can see what goes where.

Not sure what you mean with PM port and 2 wires. The power only needs two wires anyway.


Thanks Detlef

1) So what should I do to avoid any damages to my new board ?

2) concerning the two wires, since I use attopilot 180A instead of 3DR power module, can I use the PM port to power the board with the ubec ?

to 1) in my case the board was defect since new, I've just not noticed it since it worked with release 3.0.1. and only shows up with the higher speed on the SPI bus in the new 3.1 release. I assume that lil 3.3V regulator has short circuit protection built in so you have to abuse it other ways in order to blow it up. Maybe any external devices powered with the 3.3V?

to2) of course you can use the PM port to power the board. It's absolutely the same as over the output rail with JP1 connected. Only different way is if you would feed it over PWM input rail or IO rail, then you bypass the fuse F2 and diode D1 which I guess was not intended by the hardware designer.

Bruce, Detlef or anyone else suffering from the problems on this thread,

     I was wondering if you could give this modified version of -rc6 a try?  It's -rc6 (or maybe closer to -rc7) and includes some extra logging of the MPU6k spi bus errors in the dataflash's PM message in a new "INSErr" column.

     Like -rc5 & -rc6, this version runs the MPU6k at 8MHz but will reduce it to 500kHz after it detects 4 errors.  On a broken board this should happen almost immediately.  If you connect with the mission planner you will probably see:

            1. "Bad Gyro" appears on the HUD and you can never make it go away (sorry!)

            2. "PreArm: INS not healthy" appears when you try to arm

    Despite these problems the MPU6k should work as well as it did in AC3.0.1 and you can force it to arm by going to the CONFIG/TUNING > Standard Params screen and set ARMING_CHECK to "Skip INS" and press the "Write Params" button.  If the "Skip INS" option is not there go to the Full Parameter List and set it to "-17".  That may seem like a weird number but that's because ARMING_CHECK is now an 8 digit bitmap so when the highest bit is set it becomes negative when viewed as a signed byte.

     By the way, there's probably no need to actually fly it (although I think it will fly fine) a bench test should be fine.

Randy, I fixed my broken board :) you error counting firmware didn't show no more errors after I replaced the voltage regulator.

I can try the firmware but since my board seems to be working again I guess it wont show the wanted behavior for this detection?


     Yeah, i figured your board probably wouldn't have the problem anymore so you're off the hook!  Hopefully someone else can give it a test.  thanks anyway!

I think Craig E. has my board.  3DR swapped it out for me.  The new one is working great.


Hi Randy, which release will eventually have the new check and change bus speed code?


     -rc7 has the check but we tested it on Bruce's board 2 days ago and although the code reduced the bus speed it didn't stop the HUD from spinning.  The board is making it way to me here in Japan now and I'll have a closer look at why reducing the bus speed after start-up doesn't seem to fix the problem..reducing it at start-up certainly does.

Ok thanks Randy, I repaired the 3.3v reg like Detlef and all is good, but that is the 2nd HKpilot board with same problem, so obviously it's whatever I'm doing or the board doesn't like the turnigy 3a ubec in the input side with JP removed...

Maybe the the reg doesn't like the 8-9v startup spike of the Ubec?



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service