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

Ultra low power network

Thanks in advance for any advice!

We are developing an ultra low powered network. There will be a remote control with numerous buttons. This will connect to 2-10 peripheral devices. The peripherals will have various functions, most of them are some servo motor type device. We are considering the best way. The idea is to make the remote control the central, and the others will be peripheral. To be ultra low power, there are 2 ways we can do this:

1) Put the pod to full sleep after some period of inactivity. The risk of this, there may be some long connection time to reconnect to all the peripherals.

2) After some period of inactivity, increase the advertising interval to maybe 1000mS. The advantage of this, the devices never disconnect, and we have maximum 1 second response from the remote control. The negative, it may consume more battery power. Based on the online profiler, we can expect 6.2uA average current at 1000mS interval. This would be several years of standby power on a CR2032 battery. More than enough.

Anyone see any problem with either option? One problem I see, is that some of the peripherals might stay in advertising mode looking for the sleeping remote control in Option 1. Not sure though.

Parents
  • Hi Dawei,

    Please clarify: 

    - When you mentioned "put the pod to sleep" you meant the remote control ? 

    - "Increase the advertising interval" you meant the connection interval ?

    Regarding your 2 options: 

    1) It will be lower power consumption on the central device. But the peripherals need to periodically advertise all the time because it doesn't know when the central will wake up. It may take several advertising event before they can get connected. I assume the central device wakes up by a button press by human ? This means the peripheral has no way to wake up the central to send data if any. 

    2)I think the current consumption for the central device will be higher as it has to maintain multiple connection not just 1. And the maximum latency can be higher than 1 second as there can be packet drop and retransmission (take another 1 second) needed. Also the online calculator is excluding any application processing or current consumption of other component on the board. 

  • Yes, I was referring to the remote controls sleeping. They can be woke up with a button push. The peripherals do not have a manual method to wake up. Andyes, I meant connection interval.

    We reviewed this again with the team today. We are now considering a different method. one of the peripheral motor units will be the central. Its got a fairly large battery that needs to be charged every few weeks anyway, so the increased power consumption from the radio is not significant.

    What we are considering, is having all the peripheral devices stay awake, but just go into a long connection interval. The battery life should be fine.

    One question that came out of this though: Is it possible to have different connection intervals for different peripherals? We will have some devices that need very fast response, and others that can tolerate a little slower interval. We would vary the connection interval just to maximize battery life.

    And, can the connection interval be changed live? Like after 10 minutes of inactivity, can we change the interval timer from 100mS to 1000mS?

  • Hi Dawei, 

    If you have a large battery on the motor, leaving it running as central all the time would make sense. I would assume the current draw by the radio is not significant compare to the motor. 

    It's possible to have different connection interval for different peripherals. It's not optimal though, as there can be conflict and one of the connection event will be dropped when there is a conflict. But this doesn't mean the connection will be terminated, the next connection event should go through as it will have more priority. 
    The connection interval can be changed dynamically, either by the central  or be requested by the peripheral and approved by central. 

Reply
  • Hi Dawei, 

    If you have a large battery on the motor, leaving it running as central all the time would make sense. I would assume the current draw by the radio is not significant compare to the motor. 

    It's possible to have different connection interval for different peripherals. It's not optimal though, as there can be conflict and one of the connection event will be dropped when there is a conflict. But this doesn't mean the connection will be terminated, the next connection event should go through as it will have more priority. 
    The connection interval can be changed dynamically, either by the central  or be requested by the peripheral and approved by central. 

Children
No Data
Related