Measuring sleep current on EFR32MG1 using the Z3Switch sample app

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> yuxiao ‎12-02-2016 02:59 PM - edited ‎01-11-2017 04:40 PM

You can easily measure the sleep current on EFR32MG1 on WSTK board using the Z3 Switch sample app based on EmberZNet5.7.3GA or later versions following these simple steps:

1. Create a new project based on the Z3 Switch sample app, and make these modifications in the .isc file:
- Under the "Znet stack" tab, change the device type to Sleepy End Device
- Under Plugins tab, make sure "EEPROM" is enabled
- Under Plugins tab, disable "heartbeat"
2. Generate and build the project, and upload it along with an application bootloader to the chip. The power switch on the WSTK board should be set to "AEM".
3. Disconnect from the node in the Network Analyzer view.
4. Power cycle the board.
5. Start Energy Profiler, connect to the node and start profiling. You should see sleep current around 3-4 uA.

 

Note: there is a bug with com port configuration (in com.c) affecting EmberZNet 5.8.0.0 that prevents sleep. For this version, customers can patch it by adding the code portion in italic below to platform\base\hal\plugin\serial\cortexm\efm32\com.c:

bool COM_Unused(uint8_t port)
{
  COM_Handle_t comhandle = getComHandleFromPort((COM_Port_t) port);
  if (comhandle == NULL)
  {
    return true;
  }
  // use rxQueue as a proxy for a COM port being initialized. Will be a null
  // pointer if uninitialized
  return !((bool) comhandle->rxQueue);
}

 

 

Comments
by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Genius</font></font> </a> Devon
on ‎12-27-2016 02:59 AM

Hi YuXiao,

I follow the steps you provide with my Mighty Gecko SDK. However, I cannot see the device is going to sleep in the end.

The current is around 5.3 mA in my Energy Profile console. It seems like the device keep awake not going to sleep.

 

Do you have any idea that what can be the root cause?

I connect Mighty Gecko to PC through the USB cable. Is it related?

 

Thank you very much.

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> yuxiao
on ‎12-29-2016 09:40 AM

Hi Devon,

 

A couple things to check - did you set the power switch on the WSTK main board to AEM? Have you tried power cycling?

Which EmberZNet version are you using?

 

Yuping

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Genius</font></font> </a> Devon
on ‎12-29-2016 06:10 PM

Hi YuXiao,

Yes, I have set switch to AEM on WSTK and try power cycling.

The version I am using is 5.8.0.

I found that if I change the stack version back to 5.7.3 then there is no issue with the sleep current.

Seems like there were some bugs in stack 5.8.0 that end device will not go into sleep mode all the time.

Do you have any idea that what can be the root cause?

 

Thank you very much.

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> yuxiao
on ‎01-11-2017 04:43 PM

Hi Devon,

 

We have identified a bug that prevents sleep, and I have added a note to the original post explaining the cause and providing a fix. The official fix will appear in our next release.

 

Thank you for alerting us of this issue.

 

Best regards,

Yuping