Date of Award


Document Type

Thesis (Undergraduate)


Department of Computer Science

First Advisor

Jacob Sorber

Second Advisor

David Kotz


Harvested energy makes it possible to deploy sensing devices long-term with minimal required upkeep. However, as devices shrink, unpredictable power supplies make it difficult for system designers to anticipate the behavior of these devices. Ekho is tool that records and emulates energy harvesting conditions in order to enable accurate and repeatable testing of these sensing devices. Ekho uses the concept of I-V curves — curves that describe harvesting current in relation to supply voltage — in order to accurately represent harvesting conditions in a form that is independent of the sensing platform and the type of energy that is being harvested. This paper describes extensions to Ekho; it presents the design and an improved implementation, as well as preliminary testing and results. My role in this project has been to reimplement and to extend Ekho. This software was unmaintainable and considerably limited in its ability to emulate energy harvesting conditions. The first implementation of Ekho was a hardware design for an FPGA, which made use of specialized circuits. I refactored this code for a microcontroller, achieving even better performance than before: this new implementation can record harvesting conditions and can emulate changing I-V curves, and I have added back-end programs to ease processing and formatting of data. Initial results show that Ekho is able to replay I-V surfaces while readjusting to the harvesting conditions as frequently as once in 4.3μs. Ekho is able to emulate changing energy conditions, adapting both to changes in supply voltage and energy availability. Ekho can update the I-V curve, which the I-V controller holds in memory during emulation, as frequently as once per millisecond. These results show that Ekho is responsive to changes in the harvesting current and could be working properly.


Originally posted in the Dartmouth College Computer Science Technical Report Series, number TR2013-732.