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

Fanstel BT840F not connecting.

Morning. I have a Fanstel840F module.
I use attached example sketch.
I flash nrf52DK with this sketch, it works fine. I can scan with NRF PC and Mobile software, and see smartTag1003 in scan list.
I can connect.
Now the Fanstel 840F module.
I can flash OK.
If I scan with NRF PC or Mobile, I can see smartTag1003 under scan list.
I cannot connect, says HCI error.

I use zephyr.
I have overlay file:

/{
model = "Nordic nRF52840 DK NRF52840";
compatible = "nordic,nrf52840-dk-nrf52840";

buttons {
compatible = "gpio-keys";
button0: button_0 {
gpios = <&gpio0 11 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
label = "Push button switch 0";
};
button1: button_1 {
gpios = <&gpio0 2 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
label = "Push button switch 1";
};
button2: button_2 {
gpios = <&gpio0 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 2";
};
button3: button_3 {
gpios = <&gpio0 25 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Push button switch 3";
};
};

/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led0;
led1 = &led1;
led2 = &led2;
led3 = &led3;
pwm-led0 = &pwm_led0;
sw0 = &button0;
sw1 = &button1;
sw2 = &button2;
sw3 = &button3;
};

};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};

&uart0 {
compatible = "nordic,nrf-uart";
status = "okay";
current-speed = <115200>;
tx-pin = <6>;
rx-pin = <8>;
rts-pin = <5>;
cts-pin = <7>;
};

&uart0 {
status = "okay";
};

My first guess is maybe crystal? I understand the BT840F does not have crystal? ( I do not know how to set in zephyr to use internal crystal.
My second guess is Fanstel and NRF52840 DK hardware configs clash..

Please help.

Parents
  • Hi

    Indeed, I suspect this is the crystal as well. In order to use the internal RC oscillator instead of the external crystal, you have to (if using SES) go to Options->Configure nRF Connect SDK Project, search for clock. Set 32kHz clock source to RC oscillator instead of crystal oscillator, and set 32kHz clock accuracy to 151 ppm to 250 ppm. Alternatively, you can make these changes in the /drivers/clock_control/Kconfig file directly.

    Best regards,

    Simon

Reply
  • Hi

    Indeed, I suspect this is the crystal as well. In order to use the internal RC oscillator instead of the external crystal, you have to (if using SES) go to Options->Configure nRF Connect SDK Project, search for clock. Set 32kHz clock source to RC oscillator instead of crystal oscillator, and set 32kHz clock accuracy to 151 ppm to 250 ppm. Alternatively, you can make these changes in the /drivers/clock_control/Kconfig file directly.

    Best regards,

    Simon

Children
Related