cancel
Showing results for 
Search instead for 
Did you mean: 

LSE won't start - Do I have to big capacitors?

DMårt
Lead

Hi!

I'm using FC-12M 32.7680KA-A5 LSE crystal and my STM32F373VBT6 won't start if I'm suing LSE crystal. But if I'm suing LSI crystal, then my STM32 will start.

I have made two(2) boards and both of them LSE won't start.

0693W00000BZvH8QAL.png 

My suggestions why are:

  1. To big capacitors
  2. STM32F373VBT6 is broken
  3. The crystal is broken
  4. Bug in STM32CubeIDE 1.6.1
  5. Crystal is to far away from the MCU

What do you think is the right according to the information below?

My setup looks like this. I'm using 15 pF capacitors because I computed them with the formula:

C = 2(CL - Cs) = 15

Where CL = 12.5 pF is the load capacity of the crystal.

Cs = 5 pF is the stray capacity of the board.

0693W00000BZvEEQA1.pngThe PCB layout for the LSE crystal. PC15 and PC14 is it mounted at.

0693W00000BZvEsQAL.png 

I have followed recommended CubeMX setup0693W00000BZvF7QAL.png0693W00000BZvFCQA1.pngI have selected the correct LSE crystal according from the recommendations from ST.

0693W00000BZvFWQA1.pngAnd the crystal information looks like this:

0693W00000BZvFMQA1.png 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer
1 ACCEPTED SOLUTION

Accepted Solutions

Of the things you can actually change, a pair of capacitors would seem to be the easiest.

Could you swap in some 6.8pF for example?

Don't rely on CubeMX, write a very simple app that just brings the LSE up, and routes to MCO or TAMPER (I'm not going to dig the DM/RM) so you can probe it without loading it.

Perhaps there is an RTC example in CubeF3, or something even simpler in the old SPL libraries.

STM32 parts are relatively hard to break, the fact it doesn't start any clocks automatically does make a signs-of-life determination more difficult, but sounds like you have code on it and it runs, just that the LSE fails to start, either at all, or within the time out window.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

6 REPLIES 6

Of the things you can actually change, a pair of capacitors would seem to be the easiest.

Could you swap in some 6.8pF for example?

Don't rely on CubeMX, write a very simple app that just brings the LSE up, and routes to MCO or TAMPER (I'm not going to dig the DM/RM) so you can probe it without loading it.

Perhaps there is an RTC example in CubeF3, or something even simpler in the old SPL libraries.

STM32 parts are relatively hard to break, the fact it doesn't start any clocks automatically does make a signs-of-life determination more difficult, but sounds like you have code on it and it runs, just that the LSE fails to start, either at all, or within the time out window.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Thank you for your reply.

I don't have any pF caps.

Sorry. There are non STM32F373 projects avaiable for STM32 in the repository.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

> Could you swap in some 6.8pF for example?

Or, try to swap in some 15pF capacitors (or just measure them with a LRC meter if you have one at hand) - we see here surprisingly often that people use a different value by mistake, e.g. 22nF instead of 22pF.

> Don't rely on CubeMX, write a very simple app that just brings the LSE up, and routes to MCO or TAMPER

+1.

Also, note, that - quite surprisingly - the better the 32kHz oscillator is designed, the longer it takes to start up - and it may take surprisingly long time to start up - seconds are normal, tens of seconds are not quite out of normal either.

JW

Do you recommend a setup for me?

I must use 2x1.2 package or 2.05x1.2 package.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

No.

First, just use the hardware you have, and do what TDK recommended above - write simple code enabling LSE and outputting it to MCO directly by writing into the respective register, and observe.

JW

Perhaps you know others that do electronics? Or vendors like Venkel who have large sampler folders..

STM32Cube_FW_F3_V1.11.2\Projects\STM32373C_EVAL\Examples\RTC\RTC_Tamper

STM32Cube_FW_F3_V1.11.2\Projects\STM32373C_EVAL\Examples\HAL\HAL_TimeBase_RTC_ALARM\Src\stm32f3xx_hal_timebase_rtc_alarm.c

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..