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

nRF52840 Bluetooth not work

Hi i just bough module nRF52840 from EBYTE.

i test with peripheral work as normal but example Bluetooth Uart not working .  i uploaded success but no device found from my phone.

does module need crystal 32.768khz or not ? because this module don't have crystal 32.768khz

Parents
  • Hi, I am using the MDBT40-DB from Raytac which is for the nRF51822 which uses the Arm Cortex M0 , yours uses the Arm Cortex M4.  The development board from Raytac which I am using has the crystal and caps mounted on the dev board.  You need the applicable crystal on the XL1 and XL2 pins if you are only using the module for development and production.  Raytac has an excellent development board which has all the peripheral parts, and it is priced very well.  www.raytac.com/.../index.php

Reply
  • Hi, I am using the MDBT40-DB from Raytac which is for the nRF51822 which uses the Arm Cortex M0 , yours uses the Arm Cortex M4.  The development board from Raytac which I am using has the crystal and caps mounted on the dev board.  You need the applicable crystal on the XL1 and XL2 pins if you are only using the module for development and production.  Raytac has an excellent development board which has all the peripheral parts, and it is priced very well.  www.raytac.com/.../index.php

Children
  • The Raytac board you want is the MDBT50Q-1M Demo Board.  The other nice thing about this board is that they supply a cable to connect the J-Link header to the Nordic Development Board, so that you can flash your code into the Demo Board.

  • it's work now after i apply crystal 

    thank brian fleming

  • I have the same module. Did you buy a separate crystal and connect to XL1 and XL2, and got it working? Do you have a link for which crystal?

  • It works allright. You can use any barrel shape 32khz crystal no need for caps even. See github.com/.../Crystal

  • Thanks joric. My module looks exactly the same as in the pictures above. However, in the specifications it specifically states is has a 32.768 RTC with a picture of the crystal oscillator. In the manuals schematics Dec 4 and Dec 6 seems to be connected externally. I haven't pulled the aluminium casing off to check if the crystal really is there though. Is the specs simply wrong? ( http://www.ebyte.com/en/product-view-news.aspx?id=445 )

    I got it working by using RC ocillator with config below. However I think crystal will help with accuracy and stability, and power consumption to some extent? And is there a certain frequency I should go for in a external crystal?

    I've only started these kind of modules/chips and BLE the last couple of weeks and it's a steep learning curve, but all the information on DevZone is really helpful. 

    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
    // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
    // <i>  if the temperature has not changed.
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
     
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM 
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM 
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM 
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM 
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

Related