EFM32

EFM32 Gecko MCUs are a family of energy-friendly, mixed-signal 32-bit microcontroller integrated circuits from Energy Micro (now Silicon Labs) based on ARM Cortex-M CPUs, including the Cortex-M0+, Cortex-M3 and Cortex-M4. 
Overview.
EFM32 microcontrollers have a majority of their functionality available down to their deep sleep modes, at sub-microamp current consumption, enabling energy efficient, autonomous behavior while the CPU is sleeping. EFM32 combines this with quick wakeups and efficient processing to reduce the impact of the CPU when code needs to be executed. 
A good example of a deep sleep peripheral on EFM32 is the "Low Energy Sensor Interface" (LESENSE), which is capable of duty-cycling inductive, capacitive, and resistive sensors while autonomously operating in Deep Sleep mode. Another important aspect of the Gecko MCUs is that the peripherals have a direct connection between each other, allowing them to communicate without CPU wake up and intervention. This interconnect is known as the "Peripheral Reflex System" (PRS).
Significant functionality is available at the lower Stop and Shutoff energy modes. The Stop Mode includes analog comparators, watchdog timers, pulse counters, I2C links, and external interrupts. In Shutoff mode, with 20–100 nA current consumption, depending on product, applications have access to GPIO, reset, a real-time counter (RTC) and retention memory.
The EFM32 family consists of a number of sub-families, ranging from the EFM32 Zero Gecko, based on an ARM Cortex-M0+, to the higher performing EFM32 Giant Gecko and Wonder Gecko, based on Cortex-M3 and Cortex-M4 respectively. EFM32 technology is also the foundation for EFR32 Wireless Geckos, a portfolio of Sub-GHz and 2.4 GHz wireless system on a chip (SoC) devices.
Product families:
Key properties.
The important advantage of the EFM32 MCU portfolio is energy efficiency. The energy efficiency stems from autonomous operations in deep sleep modes, low active and sleep currents, and fast wakeup times. Together, these characteristics reduce the integrated energy (power over time) over the lifetime of an application. 
EFM32 devices are also constructed to reduce development cycles for a variety of products, from smart metering to industrial applications and more. They are pin/software compatible, scalable across wide application requirements, and are compatible with multiple development platforms. Additionally, because the MCU architecture is the common fundamental piece of the wireless Gecko portfolio (EFR32) with both software and hardware (pin/package) compatibility, the EFM32 products offer a simplified pathway to wireless applications.
Features.
The EFM32 MCU family has some critical features useful for IoT applications. The major architectural features are the low-energy modes design and the Peripheral Reflex System (PRS), which gives developers a peripheral interconnect system with eight triggers to handle task execution without CPU intervention. At a low level, the MCU can be broken down into eight categories: the core and memory, clock management, energy management, serial interfaces, I/O ports, timers and triggers, analog interfaces, and security modules. 
In terms of the core CPU, the EFM32 MCUs integrate the ARM Cortex-M series technology, spanning from the Cortex-M0+ to the Cortex-M4. 
To enable the Gecko MCU operation and take advantage of the ultralow power architecture, applications can operate with a main input clock rate of 4 MHz to 48 MHz. To reduce the need for external electronic components, the EFM32 integrates low frequency and ultralow frequency clocks as well. The MCUs also integrate internal voltage regulators for simplified, more compact system designs.
In addition to CPU and clock rate flexibility for specific applications, the EFM32 portfolio offers a broad range of memory resource options, for application storage (Flash), application execution (RAM), and other needs such as RTOS implementation. Devices include internal Flash memory as low as 4 kB and as high as 1024 kB, and RAM as low as 2 kB and as high as 128 kB.
To enable applications to sense, control, and communicate with a single low-power microcontroller, the EFM32 MCUs contain complete analog and digital interfaces. Serial digital interfaces include USART, low energy UART, I2C, and USB. The timer and triggers block of the MCU includes a cryotimer, low energy pulse counter (PCNT), and backup real-time-counter (RTC). Analog modules include ADCs, DACs, operational amplifiers, and analog comparators. For applications that demand heightened security protections, the EFM32 MCUs offer various hardware crypto engines and cyclic redundancy check (CRC). For general I/O, the MCUs feature up to 93 GPIO pins, and several variants feature LCD controllers.
Design and development resources.
To quickly design, develop, build, and test EFM32 applications, developers have various resources available to them: a free Integrated Development Environment (IDE), performance analysis tools, configuration tools and utilities, flexible compilers and development platforms, software stacks, reference code and design examples, app notes, training videos, whitepapers, and more.
Silicon Labs Simplicity Studio is a free, Eclipse-based development platform with graphical configuration tools, energy-profiling tools, wireless network analysis tools, demos, software examples, documentation, technical support and community forums. It also includes flexible compiler tool options, including GCC for ARM, Keil, IAR Embedded Workbench, and other third-party tools.
Two of the most popular development tools within Simplicity Studio IDE are the Advanced Energy Monitor (AEM) and the Network Debugger called “Packet Trace”. The Advanced Energy Monitor is an EFM32 tool that allows developers to do energy profiling while their application is running. It also allows for direct code correlation to optimize not just the hardware design, but the software too. The Network Debugger is a tool that allows developers using the wireless Gecko MCUs to trace network traffic and packets throughout nodes on the network.
EFM32 is supported by multiple third-party Real-time operating system (RTOS) and software libraries, drivers, and stacks. A few RTOS solutions that are enabled with the EFM32s are Micro-Controller Operating Systems (uC/OS) (Micrium), FreeRTOS, GNU Chopstx, embOS (Segger), and mbed OS (ARM). In October 2016, Silicon Labs acquired Micrium. In addition to IoT-critical middleware stacks such as TCP/IP, Micrium provides a certified commercial-grade RTOS that enables embedded IoT designs to handle task management in real time, which can be important for some MCU applications and even more essential for wireless applications. Some example projects can be found on the Micrium website.
Getting started.
EFM32 starter kits are available for evaluation purposes and to gain familiarity with the portfolio. Each starter kit contains sensors and peripherals that help illustrate device capabilities as well as serve as a starting point for application development. Using Simplicity Studio software also grants access to kit information and the ability to program the starter kit with demos and code examples. Most starter kits contain EEPROM with board IDs to enable automated setup when a kit is connected to Simplicity Studio IDE.
Some of the EFM32 kits are ARM mbed-enabled. These kits support ARM mbed right out of the box, and are supported in Simplicity Studio development tools and community forums.
Featuring the Giant Gecko MCU with 1024 KB of Flash and 93 GPIO, the EFM32 Giant Gecko Starter Kit, shown below, is one of the latest starter kit offerings in the EFM32 family. 
Other EFM32 starter kits include: 
Energy modes.
The EFM32 is designed to achieve a high degree of autonomous operation in the low-energy modes. Multiple ultralow energy modes are available for turning energy usage and significantly reducing power consumption:
Core technology.
To achieve its power and energy-efficiency features, EFM32 products utilize ultralow active and idle power, fast wakeup and processing times, and most important, the ability to intelligently interact with peripherals and sensors autonomously without waking up the CPU and consuming more power. 
In active Run Mode, the EFM32 only consumes 114 µA/MHz while running real-life code at 32 MHz and 3V supply. This is also the mode where process time matters, which is one of the main benefits of a 32-bit MCU. Working against power consumption, however, is maximum clock speed. Silicon Labs carefully designs the EFM32s to optimize performance and low power together by designing for maximum clock speed of 48 MHz. MCUs with faster clocks in the 100 MHz+ range will inevitably consume more power in Active Mode.
Beyond the energy savings in Run Mode, the EFM32 is ideal for low duty cycle applications where it can take advantage of operating in lower energy states. The lower energy states are outlined in the section above as EM1 (Sleep), EM2 (Deep Sleep), EM3 (Stop), and EM4 (Shutoff). The Autonomous Peripherals, Peripheral Reflex System, and LESENSE are the core technologies that come into play in the lower energy modes.
The Autonomous Peripheral feature ensures that peripheral devices can operate without waking up the CPU. There is also extensive Direct Memory Address (DMA) support with up to 16 channels, depending on the EFM32.
The Peripheral Reflex System boosts the capability of the Autonomous Peripherals, allowing for flexible configuration to create complex and powerful interconnections that bypass the CPU.
LESENSE is a unique EFM32 feature that allows the MCU to monitor up to 16 sensors in Deep Sleep mode. The EFM32 can do resistive sensing, capacitive sensing, and inductive sensing in this mode.
If needed, the EFM32 can wake up from Deep Sleep and engage the CPU in less than two microseconds.
Application examples of low-energy Gecko technology.
"ADC sensing applications (temperature):" In a demonstration with the Wonder Gecko MCU and a standard temperature thermistor, setting the ADC to sample the thermistor every second (@1 Hz rate) equates to 1.3 uA average current. In the real world, this would equate to a 220 mA-hr CR2032 coin cell battery lasting for close to 20 years. This same application could be implemented with LESENSE and preset thresholds, instead of using regular time interval ADC samples. In the case of LESENSE and irregular triggers, a threshold trigger rate of 1 Hz would still produce average current of 1.5 uA, which equates to 16.85-year battery life.
"Low-energy pulse counter for metrology:" Using the low energy pulse counter, the EFM32 could also be used in (pulsed) sensing applications. For example, with a magnetic Hall effect sensor, the EFM32 can convert rotational position to quantified speed or flow rate. This is a common situation in water or heat flow metering. The EFM32 can be used in Stop Mode (EM3) to count pulses and then calculate flow. Operating power consumption in this state could be as low as 650 nA (3Vdc), which has significant (positive) implications for battery-operated meters.
History.
The EFM32 microcontroller family is one of the two products of Energy Micro. The other being EFR4D Draco SoC radios.
Development tools.
The Gecko mbed compiler is available at: https://developer.mbed.org/compiler/#nav:/;