Skip to main content
Associate II
August 7, 2026
Solved

NRST problem

  • August 7, 2026
  • 10 replies
  • 45 views

When running an LCD display project, the screen fails to turn on after I cut the power and turn it back on.
It only comes on when I short the NRST and GND pins.
I have a 10k pull-up and a 100nF pull-down connected to the NRST pin; what should I do?

Best answer by Andrew Neil

 

TL;DR - check BOOT pin(s) ...

10 replies

AScha.3
Super User
August 7, 2026

Maybe the power-on reset is just to short for the LCD controller to accept commands….(i often found this, needing some time),

so put some delay at startup , then access the LCD after 100ms .

+

read in LCD manual: maybe controller needing 1ms reset time minimum,

so use a cpu pin to drive the reset lo at startup and after 10ms then high, wait 50ms then , before writing init to the LCD.

….from my program:

(LCD reset pin low at start .)

	HAL_Delay(50);

HAL_GPIO_WritePin(LCD_RES_GPIO_Port, LCD_RES_Pin, GPIO_PIN_SET); // lcd_reset off;
HAL_Delay(50);
ST7789_Init();

 

If you feel a post has answered your question, please click on " Best Answer ".
Associate II
August 7, 2026

I am working with FreeRTOS; I added a delay to the init function, but it still didn't work. The LCD task has the lowest priority.

Andrew Neil
Super User
August 7, 2026

I added a delay to the init function, but it still didn't work.

Did you try a longer delay?

 

Have you tried looking at the interface signals on an oscilloscope and/or logic analyser?

Compare & contrast the working & non-working cases.

 

You haven’t said what STM32, on what board, or what display.

Or what else is happening on the board.

Show your full schematic.

 

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.
Andrew Neil
Super User
August 7, 2026

I have a 10k pull-up and a 100nF pull-down connected to the NRST pin; what should I do?

You don’t need the pullup - see the datasheet for whatever STM32 you’re using; also the hardware design application note for that chip.

 

AS ​@AScha.3 said, this must be something wrong somewhere with your system’s power-up reset handling - most likely timing.

If the suggested delay helps, then try to find a proper status indication from the LCD to positively indicate when it’s ready - always better than an arbitrary delay ...

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.
Associate II
August 7, 2026

I connected a 10k pull-down resistor to the boot pin, and it fixed the issue.

Andrew Neil
Andrew NeilBest answer
Super User
August 7, 2026

 

TL;DR - check BOOT pin(s) ...

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.
AScha.3
Super User
August 7, 2026

You have the LCD reset on a cpu I/O pin ?  Have it lo in pin setting in Cube, so lcd reset from power up > 10ms lo ?

If you feel a post has answered your question, please click on " Best Answer ".
Explorer
August 7, 2026

after I cut the power and turn it back on

How long is the interval between the turn-on and turn-off? If you wait a quite long time (say, 1 minute) and then turn it back on, will the LCD display work properly?

If so, it means your total capacitor value of VCC may be too large and the MCU doesn’t assert reset.
You can add some periodically check (read register values to see whether LCD display is configured or not, if not, the LCD display may be reset or power-down accidentally).

Associate II
August 7, 2026

 

 

Andrew Neil
Super User
August 7, 2026

@JamesMoriarty  please mark the solution on the post which provided the answer - not this one!

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.