Energy Harvesting Applications with EFR32xG22E#

This document describes different methods of energy harvesting to power EFR32 wireless devices without battery or line power. Also known as "Ambient IoT", this enables devices to operate without needing batteries and battery replacement.

Device Compatibility#

This document provides guidance for the EFR32xG22E family, which includes:

  • EFR32MG22E

  • EFR32BG22E

  • EFR32FG22E

Overview#

Energy harvesting allows IoT devices to operate without batteries or line power. Battery-less devices have the following advantages:

  • Increased flexibility of installation (no need for power outlets)

  • Reduction in cost of maintenance (no need for battery replacement)

  • Reduction in cost of batteries

  • Reduce environmental impact (no battery waste)

  • Fewer shipping restrictions compared to devices with batteries

Energy can be harvested from a variety of sources. Common ones include:

  • Solar

  • Kinetic (vibration, motion, or button press)

  • Thermal

  • Magnetic

  • RF

When the energy source is intermittent, energy can be stored using storage methods such as:

  • Supercapacitors

  • Thin film capacitors

  • Solid state capacitors

  • Hybrid lithium capacitors

  • Rechargeable batteries

  • Printed batteries

Calculating the energy budget and storage requirements depends on the application. Most ambient IoT devices will spend a majority of their time in low-power sleep modes such as EM2 or EM4. When an event occurs and there is enough power to run, the goal is for the Wireless MCU to complete the task quickly and go back to sleep mode. How much energy is required will depend on things like run time, the amount of data to process, and radio transmit power. Some energy sources are "trickle" sources and provide a continuous amount of power (for example, a solar panel). These sources are good for applications that are always on. Other sources are "transient" and provide a limited amount of energy per event (for example, from a switch press).

Available energy can be measured in micro-Joules (µJ) or milliwatt-Hours (mWh). The EFR32xG22E consumes about 150 µJ to boot from PoR and 17 µJ to boot from EM4.

Optimizing MCU Software#

Many power saving and time saving (same thing) optimizations are possible for the EFR32xG22E. The device firmware can also track how much power is available and adjust operations accordingly (for example, how often to transmit, how much data to transmit, or other tasks like flash erases).

In EM2 and EM3, RAM retention has a significant impact on current consumption. Reducing RAM retention (if possible) can yield significant power savings.

Waking from EM4 takes a significant amount of power to reinitialize the device. For longer sleep periods, this consumes less energy than EM2, but if the device will wake often, it can be more efficient to stay in EM2 and not have to reinitialize the device. Cold starting the device (Power on Reset) takes even more time and energy, so the device should remain in EM4 instead of completely powered off if possible.

The EFR32xG22E has reduced security features compared to other Series 2 devices and has security on par with Series 1 devices. This change results in significant reductions in power consumption and boot time from power off or from EM4. See application note AN1447 for more information.

The type of wake up sources varies with energy mode. See the EMU section of the EFR32xG22E reference manual for more information. Peripherals that use the low frequency oscillator are active in EM2, and so wakeup sources include LETIMER, I2C, and EUART. Wakeup sources that are available in all energy modes include pin interrupts, BURTC, and RFSENSE. This allows a device to wake periodically, upon input from another device, or to wake when a radio transmitter is present. With RFSENSE, a scanner can wake devices when it is present, letting them remain in a low power mode, such as EM4, the rest of the time.

Available energy, as well as charge rate and discharge rate can be measured if the PMIC being used supports it. For example, the AEM13920 has a feature called Average Power Monitoring, which can measure power from the source to the storage element and from the storage element to the load. The Silicon Labs PMIC part, EFP01 has a coulomb counter that measures power consumed.

The voltage on storage devices can also be measured with the IADC, but converting voltage across an energy storage element to how much energy is available for the application requires detailed knowledge about the discharge curve of the storage element. The IADC has internal inputs for supply pins AVDD, IOVDD, DVDD, DECOUPLE, and VSS. The supplies AVDD, IOVDD, and DVDD are divided by 4 so they can be easily measured by the internal voltage reference. IADC readings can also be taken from IO pins, and connected to other storage devices such as a supercapacitor that is not directly connected to the device. A voltage divider can be used to bring the reading into range, analog inputs are limited to the lower of AVDD and IOVDD. For more information on IADC measurements see Application notes AN1189 (IADC) and AN0018.2 (Series 2 Supply Voltage Monitoring).

Data stored in RAM will be retained across energy modes EM0 - EM3. In EM4, ordinary RAM is not retained, but there are 128 bytes of BURAM that are preserved across every type of reset except for brownout and power on reset. Data that needs to remain after the device is powered off must be written to flash. Data can be stored in flash using direct writes to flash memory or a software library like NVM3. Note that erasing a flash page requires a significant amount of time (typically 12.9 ms) and current. If NVM3 memory is repacked, it will require at least one page erase. Because code cannot be executed out of flash during a write or erase, it is difficult to stage flash erase operations in parallel with other tasks.

Optimizing Radio Power#

A typical wireless project will initialize the wireless stack in software, and depending on the wireless protocol, may join a network or establish a connection to another device. In order to reduce power consumption, Ambient IoT devices can operate in transmit only modes that do not require continuous network connection, such as

  • Bluetooth Beaconing

  • Zigbee GPD

  • TX only proprietary packets

Where possible, the device can transmit radio packets directly using the RAIL abstraction layer, rather than initializing the radio stack.

Radio settings, including transmit power, amount of data, transmission PHY (1M vs 2M), sleep interval, beacon interval, and number of beacons can have a significant effect on power consumption.

These parameters can be selected and dynamically adjusted by an energy-aware algorithm ensure the device meets its power budget. If energy is limited, it can decrease the number of beacons, sleep longer between transmits, reduce the amount of data sent, and reduce transmit power. If energy is in abundance, it can transmit more often, transmit more information, and use higher transmit power.

Hardware and Kits#

There are lots of evaluation boards for various devices. Silicon Labs provides the EFR32xG22E Explorer Kit (EK2710A) which features a EFR32MG22E. This kit does not have an energy harvesting power source or storage, but it can be connected to these devices through the Qwiic connector. For more information about these boards, see User Guide UG582.

E-peas provides a PMIC and evaluation boards that can be coupled to our kits. The e-peas PMIC can work with energy harvesting devices like PV, thermal, or kinetic. The device configuration is set with GPIO pins (either jumpers or connected to the EFR32). Status pins (also GPIO) indicate the PMIC state (shutdown, ready) to the EFR32.

The EFR32xG22E Explorer Kit features a EFR32MG22E on a board with a J-Link debugger, a Qwiic connector, and a mikroBus socket that allows expansion boards or "shields" to be attached to it. Shields include energy-harvesting-specific shields which contain an e-peas PMIC and can be connected to power sources and storage devices.

The following shield boards are available as a kit from Silicon Labs. The kit number for is xG22-EK8200A, and information about these boards is available in user guide UG591:

  • BRD2710A - EFR32xG22E Explorer Kit Board

  • BRD8201A - AEM13920 PMIC for dual energy sources

  • BRD8202A - AEM00300 PMIC for kinetic pulse sources

  • BRD8203A - Alternate battery and super-capacitors

  • BRD8204A - AC Input Adapter

  • BRD8205A - DC Input Adapter

Lab equipment such as Digital Multi Meters (DMMs) and Oscilloscopes can be used to evaluate and debug the power management of these designs. Voltage measurements at different nodes can be taken to determine how much power is being generated, how much is available in storage, and which parts are powered up. Measuring voltage does not affect the circuit. For devices connected with screw terminals, the screw is connected to the terminal and is a good location to put a probe.

Current measurements are slightly more complicated because they must go in series with the circuit being measured. Current meters measure the voltage across a known resistor. The lower the current range, the higher the resistance. In order to measure the current consumption in modes like EM2 (usually less than 10 µA), the resistance is usually too high for the EFR32 to start up. A workaround to this is to put the current meter in series with a short, start the device, and then remove the short to measure current.

The EFR32xG22E Explorer Kit has the footprint for a mini-simplicity header on the back of the board, although this connector is not populated. Mini-simplicity headers can be used to power the device from a board that has AEM, and use Energy Profiler to measure the board's current consumption. See application note AN958 for more information about the mini-simplicity header.

Software Examples#

Several energy optimized examples are available on our GitHub page.

No.

Example

Document

Protocol

Type

1

Bluetooth - SoC Energy Harvesting Sensor

Readme

BLE

Sensor

2

Bluetooth RAIL - SoC Energy Harvesting Sensor

Readme

Bluetooth RAIL

Sensor

3

Bluetooth RAIL - SoC Energy Harvesting Kinetic Switch

Readme

Bluetooth RAIL

Switch

4

Bluetooth - SoC Energy Harvesting Application Observer

Readme

BLE

Observer

5

Zigbee - SoC GPD Energy Harvesting Sensor

Readme

Zigbee

Sensor

6

Zigbee - SoC GPD Energy Harvesting Switch

Readme

Zigbee

Switch

7

Zigbee GPC - SoC Energy Harvesting Observer

Readme

Zigbee

Observer

Sample App Measurements#

Measurements were conducted on the Dual Harvester shield and the Kinetic Harvester shield from the Kinetic Energy Harvesting bundle BRD8200A.

Two types of measurements are conducted:

  • V_MCU voltage measurements

    • Showing the output voltage of the PMIC on the harvester board supplying the EFR32xG22E on the Explorer Kit.

  • IV_MCU current measurements

    • As a voltage measurement using an oscilloscope across a 10 Ω resistor.

    • As a current measurement using a DC power analyzer configured as an ammeter inserted in the supply path.

Voltage and current measurement setup for bt_rail_soc_energy_harvesting_kinetic_switch#

These measurements are conducted on the Kinetic Switch shield. The EFR32xG22E Explorer Kit is programmed with the sample application. The Kinetic Switch board is attached to the EFR32xG22E Explorer Kit. Two types of measurements are conducted:

  • Oscilloscope measurements showing concurrent traces of V_MCU and I_MCU. (I_MCU is measured as a voltage drop across a 10 Ω resistor inserted in the supply path).

  • I_MCU Current trace measurement, where a DC power analyzer, Agilent N6705B, configured as an ammeter, is inserted in series with the supply path.

BRD8202A kinetic harvester shield dc power analyzer measurementsBRD8202A kinetic harvester shield dc power analyzer measurements

BRD8202A kinetic harvester shield oscilloscope measurementsBRD8202A kinetic harvester shield oscilloscope measurements

N6705B current trace measurement of I_MCUN6705B current trace measurement of I_MCU

N6705B current trace measurement of I_MCU

Oscilloscope Voltage measurements of V_MCU and I_MCUOscilloscope Voltage measurements of V_MCU and I_MCU

Oscilloscope Voltage measurements of V_MCU and I_MCU (as voltage drop across 10 Ω resistor). Voltage across shunt resistor on Y-axis.

Oscilloscope Voltage measurements of V_MCU and I_MCUOscilloscope Voltage measurements of V_MCU and I_MCU

Oscilloscope Voltage measurements of V_MCU and I_MCU (as voltage drop across 10 Ω resistor). V_MCU voltage on Y-axis.

Voltage and current measurement setup for: BLE and ZigBee Sensor Applications#

BLE and ZigBee SensorBLE and ZigBee Sensor

These measurements are conducted on the Dual Harvester shield.

The EFR32xG22E Explorer Kit is programmed with the sensor sample applications:

  • ZigBee

  • BT Rail SoC

  • BT SoC

The Dual Harvester shield is attached to the EFR32xG22E Explorer Kit as described in UG591.

SRC2 on the Dual Harvester shield is supplied with 2.6 V from a current limited voltage supply.

Two types of measurements are conducted:

  • I_MCU Current trace measurement, where a DC power analyzer, Agilent N6705B, configured as an ammeter, is inserted in series with the supply path. Average current measured of the radio transmission.

  • I_MCU Current trace measurement, where a DC power analyzer, Agilent N6705B, configured as an ammeter, is inserted in series with the supply path. Average current measured across the entire application cycle.

ZGP wake upZGP wake up

Zoom on the wake up period of the application

ZGP repeat cycleZGP repeat cycle

Markers set at the application repeat cycle, 90 seconds

BT Rail WakeupBT Rail Wakeup

Zoom on the first wake up period of the application

BT Rail Second WakeupBT Rail Second Wakeup

Zoomed at the second wakeup period of the application

BT Rail Third WakeupBT Rail Third Wakeup

Zoom on the third wake up period of the application

BT Rail TXBT Rail TX

Zoomed on the three TX periods of the application

BT Rail application repeatBT Rail application repeat

Markers set at the application repeat cycle, 25 seconds. max of 500 M readings per datalog

BT SOC Sensor wakeupBT SOC Sensor wakeup

Zoom on the wake up period of the application

BT SOC Sensor application repeatBT SOC Sensor application repeat

Markers set at the application repeat cycle, 25 seconds