1
\$\begingroup\$

I am facing an issue that I do not understand.

I am using a STM32F030K6T6 microcontroller with a capacitor X7R 0603 100nF 10% 50V connected to the ground, whose the value corresponds to the preconization specified in the datasheet as follows:

enter image description here

Most of the time, I do not have any problem. But on really few boards, the microprocessor stays blocked in reset mode because the voltage of the NRESET pin which stays quite low, around 470mV. There is nothing more connected on NRSET signal: only the microprocessor, the SWD connector (without any plugged-connector) and the capacitor.

Do you have any explanation? Could it be because of ESD? A broken capacitor series ? (I have measured its resistance with the ohmmeter to check if there is a short circuit, but it's greater than 1Meg Ohm) Or an issue of capacitor charge/discharge?

\$\endgroup\$
9
  • \$\begingroup\$ Personally, I'd blame the unreliability of the internal resistor pull up first. I don't trust them. \$\endgroup\$
    – DKNguyen
    Aug 28, 2020 at 15:50
  • \$\begingroup\$ I have never had issues with the internal pull-up resistor on the reset pin. STM32 datasheets do not even mention anything about external pull-up any more, while they originally stated that external resistor can be added if necessary in the application. NinjaGreg, can you add a schematics about MCU power and reset system? \$\endgroup\$
    – Justme
    Aug 28, 2020 at 16:19
  • \$\begingroup\$ NinjaGreg - On all the STM32 devices I have worked with (including the STM32F030 you have) the NRST pin is not only an input, as you seem to be expecting and as implied by that diagram in your question. It is also an output from various internal reset sources in the MCU. See the STM32F030 Reference Manual page 88. So consider also that the MCU might be holding itself in reset (I can't say why, with the info provided, so this isn't an answer). \$\endgroup\$
    – SamGibson
    Aug 28, 2020 at 17:04
  • 1
    \$\begingroup\$ Even tho there is an internal pull-up resistor, I'd say it's a good habit to have an external resistor on the reset line (I assume your program does nothing suspicios that @SamGibson mentioned, since it runs ok on most MCUs) \$\endgroup\$
    – Ilya
    Aug 29, 2020 at 8:37
  • \$\begingroup\$ Thank your & apologize for the delay DKNguyen: ok for the failure of the internal pull-up. But as it first worked fine, what could have cause such a failure on that component? SamGibson: i didn't know that, thank you. Even if such an event occurs, the signal would be a pulse and pulled low (not an intermediate steady value) so i guess this is not my issue. IIya: could be an issue of bad capacitor mounted? a wrong value or a in failure capacitor? When i remove the cap, it works. When i replace it by an other 100nF cap, it also works (i don't have the mean to measure the RESET cap) \$\endgroup\$
    – NinjaGreg
    Sep 23, 2020 at 15:10

1 Answer 1

1
\$\begingroup\$

If you removed capacitor and MCU now works, and since MCU works after adding a new capacitor, the problem was a faulty capacitor.

It could have been damaged at some point during board manufacture or handling, so it might have a had a microscopic crack, and when pressure is applied (by handling the board or thermal expansion) the capacitor might short out or become leaky.

\$\endgroup\$
4
  • \$\begingroup\$ Yes, i totally agree with this analysis. I want to go further into it: as the board was in a casing, it could not have been any mechanical stress on it after it first worked fine. Thermal is controled and measured (in the same area), so i guess this isn't that cause. Moreover, this is a pcb procuded in serial and the capacitor i put in place instead of the failure one is the same part-number. This leads me to think something is in charge of the failure (it happens while we are testing it): \$\endgroup\$
    – NinjaGreg
    Sep 24, 2020 at 7:28
  • \$\begingroup\$ (testing the UART communication). As the nRESET pin is not accessible from outside of the casing,i think there is 2 options: - an ESD could have got into from the ground thought the capacitor up to the uC - the issue is comming from the uC (itselft or seomething he didn't like). \$\endgroup\$
    – NinjaGreg
    Sep 24, 2020 at 7:36
  • \$\begingroup\$ Humidity changes? With the info you provided, I would just blame the caps, but it does seem odd if many boards have the NRST cap broken, but it might be that many caps are broken but problem appears only the high impedance NRST pin. So can you think of anything in the process that might damage caps, or if the caps are faulty counterfeit rejects to begin with? If you do want to go further, it would require a review of the design, schematics, PCB, BOM, place of component purchase, board manufacturing and the test setup to know how you apply power to the board, etc if there is another reason. \$\endgroup\$
    – Justme
    Sep 24, 2020 at 7:47
  • \$\begingroup\$ Maybe humdity but it should have just enhanced a temporary capacitor value drift, right? Funny fact: i have just put it back in place the "failure capacitor", and it works now fine.. maybe the soldering was not all when the failure happens? On the next failure board i ll get (if i have), i will make a good observation about this capacitor and its soldering \$\endgroup\$
    – NinjaGreg
    Sep 24, 2020 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.