2026-03-15 6:14 PM - last edited on 2026-03-26 3:16 AM by KDJEM.1
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:
For the HSE I have:
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.
Solved! Go to Solution.
2026-03-21 3:42 PM
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.
2026-03-16 1:21 AM
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.
2026-03-16 5:56 AM
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
2026-03-16 6:25 AM
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.
2026-03-16 7:35 PM
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.
2026-03-17 2:40 PM
I decided to ditch my shield/hat and powered the NUCLEO-F103RB via a bench top 3.3v supply. That removes one set of variables and gives me a hopefully known good 3.3v supply.
With the board off I checked continuity to verify the jumpers were soldered properly. All checks out. I then powered up and probed with the oscilloscope using a 10x probe.
Powered up, I checked that the 3.3v was stable and that I could program the board, which worked fine.
On OSC_OUT I see a steady 1.45v, and I can measure this on both sides of R37 and on the right end of C34.
On OSC_IN I see nothing, including both sides of R35 and the left end of C33.
The crystals I got were https://www.mouser.com/ProductDetail/449-LFXTAL029665REEL, I find it hard to believe I had multiple bad or killed multiple ones soldering. Is there something about the spec that would make them not work for this application?
2026-03-21 3:42 PM
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.