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

NRF8001 RDYN Held High

Hi I have built a custom NRF8001 board and I'm debugging a problem.

The main microcontroller works fine (atmega32u4) but the RDYN line never goes low to start the setup process. Does anyone know where to start debugging this? I'm pretty sure my circuit is correct, one thing I was thinking was the capacitors for the crystals might be too large. I scoped the crystals and they are not running, I assume though that the NRF8001 turns these on and off as it pleases. Is there a time that the crystals should definitely be on so that I can scope them?

Thanks for the help in advance.

Cheers,

Matthew

  • Hi,

    I assume that the nRF8001 is powered and you did a pin reset for the first time. The nRF8001 will send the Device Stated Event and as a result the RDYN line will go low. Your problem is that the RDYN does not go low.

    I assume that you have followed the reference design as stated in the datasheet and in the downloads section of the nRF8001 ( www.nordicsemi.com/.../nRF8001 -> Downloads -> Reference layout files )

    The section on the 16 MHz crystal oscillator in the datasheet also contains some pointers

    You can get a review of the schematic and layout done by contacting the support team at www.nordicsemi.com/.../Contact-Support-Team . Register in the mypage and open a new case in your mypage for the review.

  • Great! Thanks for your help, I'll contact the support team.

    -Matthew

  • Hi Nordic folks,

    I'm experiencing a similar problem and so the setup process is not successful. I'm able to send a few ACI packets but then the RDYN line is held high and does not respond when I set my REQN low for more ACI commands.

    I checked my nRF8001 by changing the operation mode from Setup to Test and sending the Echo command, and I successfully received the EchoEvent. So the chip should be fine.

    Any idea why nRF8001 keeps the RDYN line high after a few ACI packets and does not recognize that I set my REQN low?

    Cheers, Soren

    nRF8001-ACI.JPG

  • So I fixed my issue and I have a few suggestions for anyone who runs into the same problem:

    1. Delete the dummy byte (0x00) at the beginning of each ACI packet generated by nRFgo Studio. However, I still send a full packet of 6 dummy bytes at the beginning to read the initial DeviceStartedEvent. In my experience, too many dummy bytes seem to confuse nRF8001.

    2. Always start by resetting nRF8001. Pull the RESET line low. Wait at least 200ns. Pull the RESET back high. Then wait at least 62ms. Note that the 1st one is in nanoseconds and 2nd one is in milliseconds.

    3. Slow down the SPI clock. Clean up your SPI code and make sure all the timings are correct.

Related