Skip to main content
Visitor
August 6, 2026
Question

Some of STM32 IO pin change logic from default logic during reset release

  • August 6, 2026
  • 8 replies
  • 56 views

I am doing a project on STM32F479ZGT6. I set all my pins to HIGH default, open drain, external pull up on STMCubeMX. During power on, the IO pins first follows 3.3V by the external pull up, but then two of the IO pins becomes LOW during reset release, and then after reset is completely released, it turns back to HIGH(default logic set in STMCubeMX). Does STM32 has the ability to change logic opposite from the default logic only for a moment?(which in my case is during reset release) Would be glad to know any possible cause and solution for this case.

Red: Reset

Blue &Green: IO pin

 

8 replies

TDK
August 6, 2026

The vast majority of pins are in a high-z state when the chip is in reset. There is no ability to change this behavior.

If you need a pin to be in a defined state, the only way is to use an external pullup or pulldown resistor.

I set all my pins to HIGH default, open drain, external pull up

“External” pull up is not a setting in STM32CubeMX. The pullup/pulldown settings refer to internal pullup/pulldown resistors.

"If you feel a post has answered your question, please click ""Accept as Solution""."
adibahqinAuthor
Visitor
August 6, 2026

I beg your pardon. For the STMCubeMX setting, I set it to no internal pull up/pull down and then connect it to external pull up. The connected external pull up should be not making the IO pin to be left floating.

TDK
August 6, 2026

I beg your pardon. For the STMCubeMX setting, I set it to no internal pull up/pull down and then connect it to external pull up. The connected external pull up should be not making the IO pin to be left floating.

Ahh, so the problem is the pin is getting pulled low at/during startup. Which pins are these? Are you setting the state to high before you make them an output? Does it happen if you leave the pin as input?

"If you feel a post has answered your question, please click ""Accept as Solution""."
Richard Li
Senior
August 6, 2026

You can try make reset signal more sharp, reduce capacitor at NRST, even use reset IC like TI TPS3703, TPS3899…

If this doesn’t work, you can play with PDR_ON pin, change different power on reset.

More than this, you need carefully control power on/off sequency, 

If power sequency no good, your product lifetime may reduce.

Visitor II
August 6, 2026

Really odd.
You can state WHICH TWO PINS of STM32F479ZGT6, and then let’s check the DS&RM.
Some specific alternate functions related, maybe.

Richard Li
Senior
August 6, 2026

In reset signal not stable period, (in your case 0.9V - 1.6V) chip status is unknown, This is normal for most chip. 

TDK
August 6, 2026

The chip status is either in reset, or it has started. In either case, the pin should be high provided the initialization is correct. I don’t see how this explains anything.

It is not normal for pins to toggle during startup.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Andrew Neil
Super User
August 6, 2026

Welcome to the forum

Please see How to write your question to maximize your chances to find a solution for best results.

 

In particular, as the others have said, you need to state which pins you’re looking at.

Also, show the schematic.

Some good, clear photos of your setup may also help.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.