This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Programming blank nRF52 ic ble issue - crystal issue

Hi

Last year I got a nRF52 devboard and I modified the ble uart peripheral example to flash a led depending on what it recieves from nRF uart app. It all worked fine(after some forum consulting) so I decided to try making my own version of the devboard (custom pcb) with some extra features. Once the PCB arrived, I got it working, except the ble part. I tried flashing softdevice and did everything as on the devboard, nothing helped. I tried removing the nRF52 mcu from the nRF devboard and soldering a fresh IC that I got from mouser. Same problem, ble now won't work on the devboard either. Then I ordered new devboards, repeated the same flashing process and they work just fine. I can't figure out whats wrong here, can somebody write steps for programming a blank ic from scratch, just in case I'm doing something wrong.

  • If the same program works on DK and does not work on Your board, I would rather look on hardware for a problem, not the software... Just one blind shot - do you have 32khz crystal as LFCLK source?

  • I tried fiddling with the hw a lot, and with the crystal too. I probed it with an oscilloscope and both crystals work fine. That is when I decided to replace the mcu on the devboard with a fresh one, and now I can't get that devboard working either.

  • What I do with all my custom boards is just (in nrfgo studio or something else): full erase -> flash softdevice -> flash application. And so it works smoothly, of course. If you also do that steps and app does not work, something is wrong with your hardware. Maybe soldering, maybe something else. Are you able to debug?

  • Found the problem! Thanks Wojtek for the support! Since you confirmed that all the steps were right, I went back to the HW. Once when I was fiddling with the devboard I accidentally blasted off the 32MHz crystal with hot air, so I placed some other crystal and checked it works with oscilloscope. And that seems to be the problem. The crystals (hc49 and smd ones) don't work. I have a DS2072A oscillsocope and I compared the waveforms of the original crystal from the new board and the waveform of the replaced crystal and they look identical. I can't figure out what makes the difference (yet), but must be something related to the crystal impendace. I bodged the smaller crystal from the devboard to my PCB and it works! What parameters are different with the crystal from the devboard compared to some other random crystal?

  • Ah right. You mean 32khz oscillator? it is required to have at least +-250ppm frequency tolerance. I don't know about capacitors, but they have to be matched correctly somehow too (it is described somewhere here on the forum i think). So, it was clearly the hardware problem. Glad you solved it :)

Related