A Hardware Platform for Efficient Multi-Modal Sensing with Adaptive Approximation

04/06/2018 ∙ by Phillip Stanley-Marbell, et al. ∙ University of Cambridge 0

We present Warp, a hardware platform to support research in approximate computing, sensor energy optimization, and energy-scavenged systems. Warp incorporates 11 state-of-the-art sensor integrated circuits, computation, and an energy-scavenged power supply, all within a miniature system that is just 3.6 cm x 3.3 cm x 0.5 cm. Warp's sensor integrated circuits together contain a total of 21 sensors with a range of precisions and accuracies for measuring eight sensing modalities of acceleration, angular rate, magnetic flux density (compass heading), humidity, atmospheric pressure (elevation), infrared radiation, ambient temperature, and color. Warp uses a combination of analog circuits and digital control to facilitate further tradeoffs between sensor and communication accuracy, energy efficiency, and performance. This article presents the design of Warp and presents an evaluation of our hardware implementation. The results show how Warp's design enables performance and energy efficiency versus ac- curacy tradeoffs.



There are no comments yet.


page 1

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 The Warp Hardware Platform

We designed Warp to provide a greater range of energy and correctness tradeoffs than is available using commercially-available off-the-shelf platforms. Warp achieves this greater flexibility by integrating sensors having a range of hardware-implemented precisions and accuracies, by incorporating new hardware facilities for approximation (Section 1.1), and by powering the entire platform from scavenged energy using a miniature photovoltaic array (Section 1.2). Integrating these facilities into 3.6 cm3.3 cm0.5 cm (Section 1.3) makes it feasible to deploy Warp in realistic use cases. Figure 1 shows the system organization of Warp.

Sensor Supply Accuracy Range Interface Precision Significant Digits and Coefficient
Range of Variation for 100 z-axis
(V) (Noise Measure) (bits/sample) Measurements Performed at 2.5V.
MMA8451Q accelerometer 1.95 – 3.6 99 – 126 g/ 8 or 14 0 digits, 1 digits, COV: 94.1%
BMX055 accelerometer 2.4 – 3.6 150 g/ 8 or 12 1 digits, 4 digits, COV: 0.9%
ADXL362 accelerometer 1.6 – 3.5 175 – 550 g/ 4, 8, or 12 0 digits, 1 digits, COV: 5.6%
L3GD20H gyroscope 2.2 – 3.6 0.011 °/s/ 8 or 16 0 digits, 1 digits, COV: 115.8%
BMX055 gyroscope 2.4 – 3.6 0.014 °/s/ 8 or 16 0 digits, 1 digits, COV: 118.1%
MAG3110 magnetometer 1.95 – 3.6 0.25 – 0.4 T 8 or 16 1 digits, 3 digits, COV: 1.3%
BMX055 magnetometer 2.4 – 3.6 0.3 – 1.4 T 8 or 13 (-, -), 15 (-) 1 digits, 1 digits, COV: 2.2%
SI7021 hygrometer 1.9 – 3.6 2% accuracy 8, 10, 11, or 12
0.025–0.2% precision
HDC1000 hygrometer 3.0 – 5.0 4% accuracy 14
0.1% precision
LPS25H barometer 1.7 – 3.6 0.01 – 0.03 hPa 8, 16, or 24
BMP180 barometer 1.6 – 3.6 0.03 – 0.06 hPa 8, 16, or 19
HDC1000 thermometer 3.0 – 5.0 0.2°C 14
SI7021 thermometer 1.9 – 3.6 0.3°C 11, 12, 13, or 14
ADXL362 thermometer 1.6 – 3.5 0.5°C 4 or 12
TMP006B thermometer 2.2 1°C 8 or 14
BMP180 thermometer 1.6 – 3.6 1°C 8 or 16
MAG3110 thermometer 1.95 – 3.6 8
L3GD20H thermometer 2.2 – 3.6 8
LPS25H thermometer 1.7 – 3.6 2°C 8 or 16
BMX055 thermometer 2.4 – 3.6 2°C 8
TCS3772 photometer 2.7 – 3.3 14%–35% Irradiance Resp. 8 or 16 per R/G/B/clear
Table 1: Operating voltage ranges together with precision, accuracy, and noise properties of the sensor integrated circuits in Warp. There are 11 sensor integrated circuits, each measuring one or more of eight physical phenomena, for a total of 21 sensors. Many of Warp’s sensor integrated circuits also include software-accessible temperature sensors (for calibration).

The sensors in Warp cover eight sensing modalities: ➊ temperature, ➋ acceleration in three axes, ➌ angular rate in three axes, ➍ magnetic flux density in three axes (often used as a digital compass), ➎ humidity, ➏ pressure (for measuring, e.g., atmospheric pressure or elevation), ➐ infrared (IR) radiation, and ➑ color (a red-green-blue-clear sensor with filters for 615 nm, 525 nm, and 465 nm light). For each of the first six modalities, Warp contains at least two different state-of-the-art sensor hardware implementations, each of which represents a different point in the tradeoff space between precision, accuracy, power dissipation, and performance. For example, for atmospheric pressure, Warp contains both an LPS25H integrated circuit (IC) as well as a BMP180 IC. For each sensing modality, the sensors provide a range of accuracies and precision as specified by their datasheets (i.e., Type B uncertainty (17)). Table 1 lists the sensors, their operating voltage ranges, and appropriate metrics for characterizing their output precision, accuracy, and noise.

The sensors in Table 1 have a range of accuracies and output noise. By including multiple hardware implementations of sensors for the same sensing modality. Warp allows its users to evaluate techniques that tradeoff accuracy for power. Having multiple sensors for the same modality also makes it possible to implement techniques for improving accuracy, such as using simultaneous sampling together with signal correlation to improve signal-to-noise ratios in sensing applications.

For the accelerometers, gyroscopes, and magnetometers in Warp, the last column in Table 1 quantifies the number of measurement value digits that remain stable in a set of 100 measurements conducted with the measurand nominally unchanging. These results show that the noise inherent in measurements using the sensors in Table 1

as represented by the number of significant digits or the coefficient of variation (COV) is consistently large: In all the measurements, the ratio of the standard deviation to the mean (i.e., the coefficient of variation (COV)) is at least 0.9% and in some cases over 110%. Because of this variation, the impact of sensor data approximation techniques which introduce random errors in sensor values 

(10) or which introduce quantization noise without decreasing a signal’s dynamic range (13) may be naturally masked by inherent measurement uncertainty which the applications which consume sensor data must already contend with. Because its sensors allow sampling at a range of bits per sample (column 4 of Table 1), Warp also supports applications which may be intolerant of noise, but which can tolerate reduced precision or reduced dynamic range.

1.1 Hardware support for approximate sensing

Warp implements two complementary hardware facilities for trading improved sensor energy efficiency for sensor data precision, sensor data accuracy, sensor access reliability, and sensor measurement latency.

Sensor accuracy and reliability tradeoffs: Warp implements the Lax (10) sensor hardware approximation technique using two software-controlled voltage regulators. Warp uses two miniature voltage regulators, both occupying less than 7 mm in circuit board area. The Warp printed circuit board design can be populated with one regulator with a programmable output voltage range of either 1.8 V to 2.5 V in steps of 0.1 V or 2.6 V to 3.3 V in steps of 0.1 V, and a second regulator with a fixed output voltage of either 1.05 V, 1.1 V, 1.2 V, 1.225 V, 1.26 V, 1.5 V, 1.6 V, 1.8 V, 1.86 V, 1.95 V, or 2.1 V. The outputs of these two regulators are fed into a software-controlled analog switch. Using this configuration, Warp can control sensor supply voltages to be any value in the range of 1.8 V to 2.5 V or 2.6 V to 3.3 V in steps of 0.1 V, together with the additional voltages listed above which have to be fixed when the components are mounted on the circuit board. Warp’s sensor supply voltage changes have a typical hardware latency of 315 s due to the output voltage switching latency of the voltage regulators and the switching time of the analog switch.

Sensor communication reliability tradeoffs: Warp implements a hardware facility to allow software control of the pull-up resistors which are mandatory for the I2C serial communication standard used by most sensor integrated circuits. Disabling the I/O pull-up reduces the reliability of communication, but removes the main source of power dissipation for open-drain interfaces such as I2C. For an I2C interface operating at an I/O supply voltage of 2.5 V, the average power dissipated in a 4.7 k pull-up resistor is 1.3 mW; this is more than the power dissipation of most sensors in Warp.

1.2 Energy scavenging

The Warp platform contains a photodiode array for energy scavenging. A boost regulator (TI TPS61070) serves as a charge pump between the series connected photodiodes and a supercapacitor array having a total capacitance of 0.72 F.

1.3 Implementation miniaturization

We optimized the implementation of Warp for size to achieve a form factor that is small enough for use in user studies (e.g., as a wearable platform). To achieve this level of integration, we implemented Warp using a 10-layer printed circuit board process with a board thickness of 62 mils (1.6 mm). Fully populated with components, the Warp prototype is only ~5 mm thin. The platform is programmed via an auxiliary extension of the main implementation board which contains a second processor (identical to the main processor).

2 Evaluation

We use a Keysight B2962A source-measure unit (SMU) for power measurements. The B2962A is a laboratory-grade 6.5-digit 4-quadrant SMU intended for low-power circuit characterization. It provides current sourcing precision of 10 fA, voltage sourcing precision of 100 nV, current measurement precision of 10 nA, and voltage measurement precision of 200 mV. These current and voltage measurement specifications enable us to measure power dissipation to a resolution of better than 1 W.

Figure 2: Warp enables tradeoffs between I/O power dissipation, energy per bit, and I/O data transfer speeds.

2.1 Performance versus power tradeoff results

Figure 2(a) shows a representative example of how the power dissipation for accessing a sensor (the BMX055 gyroscope) varies with I/O speed. For the BMX055 gyroscope, power dissipation increases by over 0.2 mW as the speed at which the sensor is accessed is increased from 1 kb/s to 64 kb/s. Even though power dissipation increases with I/O speed, Figure 2(b) shows that the energy per bit for I/O decreases exponentially with I/O speed.

Figure 2(c) and Figure 2(d) show similar trends in I/O power and energy per bit for seven of Warp’s sensors and shows how power dissipation varies by 0.2 mW – 0.3 mW as a function of I/O speed. The magnitude of this change in I/O power dissipation is greater than the power dissipation of many of the sensors in the platform, motivating the need for precise and approximate techniques for improving I/O power efficiency.

(a) Distributions of -axis magnetic flux for BMX055 operating at supply voltages from 1.8 V to 2.5 V.
(b) 100 measurements of -axis magnetic flux for BMX055 at 2.2 V. Passes normality test (Gaussian overlaid).
(c) Distribution of -axis acceleration for ADXL362 operating at supply voltages from 1.8 V to 2.5 V.
(d) 100 measurements of -axis acceleration for ADXL362 at 2.2 V. Fails normality test (Gaussian overlaid).
Figure 3: Distributions of sensor readings differ across sensor modalities and across integrated circuit implementations and vary with supply voltage.

2.2 Sensor accuracy versus voltage tradeoff results

We evaluate the tradeoff between accuracy of sensor data, power, and performance, by operating all three of the accelerometers and two of the gyros in Warp over a range of supply voltages. For each of the three axes of these five sensors (15 signal dimensions in total), we operate the sensors at one of eight supply voltages uniformly spaced between 1.8 V and 2.5 V, a total of 120 measurement configurations. In each of these 120 measurement configurations, we compare the average of 100 sensor signal measurements at each of the eight supply voltage settings to an average of 100 sensor measurements when the sensor is operating under identical conditions but at a supply voltage of 2.5 V. Figure 3 shows examples of the distributions of values from two of the 15 signal types. Figure 3(a) shows the distributions of z-axis magnetic flux values returned by the BMX055 magnetometer (typically used in consumer applications as a digital compass), in a fixed orientation, as we change the supply voltage of the sensor from 1.8 V to 2.5 V. Figure 3

(b) shows the distribution of sensor values measured at 2.5 V, with a histogram of random variates drawn from a Gaussian distribution with the same mean and variance overlaid. The null hypothesis that the data is distributed according to the Gaussian with the same mean and variance as the sample is not rejected at the 5% level based on the Cramér-von Mises test.

Figure 3(c) shows the distributions of y-axis acceleration sensor values obtained from the ADXL362 accelerometer in a fixed orientation, as a function of sensor supply voltage. The distributions in Figure 3(c) show significantly greater separation than those in Figure 3(a) and are distinctly non-Gaussian, as the overlay of the Gaussian with the same mean and variance in Figure 3(d) shows. The null hypothesis that the data is distributed according to the Gaussian with the same mean and variance as the sample is rejected at the 5% level based on the Cramér-von Mises test.

Figure 4, Figure 5, and Figure 6 show the convergence of the arithmetic mean of 100 samples taken at each sensor operating voltage, as a function of voltage. The results show that the accelerometers and magnetometers in Warp provide a useable tradeoff between supply voltage (and hence power dissipation) and accuracy with respect to the output at a reference operating voltage (2.5 V in our measurements). The gyroscopes provide less distinct trend in improving accuracy from higher supply voltage operation. We attribute this observation to the higher variance in the output of the gyros. As the last column of Table 1 shows, both the BMX055 and the L3GD20H gyroscopes have high coefficients of variation of over 115%, indicating that the value of the standard deviation across the 100 samples in each measurement set was even larger than the value of the mean.


Figure 4: Acceleration inaccuracy (difference in value versus value when supply voltage is at the nominal 2.5 V). The nine data series in the plots are acceleration readings across three axes (, , and ) of the three accelerometers in Warp.

Figure 5: Magnetic flux inaccuracy (difference in value versus value when supply voltage is at the nominal 2.5 V). The six data series in the plots are angular rate readings across three axes (, , and ) of the two magnetometers in Warp.

Figure 6: Angular rotation rate inaccuracy (difference in value versus value when supply voltage is at the nominal 2.5 V). The six data series in the plots are angular rate readings across three axes (, , and ) of the two gyroscopes in Warp.

3 Conclusions

Data from embedded sensing systems form the foundation for applications ranging from wearable health monitors to infrastructure monitoring and augmented reality. In many of these sensor-driven systems, energy is severely constrained and techniques to improve energy efficiency or to trade energy efficiency for some other system metric are valuable. This article introduces Warp, an open hardware platform for research in energy efficiency, performance, and approximation tradeoffs for energy-scavenged systems. Warp contains a total of 21 sensors covering eight sensing modalities, a processor, a Bluetooth Low Energy (Bluetooth LE) radio for communication, and is powered by a photovoltaic energy scavenging array, all within a miniature system of just 3.6 cm3.3 cm0.5 cm and complements existing research platforms targeted at precise execution on RF-scavenged energy (18).

Warp integrates custom hardware in the form of programmable I/O pullups and dynamically reconfigurable sensor supply voltages to enable performance and energy efficiency versus accuracy tradeoffs. This article presents an overview of the design of Warp and presents measurement results demonstrating Warp’s performance and energy-efficiency versus accuracy tradeoffs.

This research is supported by an Alan Turing Institute award TU/B/000096 under EPSRC grant EP/N510129/1, and by Royal Society grant RG170136.


  • (1) Carbin M, Misailovic S, Rinard MC (2013) Verifying quantitative reliability for programs that execute on unreliable hardware in Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA ’13. (ACM, New York, NY, USA), pp. 33–52.
  • (2) Bornholt J, Mytkowicz T, McKinley KS (2014) Uncertain: A First-order Type for Uncertain Data in Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’14. (ACM, New York, NY, USA), pp. 51–66.
  • (3) Sampson A, et al. (2011) Enerj: Approximate data types for safe and general low-power computation in Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’11. (ACM, New York, NY, USA), pp. 164–174.
  • (4) Miguel JS, Badr M, Jerger NE (2014) Load value approximation in Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-47. (IEEE Computer Society, Washington, DC, USA), pp. 127–139.
  • (5) Darulova E, Kuncak V (2017) Towards a compiler for reals. ACM Trans. Program. Lang. Syst. 39(2):8:1–8:28.
  • (6) Kim Y, Behroozi S, Raghunathan V, Raghunathan A (2017) Axserbus: A quality-configurable approximate serial bus for energy-efficient sensing in Low Power Electronics and Design (ISLPED, 2017 IEEE/ACM International Symposium on. (IEEE), pp. 1–6.
  • (7) Lee S, John LK, Gerstlauer A (2017) High-level synthesis of approximate hardware under joint precision and voltage scaling in Proceedings of the Conference on Design, Automation & Test in Europe. (European Design and Automation Association), pp. 187–192.
  • (8) Hoffmann H, et al. (2011) Dynamic knobs for responsive power-aware computing in Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVI. (ACM, New York, NY, USA), pp. 199–212.
  • (9) Esmaeilzadeh H, Sampson A, Ceze L, Burger D (2012) Architecture support for disciplined approximate programming in Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVII. (ACM, New York, NY, USA), pp. 301–312.
  • (10) Stanley-Marbell P, Rinard M (2015) Lax: Driver interfaces for approximate sensor device access in 15th Workshop on Hot Topics in Operating Systems (HotOS XV). (USENIX Association, Kartause Ittingen, Switzerland).
  • (11) Stanley-Marbell P, Rinard M (2017) Error-efficient computing systems. Foundations and Trends in Electronic Design Automation 11(4):362–461.
  • (12) Lingamneni A, et al. (2012) Algorithmic methodologies for ultra-efficient inexact architectures for sustaining technology scaling in Proceedings of the 9th Conference on Computing Frontiers, CF ’12. (ACM, New York, NY, USA), pp. 3–12.
  • (13) Stanley-Marbell P, Rinard M (2016) Reducing serial i/o power in error-tolerant applications by efficient lossy encoding in Proceedings of the 53rd Annual Design Automation Conference, DAC ’16. (ACM, New York, NY, USA), pp. 62:1–62:6.
  • (14) Stanley-Marbell P, Rinard M (2015) Efficiency limits for value-deviation-bounded approximate communication. IEEE Embedded Systems Letters 7(4):109–112.
  • (15) Stanley-Marbell P, Marculescu D (2006) A Programming Model and Language Implementation for Concurrent Failure-Prone Hardware in Proceedings of the Workshop on Programming Models for Ubiquitous Parallelism.
  • (16) Stanley-Marbell P (2009) Encoding efficiency of digital number representations under deviation constraints in IEEE Information Theory Workshop (ITW’09). pp. 203–207.
  • (17) Kirkup L, Frenkel RB (2006) An introduction to uncertainty in measurement: using the GUM (guide to the expression of uncertainty in measurement). (Cambridge University Press).
  • (18) Buettner M, et al. (2008) Rfid sensor networks with the intel wisp in Proceedings of the 6th ACM conference on Embedded network sensor systems. (ACM), pp. 393–394.