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.

CC1310: Standby power consumption on custom board

Part Number: CC1310

Hello everyone!

First of all, this is my first post in this forum.
So, sorry if I make any mistakes.

I'm designing a wireless sensor powered by energy harvesting. So low current consumption is a must.

At this point, I developed a firmware that turns on the RF module in Rx mode for about 17ms and than turn it off and enter sleep mode for about 5s.
This development have been made using CC1310 Launchpad kit, where I could reach a average power consumption of about ~35uA, which is great for my needs!

The problem came after I have designed my custom PCB.
Everything is working almost fine.
RF module is working, but not as efficient as it should be.
This was expected since I have never worked with RF. (I will leave this topic for another post)

The most important fact right now is power consumption.
With this custom board, I could reach only  ~70uA of average power consumption.

By reading some other posts in this forum, I believe the problem is on PCB layout.
As this is just a prototype board, its a 2 layer board, FR4.
The final design will be 4 layers.

Which are the critical components on the layout to reach the lowest possible power?
Is there any hints to lower this power consumption?

Thanks guys,

 

  • When you test power consumption of your custom board, do you set all unused pins to PIN_UNASSIGNED?
  • Well...
    I have just did not mention the unused pins in the pinTable used by the PIN_open function.
    I forgot to mention, my custom board uses the 4x4 mm version of CC1310F128.

    I'm doing some tests to check power consumption in standby for both boards for comparison.
  • So, do you set all unused pins to PIN_UNASSIGNED in your board file?
  • Have you measured the current using the pinStandby example?

    Have you measured the current when you are in RX continuously?

    Knowing this it's easier to know which part of the design you have issues with. As YK points out you also have to adjust the board file correctly for your board.
  • Sorry for my late reply.
    I've been studying and working on PCB layout lately and found some non-optimal design in my PCB.

    I've just made the test using pinStandby example (sightly modified turning off the LED toggle) and things got more weird.

    Average current on my custom board: 4uA
    Average current on launchpad: 7.5uA

    I've re-done several times the test looking for any setup mistake, but got the same results....

    RX continuously showed virtually the same measure for both boards.

    About the PIN_UNASSIGNED subject.
    Sorry for my ignorance, as I'm much more a hardware guy than software.
    All I have to do is something like:

    #define Board_DIO0              PIN_UNASSIGNED

    Right?

    Cheers,

  • (I have copied from the CC1312 board files since I had it open but it's the same principle for CC1310)
    If you look in the CC13xx_LAUNCHXL.h file you will find sections like this:

    /* SPI Board */
    #define CC1312R1_LAUNCHXL_SPI0_MISO IOID_8 /* RF1.20 */
    #define CC1312R1_LAUNCHXL_SPI0_MOSI IOID_9 /* RF1.18 */
    #define CC1312R1_LAUNCHXL_SPI0_CLK IOID_10 /* RF1.16 */
    #define CC1312R1_LAUNCHXL_SPI0_CSN PIN_UNASSIGNED
    #define CC1312R1_LAUNCHXL_SPI1_MISO PIN_UNASSIGNED
    #define CC1312R1_LAUNCHXL_SPI1_MOSI PIN_UNASSIGNED
    #define CC1312R1_LAUNCHXL_SPI1_CLK PIN_UNASSIGNED
    #define CC1312R1_LAUNCHXL_SPI1_CSN PIN_UNASSIGNED

    If you don't want to use SPI0 (or something else) you set these pins to PIN_UNASSIGNED. The same goes for IOs. This typically is only needed if you have a different pinout than the examples use.

    The most important with the pinStandby example test is to measure the current when the chip is in standby.