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.

CC2652P: how to control sleep mode

Part Number: CC2652P
Other Parts Discussed in Thread: ENERGYTRACE, SYSCONFIG, Z-STACK, LP-CC2652RB

Hi Team,

We are trying to run the test code on CC2652P dev board but we struggle to get less than 0.5778mA in sleep mode. 

We have unplugged the LED's and debugger, monitoring with EnergyTrace. 

Is there a way we can control manually the sleeping periods. Or how can we see when actually the device is in sleep mode. I understand the device is in sleep mode when "nothing happens" but for example after how many sec the switch changed will the device go back to sleep? 

At the moment the chip can run no more than 2 weeks off 2x AAA battery which isn't good enough. 

Do you have a specific template code that was written for battery operation?

Many thanks for your help


  • Which SDK version and example you are testing? The power consumption looks like the device goes to sleeping already. Do you try to disable UART and other unused peripherals?

  • Hi Daniel,

    I assume you are using the zed_sw which we discussed in your earlier E2E thread.  I should mention that these examples are tested for optimal power consumption (~1 μA in standby) with each SDK release.  My recommendations are the same as before and I further suggest that you follow the recommendations from SWRA478 to ensure that you are measuring from EnergyTrace correctly.  Also, be sure to increase the Poll Period from Sysconfig -> Z-Stack -> Power Management as 3000 ms is too frequent for optimal battery operation.  Sleep mode is correctly handled by default project configuration but is dependent on the application to enter an idle state, thus make sure that changes do not require an active state too often.


  • Hello Ryan,

    I am replying to you here so as to not create a new topic for a somewhat similar question.

    When developing a ZED Temperature sensor, i've used an off the shelf example from TI (zed_temperaturesensor) and tried measuring its power consumption. Accordingly to what i've read, it seemed that the stock example should put the uC into sleep mode by itself. I was using the LP-CC2652RB evaluation board, removed all the jumpers as per the schematics indication, inclusing all LEDs, powered the board via XDS110 and measured the current with a DMM. Settings are default, with 3000 ms polling.

    What i was reading comes as follows: between 8-10 mA when transmitting (with a max of 14mA, probably due to more intense RF usage) and 2mA sleep(idle?) current. This is very large and would be unacceptable for a battery powered device. I cannot seem to get less than 1.8-2 mA current in its lowest power mode. This is way higher than the 0.94 uA that the datasheet says, but seems to correspond to consumtpion of mcu on a 32MHz clock, as the 48MHz HF clock should consume about 3.2mA .

    Does this mean that the stock app does not actually do any sleep? Tried changing polling to 60.000 ms, but there was no further drop.

    Is there a more detailed guide on manually sleeping ZED devices? I tried using power functions, but it seems that there is no sleep triggered. Neither is when using semaphore_pend. Thanks!

  • Hello A V,

    The default ZED project is not optimized for low power, you have to define CUI_DISABLE and remove BOARD_DISPLAY_USE_UART.  This is explained in SWRA625 and the Power Configuration section of the Z-Stack User's Guide.  If measuring using the XDS110 as power source then all jumpers should be removed except for GND and the DMM leads are connected to each end of the 3V3 header.  You do not need to manually add power functions to the application code.


  • Thank you Ryan,

    We have done all recommended steps on multiple zed_ Texas Instruments example projects and measured power consumption using Code Composer Studio / EnergyTrace, CR2032, CC2652P1 via XDS-110. The result is that the original 1 day 8 hours measured battery life improved to 14 days, using around 500mA on average. The only thing what looks to matter is zigbee settings in the .syscfg file: Power Management Configure radio power settings. There is improvement until about 3000 ms on those. Setting any to more than 3000 ms does not look to have any effect on power consumption.

    It would be really helpful if TI would add an "zed_empty" and a "zed_empty_power_consumption_measure" project to the example projects whst could be easily imported since it looks that our problem is not unique. This should take maybe a day for you but could save months development time for TI integrators. Thank you.


  • If the device is not achieving a sleep current of ~1 μA then there is still an issue with your setup.  I recommend you try powering the CC2652P1 separately from the XDS110 and measure the power with a Multimeter or Power Analyzer instead of EnergyTrace.  I may be able to provide further assistance if EnergyTrace screenshots and code change snippets are shared.  Increasing the Poll Period past 3000 ms should certainly increase the longevity of your device.  The examples have already been optimized for low power evaluation and are made fully configurable for developer use.