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

Android connect to 51822 issue when in low advertising

51822, S130, SDK11.0. In order to save current, I disabled fast adv and set the slow adv interval to 10seconds. The current is low now, but I am facing connecting issues with Android phone. It seems the iPhone connect well, but Android phone failed to connecting 2 times every 3 attempts. 

How do I fix this? I understand if I adjust the interval shorter it would work, but my product need ultra low current consumption. I'd like to maintain low current while still connectable, even taking more time to connect, so long as its manageable. 

Several things I am not quite clear and would like to get clarify here:

1. Will it be better if I tune the MIN_CONN_INTERVAL and MAC_CONN_INTERVAL? I read some posts about them. Are those params used between 51822 and peripherals, or its used between the phone and the 51822? 

2. When a phone requests BLE connection, can the 51822 know even its in sleep mode? 

3. My board is 51822 with a accel mems sensor. Can I have the sensor to detect and wake up 51822 when the sensor detects data? Basically I want to make the 51822 sleep the whole time without advertising, and wake up by the sensor when sensor detect data that beyond a certain threshold. I understand I could set up a timer to check, but it takes more current consumption from 51822 to get data from the sensor using TWI. I want to know if there is a way that the sensor informs 51822 activelly?

Sorry for asking so many in on post. If necessary, I can split to more posts.

Thanks,

Parents
  • Hi 

    With an advertising interval as high as 10 seconds I think this is to be expected. Connection time will be very slow, and if you are developing an app on the phone side you would have to set it to retry connecting to your device until it succeeds. 

    Do you have a target for how low the average current should be in advertise mode, based on your expected battery life time and the size of your battery?

    If low current consumption is a requirement I would strongly recommend switching to an nRF52 series part rather than the nRF51822. Typically you are looking at down to 50% of the current consumption when running Bluetooth (not to mention the improved performance, feature set and more of the nRF52 devices). Is there any particular reason you are sticking to the nRF51 series?

    1. The connection interval makes no difference in advertise mode. These settings are only relevant once a connection is established, but once you do this they will impact current consumption. The only reason to use a small connection interval is if you need to transmit a lot of data, or if you need low latency. 

    2. No. Unless the nRF device advertises there is no way for the phone to connect to it. 

    3. I don't know what capabilities your mems sensor has, but if it has an interrupt pin of sorts you might be able to configure this to wakeup the nRF device when some data is acquired. The nRF device can go into a lower sleep mode when waiting for pin wakeup than when running a timer. 

    For the nRF52 series we have an online power profile that allows you to check the average current consumption in various advertising and connected states. This allows you to calculate which intervals you should use to get below a certain current consumption target. We don't have a similar one for the nRF51822 unfortunately, but as mentioned it will be up to twice as high depending on configuration and supply voltage:
    https://devzone.nordicsemi.com/nordic/power/

    Best regards
    Torbjørn

  • Torbjørn, thanks for those information - very helpful! Actually I do have board with 52810 but unfortunately it has much higher current consumption than 51822. I used SDK16 and s112 for 52810.The mems is lis3dh.  All code logic are the same. The schematic is exactly followed the spec. The current with different chips in our case are attached below (unit is MA). We use CR2032 battery.  I am still trying to figure out how to deduce the current of 52810 board anyway but at this moment we have to stay with nRF 51 to meet the product timeline. 

    For the interrupt pin to wake up nRF device, can you please share more details about that part, such as how to do, what the code look like, or any sample references? The mems is lis3dh. 


      

Reply
  • Torbjørn, thanks for those information - very helpful! Actually I do have board with 52810 but unfortunately it has much higher current consumption than 51822. I used SDK16 and s112 for 52810.The mems is lis3dh.  All code logic are the same. The schematic is exactly followed the spec. The current with different chips in our case are attached below (unit is MA). We use CR2032 battery.  I am still trying to figure out how to deduce the current of 52810 board anyway but at this moment we have to stay with nRF 51 to meet the product timeline. 

    For the interrupt pin to wake up nRF device, can you please share more details about that part, such as how to do, what the code look like, or any sample references? The mems is lis3dh. 


      

Children
Related