What are the hardware and software design considerations when using EFM32 in energy harvesting applications?
New energy sources that generate electric current by harvesting ambient energy that is ever present in the environment have emerged in the wake of low-energy consuming electronics. Energy harvesting is particularly suited for applications where battery power is impractical, as in the case of devices that are inaccessible after installation.
The low energy consumption of EFM32 MCUs makes them ideal for use in applications powered by harvested energy. Powering the EFM32 with an energy harvester that can always generate more current than the application uses requires no special precautions to be taken. However, small harvesters used with MCUs normally show harvester output current being less than the peak current consumption.
Fig: Typical current consumption
Since active mode consumption is higher than the harvesting output, it becomes necessary to store the surplus energy that is harvested during the idle periods. This is done by adding an energy bank between the energy harvester and the MCU, which powers the device when current consumption is high.
Fig: Energy harvesting block schematics
Aside from general recommendations on energy optimization, there are some additional things to be considered when writing software for energy harvesting applications. For one, fast start-up should be catered for. This is because when power-on reset is released, it is important to go into sleep mode fast so as to allow the energy bank to recharge before it is depleted. It is possible to enter sleep mode during the start-up code, which gives the energy source time to charge the energy bank for a while. Another consideration is to try and avoid burnout. Once the MCU is past the first power-on reset, further resets should be avoided.
Read the complete application note here for more details on all of the above.