cancel
Showing results for 
Search instead for 
Did you mean: 

Custom STM32 board bootup problem - Fried MCU? Help!

stefanskos9
Associate II
Posted on April 17, 2013 at 10:11

Hi All,

I have made a custom board with the STM32F405.

When I apply power to the board, the MCU is drawing lots of power (like ~200mA+!). I haven't loaded any code onto it, its straight out of the box.

I have 2.2uF caps on VCAP_1 and VCAP_2 and they read 3.3V (Vdd rail). I think this is incorrect and tells me the chip is possibly blown? Possibly from ESD during fitment (baked reflow oven). I hope this is an rare and freak occurrence, is there any way of testing if its dead?

MCU gets no response from ST-Link SWD, with IAR sometimes returning ''No MCU Device found'', or ''Failed to load flash loader''.

Some other potentially useful information for diagnosing:

This is my first STM32 board, I mainly copied the schematic from the F4Discovery.

I have BOOT0 and BOOT1 on jumpers to change between GND and Vdd. Have tried all boot configurations with these pins.

I am using PC13/14/15 for IO. PC14&15 drive LEDs, PC13 drives a PNP and is tied high through a 47kohm resistor and base resistor - is this okay?

PH0/1 are not connected

NRST is tied to 5V with 47k resistor and 100nF to gnd+tactile switch.

All Vdd are decoupled <1cm

Vref uses an external reference chip + decoupling

Vbatt is connected via jumper to Vdd + decoupling

Some of the pins are outputting weird voltages. For instance, with Vdd=3.3, Pin51 (PB12) is outputting 2.5V.

I think its dead... Any thoughts?

Thanks for any help in advance!!

12 REPLIES 12
stefanskos9
Associate II
Posted on April 18, 2013 at 09:01

Ah denoted by FT, Thanks Clive!

Luckily all these pins are FT, except NRST which is only Vdd+0.5V, so I must keep my jumper removed in the future - perhaps providing 5V pullup has already blown the MCU - though i'm pretty sure this jumper wasn't connected when I first tested the MCU - I have had it connected since though.

I also read an interesting note which I did not see before;

''PC13, PC14, PC15 and PI8 are supplied through the power switch. Since the switch only sinks a limited amount of current

 

(3 mA), the use of GPIOs PC13 to PC15 and PI8 in output mode is limited:

 

- The speed should not exceed 2 MHz with a maximum load of 30 pF.

 

- These I/Os must not be used as a current source (e.g. to drive an LED).''

I had to have these pins connected to the LEDs!! Haha, probably because I'm using every pin and they are the only pins without AF. But this shouldnt of caused damage, because I have not yet written or uploaded any code to turn these pins into output.

Perhaps the pullup on PC13 is causing trouble though, but it doesn't indicate that it should - I will remove anyway and see

Any thoughts about the other answer I gave?

jj2
Associate II
Posted on April 18, 2013 at 19:30

Power issues always frustrate - doubt that anything significant has been missed here.

The excess current seems too low for a VDD-GND board short - so focus upon MCU care/handling seems proper.

Description indicates that your MCU board is xtal, caps, w/bulk of GPIO ''herded'' to edge connectors.  (we hope)  During initial power-up - were any of those external board connections made?  Might another board have been powered - before this MCU board - and while the 2 were ''connected?''

At some point - effort to ''save'' a 10USD MCU (even M4) should be replaced by removal - serious inspection and ''ohming'' of each/every trace (covered when MCU is seated) and let the process begin anew - with corrections as noted...

Good luck...  (and post your outcome...)

stefanskos9
Associate II
Posted on May 02, 2013 at 07:41

Okay, finally solved this dilemma - details below.

Original problems of VCAP shorting to Vdd were due to shorting under the MCU resulting from too much paste.

Took CPU off with hot air rework station, and tried to resolder another CPU with the same machine.... Board worked better but was still acting weird. Voltages sporadically fluctuating for no reason, MCU would sometimes work, sometimes do nothing. Realised i bricked the MCU by applying discovery startup file, whereas i don't have external 8mhz oscillator. Fixed that but still not working... Eventually found out there was another short under the MCU which was sort of temperamental (maybe depending on temperature). Eventually the short became very apparent and would smoke from under pins99/100.

Stupidly i tried to burn the short away by applying external power source and turning up current limit to ~0.5A. Didn't work and when i took the 2nd MCU off, i had burnt a hole in the board and burnt off the GND pad :( I think the MCU is still fine though

Decided I would try the 1st MCU again, even though I had treated it very poorly since it had came off the board. I had touched all the pins with my hands, it had also traveled in my backpack unprotected (not in anti-static bag) hot air reworked it a few times + held soldering iron on pins for much longer than recommended trying to remove the shorts before it was originally removed.

Anyway, after hand soldering it onto the board with minimal solder to ensure no shorts - it all works perfectly!!! Must be a very hardy chip - never used earthing strap or de-ioniser when handling.

Anyway, thanks for the support and suggestions.

For my next revision i will definetly be using far less paste over the MCU pads, if not hand soldering all future MCUs, and probably reducing the thickness of the pads thereby increasing the mask between pads (currently using recommended pad layout)

Rgds,

Stiive