Skip to main content
Associate
March 16, 2026
Solved

NUCLEO-F103RB HSE Won't Start

  • March 16, 2026
  • 3 replies
  • 330 views

I have a NUCLEO-F103RB (MB1136 rev C05). My goal is to remove the ST-LINK and power via a hat supplying 3.3v.

For the 3.3v I have:

  • Moved JP5 to pins 2-3.
  • Checked JP1 is removed.
  • Removed SB2 zero ohm resistor.
  • Removed SB12 zero ohm resistor.
  • Verified my shield is putting out a good 3.3v which is attached to connector CN7 pin 16.

For the HSE I have:

  • Removed SB54 and SB55.
  • Soldered zero ohm resistors to R35 and R37.
  • Soldered 20pf capacitors to C33 and C34.
  • Removed SB16.
  • Removed SB50.
  • Added 8Mhz 16pf crystal X3.

The ST-LINK is still physically attached at the moment, but I do plan to cut it off once things are working. The board comes up and accepts programming and works in the debugger.

Stepping through the initialization it gets to where the HSE is set up and then sits in an infinite loop waiting for the HSE to come ready. I tried replacing the crystal X3 just in case I got a bad one but there was no change in behavior.

The clock config is unchanged, other than setting HSE to "crystal" mode, from the config that works with the out of the box config where the ST-LINK provides an 8Mhz clock. The board is set to run at 72Mhz.

If I set the board to use an 8Mhz HSI instead it comes up and runs (slowly), so I'm fairly sure the power portion is correct.  Stepping through the HAL initialization code it appears to me the HSE never comes ready.

I tried two different boards.  The first one used an 8Mhz crystal from my generic stash, exact specs unknown.  For the second one I ordered some new 8Mhz crystals that perfectly matched the specifications.  Both show the same behavior.  I did try probing the crystal with an oscilloscope and I do not see a good clock signal but I'm not sure if my probes (standard 10x rigol) might cause problems seeing the crystal.

Any tips or suggestions welcome.

Best answer by nscale

Having replaced the crystal and figuring there was no chance a 0 ohm resistor was the issue that left the capacitors.  I got a new tape of 20pF capacitors and replaced the ones on the board and viola!  It worked.  

Not sure how I got some bad capacitors, but I appear to have solved the problem.

3 replies

jiangfan
ST Employee
March 16, 2026

You may try HSE bypass mode, to see if this mode works.

- solder SB50

- configure HSE bypass mode for software

 

about probing the crystal with an oscilloscope, you may probe at R37(0 ohm) - OSC_OUT pin, valid signal should be seen for above HSE bypass mode and HSE normal mode.

nscaleAuthor
Associate
March 16, 2026

I did run the board in its factory default configuration prior to any modifications and it worked fine.  In that config I was using HSE Bypass mode and taking the clock from the ST-LINK (SB50 + SB16 in place).

I tried probing at R37 using a 10x probe and I got the attached waveform.  It does not look good, and I find it very odd there seems to be a significant ~60Hz component.

I also did a deeper investigation into my 3.3v supply line.  There is a bit more ripple there than planned, I'm not sure it's enough to be causing any issues with the clock but I thought I would post it and get an opinion.  Also of interest, when I plug in the USB on the ST-Link the ripple gets very slightly worse in amplitude

jiangfan
ST Employee
March 17, 2026

RigolDS.png did not show valid HSE signal - 8MHz by default, instead ~60Hz seen, besides the signal amplitude is too low.
Ripple.png shows noise instead of ripple (ripple is low-frequency, noise is high-frequency), ms scale will be used to measure ripple. Noise of 82mV seems not low, but it is not likely to prevent HSE Bypass mode to work.

TDK
Super User
March 16, 2026

With these changes, it should work.

If it doesn't, I suspect a hardware issue. Perhaps one of the modifications isn't done or isn't complete or is mis-soldered.

"If you feel a post has answered your question, please click ""Accept as Solution""."
nscaleAuthorBest answer
Associate
March 21, 2026

Having replaced the crystal and figuring there was no chance a 0 ohm resistor was the issue that left the capacitors.  I got a new tape of 20pF capacitors and replaced the ones on the board and viola!  It worked.  

Not sure how I got some bad capacitors, but I appear to have solved the problem.