Guest Post: Investigating the energy consumption of a carbon monoxide detector with EFM32 tools

Wouldn’t it be nice if you could minimize the number of hardware tools and connections for your embedded prototypes and applications? In a recent road test on element14, Wojciech Gelmuda uses his EFM32 Starter Kit to measure the current consumption of an external application without the need for additional oscilloscopes or multimeters. Here you can read in Wojciech’s own words how you can do the same.


I have measured the power consumption of this detector that I got recently. Many of you have already checked the energyAware Profiler application from Simplicity Studio and know how to use it, but it is also possible to monitor the power consumption of your external applications with the STK, even if your external device does not run the EFM32 chip. OK, so maybe not all external applications but the ones that can be power supplied from VMCU domain on STK. Also remember that the maximum measurable current with the AEM and Profiler is 50 mA. I hope this will be helpful to other road testers.

Initial Setup


First you have to have your development or STK board from Energy Micro and Simplicity Studio installed and updated. Since you will be plugging an external device to the VMCU domain pins and measure the power consumption, you need to minimize the current consumption of all components which are on the STK in the VMCU domain, in order to get the most reliable readings for your external device. As the EFM32 accounts for the greatest current consumption, you have to put it into its best energy saving mode – which is EM4. The quickest way to do this is to flash it with ‘emode demo’ file from Simplicity Studio. After programming and resetting the chip, you have 4 seconds to set the proper energy mode by using buttons on the kit. Click to EM4 on the display and wait for the counter to go down from 4000 to 0000ms. That is it. You are ready to go. You can check the current consumption with the Profiler – it should be on the level of noise, some nAs.


I replaced the batteries in my detector with short cables from STK’s EXP port pins – GND (pin 1) and VMCU (pin 2).


The device started and I saw the current consumption in Profiler … but there was one problem. On the detector’s LCD there was ‘Lb’ sign, meaning that the voltage is too low. I was a little bit surprised, because I had checked the detector with the laboratory power supply, by decreasing the supply voltage from 5 V to 3,2 V and everything was working great on 3,2 V level.


I realized that the detector can work with 3,3 V from VMCU but it cannot start from this voltage level. So, I have started to think how to remove this problem. The solution was simple. There is a battery case on the STK and you can select the power source for VMCU with the switch. You can choose if it is the battery case, USB, or power from debugger (another USB). So, I had connected 3,7 V as the battery, started the detector and quickly changed the position of the switch to DBG to get 3,3 V from USB to VMCU. Capacitors did the job and now I have the detector working from 3,3 V from VMCU and the Profiler is ready to monitor the power consumption.

The average current consumption is about 500 uA (@3,3 V). There is the periodic peak of current consumption once in the while, when the ‘Operation LED’ blinks. Of course, the power consumption is greater when I test the device, due to the blue back light of the LCD, but this feature can be disabled by pliers.


Profiler plot – Continuous work with a current peak when the ‘Operation LED’ blinks.

Read the complete blog post ask your questions on element14.

Download Simplicity Studio and try Advanced Energy Monitoring tools here