Skip to main content
jvavra
Associate III
June 13, 2022
Question

How to Test for Brownout?

I have a USB HID product based on the STM32F205. We've built thousands of them. However, recent builds have shown about a 5% failure rate where the device fails to enumerate (some of this 5% might fail 50% of the time when power cycling, some 90%+). I have a suspicion that the dropout voltage regulator we are using may have too slow of a rise time and it is occasionally triggering the brownout detection. The clues are both that the device fails to enumerate, but also that a switched GPIO used to control an additional LDO for other components never goes high (it should be high permanently from power-up).

But I can't figure out how to test for this. If I connect an ST-Link, the issue goes away: the device enumerates 100% of the time. I can't trigger an LED or something, as the device state can't be trusted in brownout reset. I can't disable brownout, only vary the level. Is there another way I'm missing of verifying the device is in brownout reset?

This topic has been closed for replies.

5 replies

Javier1
Principal
June 13, 2022
hit me up in https://www.linkedin.com/in/javiermuñoz/
Javier1
Principal
June 13, 2022

what about toggling a GPIO when the micrcontroller resets and use that as a trigger for an oscilloscope probing VCC 3v3?

hit me up in https://www.linkedin.com/in/javiermuñoz/
jvavra
jvavraAuthor
Associate III
June 13, 2022

Looking through the datasheet, it's not 100% clear to me: is the Hard-Fault Handler called whern a BOR reset occurs?

Uwe Bonnes
Chief
June 13, 2022

At startup you can see in the reset register if a brownout happened. Light up the LED in thhat case.

Consider also oscillator startup issues.