cembeddediotcontikicontiki-ng

Contiki ng: how to lower power consumption?


Im currently developing a low power IoT node based on Contiki-ng running on a TI CC1350 launchpad board. My problem is that my power consumption is always >6mA.

Compiling and running the energest example I can see the MCU radio is always listening, no matter if I compile with MAKE_MAC = MAKE_MAC_NULLMAC and MAKE_NET = MAKE_NET_NULLNET. Running MAKE_MAC = MAKE_MAC_TSCH or MAKE_MAC = MAKE_MAC_CSMA increases consumption by around 2mA as the CPU is always active, but the radio is never duty cycled.

Is there a way of reducing current consumption for Contiki-ng on this platform?


Solution

  • With Contiki-NG, you have two options:

    1. Use CSMA or NullMAC and turn off the radio from the application code with NETSTACK_RADIO.off().
    2. Use TSCH and make sure the schedule has some idle slots. The radio is going to turn off automatically once the node has joined a TSCH network.

    If you the latter, still see big consumption, and you're sure about your code, submit an issue to the Contiki-NG git - there can be an energy consumption bug in the OS specific to the CC1350 board.