cancel
Showing results for 
Search instead for 
Did you mean: 

How is it possible to power the Nucleo-144 board with an external NEGATIVE power supply (VDD= 0V, VSS= -3v3)?

HLabi.1
Associate II
 
1 ACCEPTED SOLUTION

Accepted Solutions
> RCC_OSCILLATORTYPE_HSE
Don’t try to initialize the HSE. Your board doesn’t have one. Also dont use it as the PLL source.
If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

10 REPLIES 10
TDK
Guru

Voltage is relative. As long as VDD - VSS = 3.3V, it will work. However, if you have other things connected to the board that think VDD = GND, you're going to have issues.

Information on powering the board from 3.3V is in the user manual:

https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf

If you feel a post has answered your question, please click "Accept as Solution".

0693W00000BbbqgQAB.pngAccording to Table 7 (page 19) and paragraph "External power supply input: + 3.3 V" (page 23), there are two possibilities:

- ST-LINK PCB is cut

- SB3 and SB111 OFF (ST-LINK not powered)

So my question is: If I cut the ST-LINK/V2-1 PCB from the board, is it possible to use the ST-LINK/V2-1 (removed) to program and debug the same board (I removed from)?

According to Table 5 (page 22) and STM32CubeMX:  

VDD_TARGET --> 3V3

SWCLK   --> PA14 

GND    --> GND

SWDIO   --> PA13

NRST    --> NRST

Is it correct to connect the pins as shown in the picture?

Yes, it is. Note that the programmer and the board will need the same ground. I'm unsure if SWDIO/SWCLK are broken out into pins somewhere, but provided you can get at those somehow, you can program the board.
If you feel a post has answered your question, please click "Accept as Solution".

0693W00000Bbc4OQAR.pngI made the connections as shown in the picture. LD4 and LD6 are turned ON.

I tried to run a test program on the board.

I chose the "GPIO_EXTI" from the repository (..\STM32Cube\Repository\STM32Cube_FW_F4_V1.25.2\Projects\STM32F429ZI-Nucleo\Examples\GPIO\GPIO_EXTI).

After running the program, the microcontroller fails on "HAL_RCC_OscConfig(&RCC_OscInitStruct)".

The same problem if I choose another example from the repository.

The clock source used in that example (and probably others) comes from the ST-Link, which you've cut off, so no clock source.

https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Projects/STM32F429ZI-Nucleo/Examples/GPIO/GPIO_EXTI/Src/main.c#L111

You'll need to modify it to use the internal HSI instead.

If you feel a post has answered your question, please click "Accept as Solution".

I replaced HSE with HSI:

//RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;

But it didnt work. I have the same problem.

Generate a working HSI clock initialization with CubeMX and copy it over to the example code. Changing one random line and hoping for the best isn't a recipe for success.

If you feel a post has answered your question, please click "Accept as Solution".

CubeMX uses nearly the same configuration.

Here is the only difference:

 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSIState = RCC_HSI_ON; 

RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;

It doesn't work either.

> RCC_OSCILLATORTYPE_HSE
Don’t try to initialize the HSE. Your board doesn’t have one. Also dont use it as the PLL source.
If you feel a post has answered your question, please click "Accept as Solution".