This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6LoWPAN current consumption

Other Parts Discussed in Thread: CC1310, CC2650

Hello,

Question about power consumption in LPWAN is one of the main question, that marked in abbreviation.
But i can't get nowhere values of current consumption in working modes.

I understand that current consumption is very depend on modes of MCU core and RF transceiver and time on.
But we need to get some values that we can compare with other solutions.

I have discussion with some developers that searching for mesh network and 6LoWPAN + CC1310 especially and they all told that they can't found data about current consumption of 6LoWPAN with CC1310. So they can't make decision in TI solution way.

I think that if information about current consumption will be present in next modes it'll be great:

  • working in active mode (determined by technical characteristics of SoC),
  • working in sleep mode (determined by technical characteristics of SoC),
  • working in periodically wake-up mode for some periods, for example 0.2 sec, 1 sec, 5 sec, 10 sec, 1 min, 1 hour,

Main question is time required for wake-up, setup RF, connect to and setup mesh network, routing packets (for routers). It's very depend on software and there is no information about required time and as result no information about current consumption.

This information required for all nodes in mesh network:

  • for Host,
  • for Router,
  • for Sleeping Router,
  • for Edge router (it's not very important, because they typically based on Linux and have external power source).

If we'll have information about consumption of nodes in some modes we'll can optimal configure nodes for application. With this information we'll can compute typical life time of nodes. It's very important for solution choosing.

Where I can get this information?

Best regards

  • The power consumption of a network is tricky to determine because it depends on so many different factors:

    • The data rate of each node
    • The number of nodes in the network
    • The number of hops in the mesh
    • The amount of routing changes in the mesh
    • The amount of interaction with the network (i.e. outside data coming into the network)
    • ... and many more

    These all depend on the specific application and environment in which the system is to be used and are difficult to predict beforehand. This makes it difficult to give an indication of a typical power consumption.

    That said, I may be able to provide some useful data that will give you a ballpark figure at least. Our (Thingsquare's) system uses 6lowpan and runs on the CC1310. While I don't have any power data on the CC1310 yet, we measured the current draw of a Sensortag/CC2650-based system (video example here).

    An oscilloscope reading is below. The highlighted part is sensing four sensors and transmitting the data in four separate messages - that's the peaks in the graph. The four left peaks are the sensing and the right (wider and higher) peaks are the transmissions. The smaller peaks on the left of the highlighted area are channel samples. Channel samples are used by the sleepy router mechanism to be able to wake up when a neighbor sends a packet.

    Based on the above measurement, we can compute a rough estimate of power consumption / lifetime on a Sensortag, with its built-in coin cell battery, that acts as a non-router device:

    • 1 * 4 sensor readings/minute: 4.9 months lifetime
    • 2 * 4 sensor readings/minute: 4 months of lifetime
    • 60 * 4 sensor readings/minute: 11 days of lifetime

    Note that these measurements are taken with the Thingsquare system and will differ from similar measurements taken with other systems on the same hardware. They are also done on the CC2650, which is slightly different from the CC1310 (for example, CC2650 has a higher data rate so consume less power when sending a packet). But they may give a ballpark number.

    Hope this is helpful,

    /adam, Thingsquare CEO

  • Hello Adam,

    you got some interesting information.

    As I can calculate for next cases we got next average current consumption:

    •    1 * 4 sensor readings/minute: 4.9 months lifetime        47 uA
    •    2 * 4 sensor readings/minute: 4 months of lifetime       58 uA
    •    60 * 4 sensor readings/minute: 11 days of lifetime        641 uA

    I calculate it by expression:

    I ≈ (C)/(t*k),

    where C - accumulator capacity (Ah), 0.22 Ah for CR2032,
    t - time in hours (4.9 * 30 * 24 = 3528 for 1 case),
    k - coefficient of partial discharging (1.3)

    These values based on typical BLE connection point-point. There is no routing load on nodes, so we can think about analogy for Host in 6LoWPAN.
    As we understand too this values including power consumption of sensors too.

    Can you get us current consumption values for CC1310 without any sensors?

    Current consumption for routers is very interesting too, because it's main question for solution.

    Best regards.

  • Hello Adam!

    I tried to replicate the experiment, for 6LoWPAN current consumption, on a CC2650 SensorTag. I ran the Very Sleepy Demo example, available in Contiki.
    I used a SensorTag as a SLIP radio, Cetic's 6LBR, and Copper addon on Firefox.

    The following figure is the waveform I get in response to a GET request, containing a payload of 49 bytes.

    I am trying to have a better understanding of the power consumption during various activities and explain the various sections of the capture.

    Section Activity
    A Wake up, check channel, pre processing
    B Receives request
    C Transmit ACK and post processing of request
    D I am not sure what this is and this is my main doubt
    E Transmit data
    F Receive ACK, and go-to sleep

    Is my understanding correct?

    My main doubt is section D.

    The similarity of the shape of the curve's rising edge, to that of Section A, makes me think that the CSMA/CA is trying to send data but failing.

    I have also observed through repeated observation, across payload size 1-60bytes, that behavior of Section D is always similar, always 6 spikes.

    What am I missing here?

    Thank you for your time.

    br/Spandan