EEMBC® IoTMark™ is an objective, standardized benchmarking framework for measuring the energy efficiency of internet of things (IoT) edge nodes. We define an edge node, or "thing" of the IoT, as a platform with three primary parts: a sensor, a processor, and a radio interface. IoTMark determines the combined energy consumption of these elements as a way of helping designers choose the best microcontroller, RF components, and communications protocol for their application.Due to their ubiquity and size, IoT products have extraordinarily low power requirements. IoTMark helps developers understand how hardware choice impacts their battery life.
Battery life is often one of the most important factors in the design of an IoT edge node since many such platforms are deployed in settings where grid power is unavailable and human intervention to change batteries must be kept to a minimum. The processors in such applications, such as an array of solar panels in the desert, are typically relaying fixed amounts of data from the environment to an internet gateway at real-world speeds. As a result, maximizing processor performance is a much lower priority than maximizing battery run times.
IoTMark builds on EEMBC's experience in establishing the ULPMark™ benchmark family as a standard for measuring the energy consumption of ultra low-power microcontrollers in embedded applications. As such, IoTMark goes beyond the scope of ULPMark-CoreProfile and ULPMark-PeripheralProfile to include the energy consumption of the sensor interface and communications hardware needed to send data from the edge node to the network.
The IoTMark-BLE benchmark profile models a real IoT edge node consisting of an I2C sensor and a Bluetooth Low Energy (BLE) radio through sleep, advertise, and connected-mode operation. By running the benchmark, designers can better understand trade-offs between energy consumption and the selected connection interval, frequency, and sensor characteristics (such as buffering), among others. For example, the adjacent graph compares the energy cost of shorter and longer connection intervals for a group of three devices.
The IotMark-BLE profile establishes a clearly defined communications path between an emulated sensor, the edge node processor and an emulated gateway as shown in the diagram below. The benchmark measures the energy required to power the edge node platform and to run the tests fed by the benchmark. The IO Manager emulates the sensor in a real application and feeds data to the device under test (DUT). A verification test at the output of the radio ensures that the device actually read the sensor data.
The IoTMark-BLE user interacts with the DUT using the interface shown below, which allows a number of tightly defined parameters to be set, such as the platform voltage, how many bytes are read in the I2C phase, the speed of the I2C bus, the number of bytes the gateway sends to the device, and the advertise and connect transmit power. Default values are provided to enable apples-to-apples comparisons between DUTs, but the user can vary these to turn IoTMark-BLE into an analysis tool that shows the sensitivity of a design to each of the included parameters.
The IoTMark-BLE host UI contains a number of controls for interacting with the IoTConnect framework.
The physical measurement apparatus consists of the readily available, low-cost components shown below. At the center of the energy measurement capability is the STMicroelectronics PowerShield, which can measure energy down 100nJ.
The IoTConnect framework creates an extensible framework for probing an embedded system. Block diagram (left), actual implementation (right). Click to enlarge.
The working group is discussing plans for the next IoT benchmark.