Unable to Establish Connection to BC832 on NRF Connect After Programming via NRF52 DK

I am trying to program the BC832 (https://www.fanstel.com/bt832-1) using the NRF52DK (NRF52832). BC832 is a Bluetooth Low Energy (BLE) 5.3 with NFC module using Nordic nRF52832 SoC. A chip antenna is integrated. 

I followed the wiring instructions provided in this link: https://devzone.nordicsemi.com/f/nordic-q-a/55203/programming-external-board-bc832-with-nrf52840-dk.

The result is that I can see the device name in NRF Connect, but it does not display signal strength (dBm) or connection latency (ms), and I am unable to connect to the device.

However, when I use the same code to program the NRF52DK, I can successfully connect to it in NRF Connect, see the signal strength and connection latency, and execute my intended commands.

I want to control the BC832 via my phone to achieve motor forward and reverse rotation by changing the GPIO pin's high and low levels. And here is my project file on SEGGER Embedded Studio, the path is "\ble_app_uart_bc832\pca10040\s132\ses"

ble_app_uart_bc832.zip

Could anyone kindly help me understand what might be causing the issue and suggest how I might resolve it? 

Thank you very much for your kind help!

  • The LFCLK, crystal etc is handled for you when using BLE, so remove your code and instead rely on the correct configuration;

        // Initialize.
        uart_init();
        log_init();
        timers_init();
        buttons_leds_init(&erase_bonds);
        power_management_init();
        ble_stack_init();      // <<== this function initialises LFCLK for you
        ...
    

    For the BC832 which does not have a 32.768kHz low frequency crystal, place the following lines at the top of sdk_config.h:

    #define NRFX_CLOCK_CONFIG_LF_SRC         0
    #define CLOCK_CONFIG_LF_SRC              0
    #define NRF_SDH_CLOCK_LF_SRC             0
    #define NRF_SDH_CLOCK_LF_RC_CTIV        16
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV    2
    #define NRF_SDH_CLOCK_LF_ACCURACY        1 // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM
    

    Do not write to LFCLK in your init_pins() as the SoftDevice handles that for you. Pin P0.01 is not used for BLE connectivity as there is no low frequency crystal.

    Nordic support team should step in here and propose nRFConnect SDK .. :-)

  • I sincerely want to thank you for your valuable guidance regarding the use of the nRF52 series and LFCLK initialization. Your clear and professional explanation has greatly helped me better understand how to manage this in my project. At the same time, I’d like to apologize if my frequent questions have caused any inconvenience or disruption. I truly appreciate your patience and generosity in taking the time to assist me.

    Thank you once again, and I wish you all the best!

Related